The following is posted on behalf of Shyam Iyer, an engineer on Dell's Linux Engineering team

Storage provisioning is a cumbersome, time consuming and complex procedure and Dell has been working with its operating system partners in simplifying this process. At the Redhat Summit 2009 we presented a new architecture to simplify storage provisioning via industry standard iSCSI and iSNS protocols. With RHEL6 we are bringing this architecture to its conclusion by presenting this new way of simplifying storage provisioning to our Linux customers.

With this implementation, administrators can easily provision or remove storage from the iSCSI SAN and the iSCSI initiator will log in/log out of the storage LUNs automatically. If you are a virtualization shop running direct iSCSI sessions from your virtual machines, then you will find that once you have done the initial configuration, storage provisioning is very easy to automate.

The implemented solution can be realized by the following steps with the current RHEL 6 beta:

RHEL 6 Linux iSNS server configuration

  • Install the isns-utils package

# yum install isns-utils
# service isnsd start
# chkconfig isnsd on

Storage side configuration

  • Configure iSCSI SAN to register to an iSNS server

RHEL 6 iSCSI initiator(Host) configuration

  1. Install the iscsi-initiator-utils package
    # yum install iscsi-initiator-utils
    # service iscsid start
    # chkconfig iscsid on
  2. Create a new iscsi iface
    # iscsiadm -m iface -o new -I isns_iface
    # iscsiadm -m iface -o opdate -I isns_iface -n iface.transport_name -v tcp
  3. Create an iSNS discoverydb record
    # iscsiadm -m discoverydb -t isns -p <iSNS server>:<iSNS port> -o new
    # iscsiadm -m discoverydb -t isns -p  <iSNS server>:<iSNS port> -o update -n discovery.isns.use_discoveryd -v Yes
  4. Set the polling interval to probe the iSNS server
    # iscsiadm -m discoverydb -t st -p <iSNS server>:<iSNS port>  -o update -n discovery.isns.discoveryd_poll_inval -v 30
  5. Restart iscsid to make the changes to affect
    # service iscsid restart

And Voila! Each time you create/remove storage LUNs at the target, the initiator would automatically login/logout of them.
Of course, you could shoot yourself in the foot by removing a LUN from the SAN when it is in use, but the assumption is that you know what you
are doing when you are removing a LUN from the SAN. In case you are adding storage LUNs at the SAN there is further scope for automation at the host side and we are very interested in getting your feedback on what more you would like with this solution.

NOTE: step 2 of the initiator configuration is required because the present iSCSI initiator does not allow binding to specific iface for iSNS based discovery and every iface created will be attempted by the initiator for a login/logout drill.


The Presentation slides from Redhat Summit 2009 can be found here.