67 lines
2.0 KiB
Plaintext
67 lines
2.0 KiB
Plaintext
Libiscsi is a clientside library to implement the iSCSI protocol
|
|
that can be used to access resource of an iSCSI Target.
|
|
|
|
The library is fully async with regards to iscsi commands and scsi
|
|
tasks, but a sync layer is also provided for ease of use for simpler
|
|
applications.
|
|
|
|
|
|
The src directory contain a handful of useful iscsi utilities
|
|
such as logging in to and enumerating all targets on a portal
|
|
and all devices of a target.
|
|
|
|
The examples directory contain example implementation of how to
|
|
access both the sync and acync api of libiscsi.
|
|
|
|
|
|
|
|
Libiscsi is a work in progress.
|
|
It aims to become a full async library for iscsi functionality,
|
|
including all features required to establish and maintain a iscsi
|
|
session, as well as a low level scsi library to create scsi cdb's
|
|
and parse/unmarshall data-in structures.
|
|
|
|
|
|
Installation
|
|
============
|
|
./autogen.sh
|
|
./configure
|
|
make
|
|
sudo make install
|
|
|
|
Build RPM
|
|
=========
|
|
To build RPMs run the following script from the libiscsi root directory
|
|
./packaging/RPM/makerpms.sh
|
|
|
|
iSCSI URL Format
|
|
================
|
|
iSCSI devices are specified by a URL format on the following form :
|
|
iscsi://[<username>[%<password>]@]<host>[:<port>]/<target-iqn>/<lun>
|
|
Example:
|
|
iscsi://server/iqn.ronnie.test/1
|
|
When using CHAP authentication, username and password can be specified as part of the URL
|
|
iscsi://ronnie%password@server/iqn.ronnie.test/1
|
|
but this may make the user and password visible in log files as well as in ps aux output.
|
|
So it is also possible to provide either just the password or both the password and username
|
|
via environment variables.
|
|
The username and/or password can be set via
|
|
LIBISCSI_CHAP_USERNAME=ronnie
|
|
LIBISCSI_CHAP_PASSWORD=password
|
|
|
|
Example:
|
|
LIBISCSI_CHAP_PASSWORD=password iscsi-inq iscsi://ronnie@10.1.1.27/iqn.ronnie.test/1
|
|
|
|
|
|
IPv6 support
|
|
============
|
|
Libiscsi supports IPv6, either as names resolving into IPv6 addresses or when
|
|
IPv6 addresses are explicitely set in the URL.
|
|
When specifying IPv6 addresses in the URL, they have to be specified in
|
|
[...] bracket form.
|
|
|
|
Example:
|
|
iscsi://[fec0:2727::3]:3260/iqn.ronnie.test/1
|
|
|
|
|