HPlogo HP-UX iSCSI Software Initiator Support Guide: HP-UX 11i v1 & 11i v2 > Chapter 2 HP-UX iSCSI Software Initiator Product Overview

Targets

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

The iSCSI Software Initiator is interoperable with all iSCSI Protocol Specification (RFC 3720) compliant targets. No component of the iSCSI Software Initiator implementation is, in any way, HP proprietary.

The iSCSI Software Initiator supports the static discovery of targets and, optionally, the dynamic discovery of targets.

Hardware Path Representation

The iSCSI virtual Host Bus Adapter (HBA) is defined in the IO tree with respect to a virtual root node, which will always have a value of 255. The hardware path for iSCSI targets is built off of this virtual HBA node, instead of being built off of a physical HBA node, as is currently done with Fibre Channel and parallel SCSI targets. The interaction between the iSCSI session and a physical HBA is abstracted in the virtual HBA.

The external representation of the hardware path for an iSCSI  LUN is:

  •     255/<iscsi_virtual_HBA>/<session_instance>.<virtual_bus>.<virtual_target>.<lun>

where:

  • iscsi_virtual_HBA represents a virtual HBA off of the virtual root node. The value of iscsi_virtual_HBA is typically zero (0).

  • session_instance is the iSCSI session instance number. The iSCSI session defines a SCSI I-T nexus for transactions between the iSCSI initiator and the iSCSI target.

  • virtual_bus is an instance number (ext_bus) of a SCSI-2 bus.

  • virtual_target is a virtual representation of a SCSI-2 target.

  • lun is the representation of a SCSI-2 logical unit number.

    Because iSCSI targets define internal storage in SCSI-3 format, a mapping is required between the SCSI-3 LUN and:

    • The HP-UX SCSI-2 bus

    • The HP-UX SCSI-2 target

    • The HP-UX SCSI-2 LUN representation

    The mapping used is equivalent to the mapping used by the HP-UX Fibre Channel driver.

The hardware path for iSCSI targets will be persistent across reboots. It is maintained in the /etc/ioconfig file and used during system startup to reconstruct the IO tree.

Device Discovery

The implementation of iSCSI on HP-UX uses a static discovery algorithm as the default means of identifying iSCSI targets (devices). As an option, dynamic discovery of targets is available using Service Location Protocol (SLP).

Static Discovery

Static discovery requires the system administrator to identify all iSCSI discovery targets that will be accessible to an HP-UX host before an ioscan is executed. The configuration is done using the iscsiutil tool (see “The iscsiutil tool”, for details). Targets are defined using either their IP addresses or their DNS host names, combined with:

  • the TCP port number on the iSCSI target used for iSCSI access

  • the target portal group tag

The iSCSI target information that is entered through the iscsiutil tool will be maintained in a persistent area of storage called the kernel registry. It is only necessary to enter the target data once, because the kernel registry data will persist across reboots and upgrades.

When an ioscan is initiated, the iSCSI Software Initiator performs a probe by obtaining the target data from the kernel registry and then attempting to establish a session with the iSCSI discovery target. If an iSCSI session is established, a successful discovery login with the iSCSI discovery target is implied. A successful discovery login will result in operational targets (reported behind a discovery target) being registered into the kernel registry. A successful discovery session will be closed when the probe is complete.

An iSCSI normal session is established to each operational target registered in the kernel registry. An iSCSI normal session is identified by a session instance identifier. Once the normal session has been successfully established, the HP-UX iSCSI Software Initiator will determine the number of  LUNs behind the target. Any LUNs found are used to define SCSI-2 virtual busses that will later be used for SCSI-2 target and LUN probing by the SCSI Services layer.

An iSCSI session will be used to define one or more SCSI-2 virtual busses. The virtual busses are necessary because iSCSI target storage is defined using SAM-2 (SCSI-3), but HP-UX supports SCSI-2.

SCSI-3 LUNs behind a target will typically be defined sequentially starting at LUN 0. Because the SCSI-2 implementation only permits 128 LUNs per bus, the bus mapping will define a virtual bus for each 128 LUN grouping. Thus, if one or more LUNs exist in the range 0-127, then the iSCSI Software Initiator creates virtual bus 0. If one or more LUNs exist in the range 128-255, then the iSCSI Software Initiator creates virtual bus 1, etc. This process is repeated until all SCSI-3 LUNs on the iSCSI target are mapped to HP-UX iSCSI virtual busses. Next, the HP-UX SCSI Services will probe the virtual SCSI-2 busses and define SCSI-2 virtual targets and LUNs.

NOTE: Traditionally, HP-UX has used the ioscan tool to dynamically discover all possible targets and LUNs accessible by a host. Dynamic discovery is only available for iSCSI targets that support Service Location Protocol (SLP), provided SLP is available to the HP-UX host.

Service Location Protocol Based Dynamic Discovery

Service Location Protocol (SLP) is used for iSCSI dynamic discovery. The islpd daemon is a user space daemon that implements the SLP User Agent (UA) and the interface to the iSCSI transport driver.

The HP-UX  SLP components must be separately installed on the system. See Table 2-1 “SLP Server Installation Information and Related Documents”, for detailed information.

The Directory Agent (DA) can be on the same system, or on any other system in the same subnet. Targets must be on the same subnet as the DA to be discovered by the DA. At least 1 DA must be present on the subnet. Dynamic scanning based on SLP is triggered when the ioscan command is executed. The islpd queries the DA(s) on the subnet for all of the iSCSI targets. Only targets that support SLP (and have been configured to use SLP) will be registered with the DA. Each target address supplied by the SLP DA is entered into the kernel registry as an operational target.

Figure 2-2 Service Location Protocol

Service Location Protocol

NOTE: Once the operational targets are registered, the process used for static discovery of targets applies to them (starting from normal session establishment to operational targets), see “Static Discovery”.

Table 2-1 SLP Server Installation Information and Related Documents

Descriptionurl

Service Location Protocol, version 2 (RFC 2608)

http://www.ietf.org/rfc/rfc2608.txt

An API for Service Location (RFC 2614)

http://www.ietf.org/rfc/rfc2614.txt

HP Website to download SLP for HP-UX

http://www.software.hp.com (search for SLP)

Open source SLP code and references

http://www.openslp.org

Finding iSCSI targets and Name Servers using SLP (RFC 4018)

http://www.ietf.org/rfc/rfc4018.txt