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 :
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.
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.
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
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
For information on image creation, please see this document.
The following RedHat distributions have iSCSI support:
The following RPM is needed:
iscsi-initiator-utils
ISCSI-Targets
ISCSI-Initiators