Linux iSCSI boot initialization program

SourceForge Logo

Welcome to the Linux iSCSI-init home page. iSCSI-init is an auxiliary program for Open-iSCSI. The program iscsi-init can be helpful if you intend to boot your linux system from or install on iSCSI LUN using Open-iSCSI software initiator. It can be called either from INITRD or in kickstart pre-install scripts to help with initialization and attaching iSCSI boot LUN. The program is mostly designed to work with iBFT (iSCSI boot firmware table). However, it also can be used when iBFT is not available (PXE boot, DHCP). In this case the program will obtain interface configuration and target info using DHCP. It uses DHCP option root-path (option 17) compliant with RFC4173 to obtain target parameters (target name, IP address, port, and etc). If iBFT is available, using this program will help to avoid hardcoded IP's in INITRD, and, therefore, make boot image transferable in case of IP changes. It also creates static routing entries to targets to enforce iSCSI traffic via specified in iBFT interfaces. This can be helpful in multipath configurations with two or more iSCSI sessions to the same target and dm-multipath on top.

The following is exactly what iscsi-init does in case of two boot scenarios:

  • iBFT is available:
    • configures network interfaces using parameters in iBFT;
    • creates static routing entries to the target IP's if in different subnets;
    • calls iscsistart to establish iSCSI sessions with the target.
  • iBFT is not available:
    • obtains interface and target configuration via DHCP;
    • configures network interfaces;
    • creates static routing entries to the target IP's if in different subnets;
    • calls iscsistart to establish iSCSI sessions with the target.

Use -i option if no iBFT avilable.

For example:

    iscsi-init -i eth0,eth1

The following example is a fragment of INITRD init which demonstrates usage of iscsi-init in RHEL5 initial RAM disk:

echo "Loading network drivers"
insmod /lib/bnx2.ko
echo "Reading iBFT, bringing up iSCSI interfaces, attaching to iSCSI storage"
iscsi-init
echo "Waiting for driver initialization"
stabilized --hash --interval 250 /proc/scsi/scsi
mkblkdevs
	

See more info on SourceForge Project HomePage

Contact e-mail address for this project is iscsi-init-users@lists.sourceforge.net


Last update: Sunday, May 24, 2009