Naming LUs and targets in iSCSI

Robert Snively rsnively at Brocade.COM
Tue Jun 27 08:06:10 PDT 2000


* From the T10 Reflector (t10 at t10.org), posted by:
* Robert Snively <rsnively at Brocade.COM>
*
Costa,

I would like to make a small correction in your analysis.
While it is traditional that devices have been named by
the path by which they were reached and the logical unit at the
end of the path, that is not a correct and unique means for
identifying a logical unit.  That only defines a path to some logical
unit.  iSCSI should use the correct SCSI naming procedure 
summarized below.

The actual identification of a logical unit is only provided by
the contents of the INQUIRY  Vital Product Data page "83h", entitled
the device identification page.  There, for all present disk
drives and RAID devices and most other modern SCSI-3 compliant
devices, a world wide unique name, usually based on the Fibre
Channel WWN (which in turn is based on the IEEE Organizationally
Unique Identifier), is present to uniquely define the logical
unit.  This is true whether the logical unit is an actual
physical device or a virtual device created as a software
abstract in a RAID controller.  Note that there is no requirement
that the same logical unit number be used to access the logical unit
through all the possible paths.

There are some operating systems that additionally label logical
units, either by setting an identifier using the SET DEVICE
IDENTIFIER command or by recording special information on a
non-volatile medium or non-volatile virtual device.  Such identifiers
are normally outside the scope of the SCSI or iSCSI standardization
process.

All the rest of the naming you describe is only naming paths
to that logical unit.

The proper way to create a naming hierarchy is:

	User selected "friendly" name, if applicable

	  pointing to:

	     The world-wide unique identifier of the logical unit

		   associated with:

			a set of "initiator"||"target"||"logical unit"
			paths by which the logical unit can be accessed.

The discovery process involves identifying the topology (and
therefore the list of paths) accessing all available logical units,
followed by the sorting of the paths into sets according to the
world-wide unique identifier of the logical unit.

ALL OTHER IMPLEMENTATIONS ARE SUBSETS OF THIS FUNDAMENTAL STRUCTURE.
They may be important and traditional subsets, but they do not
address the basic problem.  Operating systems are just beginning
to come to grips with this challenge, driven by the plethora of
paths available in advanced switched technologies like Fibre Channel and
Ethernet.  In some cases, higher level programs perform the
mappings because the operating systems have not yet made the
jump to the correct structuring.

iSCSI should not use one of these subsets, but should use the
correct mapping.

References for this are found on www.t10.org, including the SAM-2
and SPC-2 documents.

Hope this is some help.

Bob Snively
Brocade Communications           Phone  408 487 8135
1901 Guadalupe Parkway
San Jose, CA 95131               Email   rsnively at brocade.com


>  -----Original Message-----
>  From: Costa Sapuntzakis [mailto:csapuntz at cisco.com]
>  Sent: Monday, June 26, 2000 3:42 PM
>  To: Scsi-Tcp (E-mail)
>  Subject: Naming LUs and targets in iSCSI
>  
>  
>  
>  The naming architecture of iSCSI is as follows. Targets are 
>  named by a 
>  domain name and path. An example of a "target name" is:
>  
>  storage.ibm.com/tape/
>  
>  Logical units (LUs) are named, as recommended by the SAM, by 
>  an 8-byte
>  number (called the LUN).
>  
>  The iSCSI protocol involves making a connection to a target
>  (for with target name is used). Individual SCSI requests are then
>  targeted at specific LUs via a LUN in the header.
>  
>  There have been some concerns raised as to whether the scheme is
>  compatible with SAM. It is compatible; SAM does not state any
>  requirements on how to name targets. For FibreChannel, it is a 3-byte
>  fibre channel address. For SCSI-PI, it is a number between 0-31. 
>  
>  A separate topic is that of SCSI URLs. It would be nice to
>  name a specific LU or target using a URL-like ASCII string.
>  The following scheme was proposed by Daniel Smith and has my
>  hearty support
>  
>  To name a target: scsi://target name (e.g. 
>  scsi://storage.ibm.com/tape/)
>  To name an LU:  
>    scsi://target name?WWN=<wwn> (e.g
>  	scsi://storage.ibm.com/tape?WWN=010ad5fcda)
>  
>    where WWN is a world-wide unique identifier for the device. This
>    identifier would correspond to the one on the vital product data
>    inquiry page. The WWN is encoded in hexadecimal.
>  
>    The following weaker scheme could also be used. Unfortunately,
>    this scheme would not necessarily work across different
>    initiators because many storage controllers present a different
>    set of LUNs to each initiator:
>  
>      scsi://target name?LU=<lun> (e.g. scsi:://st.ibm.com/tape?LU=43)
>  
>    The LU number is encoded in hexadecimal.
>  
>  Again, the URL is just a convenient handle for managmenet and
>  applications; it should not need to travel in the actual iSCSI
>  protocol.
>  
>  -Costa
>  
>  P.S. Many SCSI commands allow only 8 bytes for specifying the target
>  name. This is obviously insufficient for communicating the iSCIS
>  target name, which is a variable-length string. iSCSI has a side-band
>  mechanism of mapping variable length target names to 8-byte IDs.
>  
>  
>  
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org




More information about the T10 mailing list