[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Google
  Web www.spinics.net

no DHCP-assigned InitiatorName



I am writing this memo to the IETF IP Storage Working Group to voice my concern over the apparent lack of IETF or industry standard for having a DHCP server pass an InitiatorName to an iSCSI boot client.

This issue may be something that you are already aware of, and may be something that you are already working to address.

(I am going to ignore the related issues of CHAP username and secret)

rfc4173 [http://tools.ietf.org/html/rfc4173 Bootstrapping Clients using the Internet Small Computer System Interface (iSCSI) Protocol) defines the protocol for passing boot target information to an iSCSI boot client via DHCP options. Unfortunately, it does not define a mechanism for passing an InitiatorName to be used by the iSCSI boot initiator. The omission of this has led to differences in the InitiatorName in different iSCSI boot implementations.

Many iSCSI target servers depend upon the iSCSI InitiatorName to control visibility to target LUNs. The inability to control InitiatorName through DHCP leads to interoperability issues as one tries to dynamically move between systems with different iSCSI boot implementations.

I am not familiar with iSNS (Internet Storage Naming Service http://tools.ietf.org/html/rfc4171) but I assume that the InitiatorName probably plays a key role in identification.

I am familiar with several currently available implementations of iSCSI initiators ... hardware, firmware, and software. see listing below.

The hardware and firmware implementations of iSCSI boot initiators (QLogic, Intel, Broadcom, IBM) allow one to define static initiator and target login information in EEPROM on the client. In addition, they all support a DHCP assigned iSCSI boot target per RFC 4173.

The etherboot/gPXE implementation only supports assignment of iSCSI boot parameters via DHCP.

Implementations generally construct the InitiatorName by trying to include the DHCP option 12 hostname. They take a base iSCSI Qualified Name prefix and concatenate the hostname supplied by the DHCP server. You end up with:

 iqn.1987-05.com.intel:<hostname>
 iqn.2000-01.org.etherboot:<hostname>
 iqn.1995-05.com.broadcom.<11.22.33.44.55.66>.iscsiboot
 iqn.1986-03.com.ibm.<11:22:33:44:55:66>.<hostname>

<hostname> represents the hostname provided in DHCP option 12.
<11.22.33.44.55.66> represents the MAC address of the initiator NIC.

This might work fine in a static data-center environment where dedicated applications run on dedicated hardware. Even a mixed environment with different vendors involved is generally not a problem as long as each system is configured individually ... and as long as no system changes are required.

However, data centers and data center configurations are not static. They frequently have a need to move from one hardware configuration to another. Common examples are a planned hardware upgrade of an existing system and an emergency hardware replacement for a failed system. A more extreme example would be an offsite disaster-recovery scenario.

Machine virtualization tools such as vmWare and Zen facilitate moving images between systems, easing the transition between system hardware.

Data center virtualization systems such as Scalent automate assignment of SAN-based applications to available servers in the server pool, effectively enabling a data center to run any application on any available physical or virtual machine.

Migrating iSCSI boot images from one system to another is problematic if the iSCSI boot implementations differ between the old hardware and new hardware. On many/most commercial iSCSI target servers the visibility/mapping/zoning configuration would have to change because of the differing iSCSI InitiatorName. This is a problem because it usually requires coordination across organizational units.

Take the case where one has an application running on an IBM server using iSCSI boot. iSCSI boot parameters are being assigned via DHCP. One wishes to move this application to an HP server with an Intel NIC that supports iSCSI boot. Both iSCSI initiators support DHCP assignment of the iSCSI target. However, since the full InitiatorName is not specified via DHCP, the SAN administrator must also make a change on the iSCSI SAN storage controller in order to make the appropriate LUN(s) visible to the new/different initiator name.

Vendor Extensions

Broadcom and IBM seem to have foreseen this oversight in rfc4713. From available documentation it is unclear to me whether or not they have adopted exactly the same mechanism as a workaround for assigning the iSCSI boot initiator name. I am in the process of obtaining hardware so that I can verify behavior.

Broadcom documentation indicates that they support a DHCP vendor extension that allows one to fully specify the InitiatorName from the DHCP server. Support for an option such as this would mean that boot-from-iSCSI-SAN images could be moved between systems by only making changes on the DHCP server. See http://ftp.us.dell.com/network/Bcom_LAN_11.0_4.1_Manual_A01.exe

Draft IBM documentation at ftp://ftp.software.ibm.com/systems/support/system_x_pdf/39y9159.pdf indicates that the initiator name can be set using DHCP vendor option 203 … but it isn’t very specific … and I have not been able to verify this.

I have also been told that the Microsoft WHQL (Windows Hardware Quality Labs) requirements for iSCSI boot make reference to “DHCP option 203”. I am trying to obtain these documents.


Conclusion

There needs to be a standard IETF mechanism, perhaps an extension to rfc4713, that defines what InitiatorName is to be used when iSCSI booting.

I am interested in participating in the discussion and am willing to help however I can.


Michael Howard
Scalent Systems
michael.howard@xxxxxxxxxxx

----

Internet Small Computer Systems Interface (iSCSI)
http://tools.ietf.org/html/rfc3720

Internet Small Computer Systems Interface (iSCSI)
Naming and Discovery
http://tools.ietf.org/html/rfc3721

String Profile for Internet Small Computer
Systems Interface (iSCSI) Names
http://tools.ietf.org/html/rfc3722

Internet Storage Naming Service (iSNS)
http://tools.ietf.org/html/rfc4171

Bootstrapping Clients using the Internet
Small Computer System Interface (iSCSI) Protocol
http://tools.ietf.org/html/rfc4173

----

QLogic
* hardware iSCSI HBAs
* proprietary drivers for Win + Linux
* http://qlogic.com/Products/SAN_products_iSCSI.aspx
* supports DHCP assignment of target parameters

Intel
* iSCSI boot firmware for selected server-class NICs
* works in conjunction with MSFT initiator under >= win2k3
* http://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=15864
* iqn.1987-05.com.intel:<hostname>

Broadcom
* iSCSI boot firmware for selected server-class NICs
* works in conjunction with MSFT initiator under >= win2k3
* http://www.broadcom.com/collateral/wp/FSC-BRCM-iSCSI-BOOT-White-Paper.pdf
* iqn.1995-05.com.broadcom.<11.22.33.44.55.66>.iscsiboot
* Vendor extension DHCP option 43 suboption 203

IBM
* iSCSI NIC firmware in selected blades/servers
* works in conjunction with MSFT initiator under >= win2k3
* http://www.alphaworks.ibm.com/tech/sancommander
* ftp://ftp.software.ibm.com/systems/support/system_x_pdf/39y9159.pdf
* vendor extension option 203

emBoot
* software PXE/UNDI implementation
* proprietary windows initiator under XP & win2k with netBoot/i
* works with MSFT initiator under >= win2k3
* http://emboot.com/iscsiboot.htm

emBoot uses a proprietary mechanism in their netBoot/i and winBoot/i products to assign login information to their software initiator. emBoot does not support DHCP assignment of iSCSI boot parameters. Therefore, the discussion of DHCP assignment of iSCSI boot parameters is not applicable to emBoot’s current products.

etherboot/gPXE
* open source PXE/UNDI/NIC driver implementation
* works with MSFT initiator under >= win2k3
* http://etherboot.org/wiki/index.php
* only (?) supports DHCP assignment of iSCSI boot parameters per RFC 1473.


THE END
_______________________________________________
Ips mailing list
Ips@xxxxxxxx
https://www.ietf.org/mailman/listinfo/ips


[IETF]     [Linux iSCSI]     [Linux SCSI]     [Linux Resources]     [Yosemite News]     [IETF Announcements]     [IETF Discussion]     [SCSI]

Add to Google Powered by Linux