iSCSI Plug-in

iSCSI-based filesystem images support

The iSCSI-plugin adds support to the openQRM server to boot nodes from iSCSI-targets. This mechanism is quite different from the use of nfs/nfsroot because iSCSI is a kind of "remote block device" and not a directory-based network-filesystem.  This block device is a "normal" ext2/3/reiserfs filesystem which can be mounted for use by the nodes.

About the iSCSI-target (server)

Note:  The iSCSI-targets are serving "real" hard disks or block device files (e.g. the enterprise iSCSI target).  The iSCSI-disks/files have a partition table and a "common" linux filesystem e.g. ext3, reiserfs,  gfs, etc.


Specific ISCSI-target handling for the QRM-server

You will need to download and install one of the above listed iSCSI targets and configure and start it on one of the systems in your network.


About the ISCSI-initiator (client)

The ISCSI-initiator has 2 parts :

    1. the ISCSI-initiator kernel module
    2. the ISCSI-daemon


When the ISCSI-initiator is started (how depends on the implementation) it
"discovers" all existing ISCSI-LUN's according to its configuration.


Here a detailed flow of the discovery procedure :



Specific handling for the QRM-nodes running ISCSI-filesystem images

During boot-up the linuxrc in the intird will insmod the iscsi module, create the iscsi-config file and startup the iscsid.
This causes the resource (or the iscsid daemon running on the node) to discover the ISCSI-targets LUN's according to its configuration.  It then sees the ISCSI-target LUN's as the next free scsi-device (e.g. /dev/sdb) and mounts it as the root filesystem. Then the system starts its initialization and starts as usual. 


Kernel support

There are a few dependencies for the ISCSI-initiator in the linux kernel:


openQRM comes with two kernels, one from each of the 2.4 and 2.6 streams with iscsi support. These kernels are compiled during the openQRM-server build process. The kernels are the vanilla sources plus the specific iscsi-module and daemon that fits the kernel version.

The iscsi-source-base changes often and there is currently a reorganization in progress involving the two major iscsi-initiator projects which will consolidate into one project.

Image configuration

To use filesystem images on an iSCSI-target some configuration parameters must be added to the openQRM configuration file $QRM_BASEDIR/etc/qrm.ini.

Parameters to be added:

For Example:

ISCSI_TARGET_NAME=node4

The logical name of the ISCSI-target


ISCSI_ROOT_PARTITION=1

The number of the root-partition on the ISCSI-device to connect to


ISCSI_LUN=0

The LUN on the ISCSI-target to connect


ISCSI_ROOT_FS_TYPE=ext3

The filesystem type on the ISCSI-device


ISCSI_PORT=3260

The ISCSI-target port to connect


ISCSI_HBA=0

The ISCSI-HBA to connect


ISCSI_INITIATOR=iqn.1987-05.com.cisco:01.fca433984997

The ISCSI-initiator name to authenticate with the ISCSI-target



Image creation


For information on image creation, please see this document.


RedHat

The following RedHat distributions have iSCSI support:

The following RPM is needed:


Reference URLs

ISCSI-Targets

ISCSI-Initiators