More and more storage solutions are starting to consider Ethernet LANs for storage connectivity (over iSCSI) instead of dedicated Fiber Channel SANs. If you are familiar with a Fiber Channel SAN environment and are planning a move from Fiber Channel to Ethernet, you will need to know how iSCSI hosts discover and connect to storage controllers on a LAN.
To attach a server to a Storage Controller connected over an Ethernet LAN via iSCSI, the Storage Targets on the controller must first be discovered followed by session establishment. The task of discovering and establishing sessions between servers (initiators) and storage targets differs significantly depending on the type of protocol used for discovery i.e. Fiber Channel vs iSCSI.
For those familiar with Fiber Channel here is a short guide to understand how target discovery works on iSCSI vs Fiber Channel.
Fiber Channel Target DiscoveryFiber Channel SANs consist of one or more Fiber Channel switches interconnected to each other. Here is how an FC target is discovered by a server:
1. Connect an FC HBA port on a server and a FC port on a storage controller to the FC SAN fabric
2. Identify the World Wide Port Name (WWPN) of the server and storage ports. [Each FC port is uniquely identified by a 64 bit number called (WWPN)]
3. Establish a Zone that contains the WWPNs of the server and storage ports
4. Once #3 is completed, the following happens:
a. The server port logs into the FC SAN and registers itself as an Initiator
b. The controller port logs into the FC SAN and registers itself as a Target
5. The FC HBA driver on the server then automatically issues a request to the FC Name Server running on the SAN fabric to discover available targets. The Fabric Name Server is a clustered application running on all the FC switches in the fabric. It responds to the host HBA driver with the WWPN of the storage targets that are registered in #4b
6. The FC HBA driver on the host then establishes an FC session with the FC controller port reported
7. Upon session establishment, the SCSI disk driver on the host is notified, which in turn executes SCSI commands like INQUIRY, REPORT LUNs etc. to discover all LUNs mapped to the server
a. On SVC/Storwize the mkvdiskhostmap CLI can be used to map vdisks to a host identified by its WWPN
8. These discovered SCSI devices are then visible to the users as disk devices in the /dev directory. Depending on the operating system, the SCSI device name may be represented in different forms.
9. If there are multiple server ports and controller ports, steps #1 - #8 are repeated for each pair of ports that are physically connected.
Discovering iSCSI storage targetsiSCSI SANs consist of one or more Ethernet switches interconnected to each other. There are several ways to discover an iSCSI target provided by the IBM Spectrum Virtualize family of products.
Static DiscoveryStatic discovery is suitable when the number of iSCSI ports on servers and storage are few in number and complete control over which iSCSI initiator ports on a server must connect to which iSCSI target port is a must. The steps involved are:
1. Configure an IP address on an iSCSI port on the server (initiator)
2. Configure an IP address on an iSCSI port on the SAN Volume Controller (SVC) controller using the cfgportip CLI
3. Find the IQN (iSCSI Qualified Name) of the target port by running the lsnode CLI on SVC
4. Establish an iSCSI session between initiator and target ports by specifying the initiator IP, target IQN and target IP address
5. Once the iSCSI session is established, the SCSI disk driver on the host is notified. In turn, it issues SCSI commands like INQUIRY and REPORT LUNs to detect all the LUNs mapped to this iSCSI host. An iSCSI host is defined on SVC identical to Step #7a for Fiber Channel except that each iSCSI host is uniquely identified by its IQN.
6. Repeat Steps #1 - #5 to establish sessions between each pair of initiator and target port pairs
Send Targets Discovery“Send Targets” discovery is used when a large number of servers must be connected to a large number of iSCSI target ports. Connecting each pair of initiator and target ports individually is an onerous task. Hence Send Targets discovery is preferred over static discovery. It allows several iSCSI target ports to be discovered by means of a single command on the initiator followed by automatic session establishment.
1. Follow the same steps as Steps #1 and #2 for static iSCSI discovery
2. Specify any one of the configured IP addresses on an SVC controller. Issue a Send Targets discovery request (exact method varies across different Operating Systems)
a. This command returns the list of IP addresses and IQN of the SVC node
3. Now run an initiator CLI command to establish iSCSI sessions from initiator ports to all discovered target ports
a. iSCSI sessions will be established from all initiator ports to all discovered target ports depending on physical connectivity, VLAN settings and subnet settings
4. Once the iSCSI sessions are established, the SCSI disk driver on the host in notified. It then automatically issues SCSI commands like INQUIRY and REPORT LUNs to detect all the LUNs mapped to this iSCSI host. An iSCSI host is defined on SVC identical to Step #7a for Fiber Channel except that each iSCSI host is uniquely identified by its IQN.
5. Repeat Steps #1 - #4 to establish iSCSI sessions from the server to each SVC node for redundant paths
iSNS DiscoveryiSNS stands for iSCSI Name Server. iSNS is an application that must be installed and run on a separate server connected to the same Ethernet LAN to which servers and storage are connected. An iSNS server mimics the function of a Fabric Name Server on an FC SAN, except for the fact that it executes on a separate server and is not part of the Ethernet switch network. An overview of how iSNS works follows:
1. Each iSCSI storage target registers itself with an iSNS server, if configured. For example, SVC supports iSNS. Configuration can be done via the chsystem CLI
2. iSNS must be configured on the server so that the server can query it to discover the list of all iSCSI targets identified by their IQNs and IP addresses
3. The iSCSI driver on the servers then establishes sessions with the targets discovered via the iSNS server
SummaryAs seen discovery and session establishment for FC and iSCSI differ. An Ethernet LAN doesn’t have a Fabric Name Server implemented on the switch network and there is no concept of zoning in iSCSI. Knowing the similarities and differences will help traditional Fiber Channel users be comfortable with using iSCSI on Ethernet LANs.
#IQN#PrimaryStorage#Cloudstorage#Storage#iscsi#StorageAreaNetworks#Softwaredefinedstorage#discovery