Load Balancing with Session-Oriented Technologies


This section provides an overview of the load-balancing functionality supported by iSCSI, FCP, and FCIP.

iSCSI Load Balancing

iSCSI supports load balancing at the Transport Layer and at the Session Layer. Transport Layer load balancing is accomplished via multiple TCP connections within a single session. A discovery iSCSI session may use only one TCP connection. However, a normal iSCSI session may use more than one TCP connection. Each TCP connection may be established via a different network portal. When more than one TCP connection is associated with a session, iSCSI load-balances SCSI commands across the TCP connections. The maximum number of TCP connections supported within a single session is negotiated during the operational parameter negotiation stage of the login phase. After a normal session reaches the full feature phase on the first TCP connection, additional TCP connections may be added to the session. The login phase must be completed on each new TCP connection before the new TCP connection may be added to an existing session. When adding a new TCP connection to an existing session, the initiator sends the Target Session Identifying Handle (TSIH) of the existing session to the target. This enables the target to associate the new connection with the correct session. The iSCSI Command Sequence Number (CmdSN) is used to ensure in-order delivery of SCSI commands that are transmitted on different TCP connections.

When multiple sessions are established between an initiator/target pair, Dynamic Multi-Pathing (DMP) software must be used to load-balance SCSI traffic across the sessions. DMP software treats each iSCSI session as a path. DMP software is available from every major storage array vendor and some independent software vendors (ISV). Limited DMP functionality is now built into certain operating systems. DMP software is implemented as a transparent, logical layer above iSCSI and below the operating system's SCSI initiator. DMP software can load-balance SCSI traffic based on several algorithms. The choice of algorithms varies from one DMP product to the next. However, iSCSI connection allegiance restricts the granularity of DMP load balancing to a single SCSI command. This restriction exists because each TCP connection can belong to only one iSCSI session. So, the iSCSI Protocol Data Units (PDU) associated with a single SCSI command cannot be distributed across multiple iSCSI sessions. Upon receiving a SCSI PDU from the SCSI initiator, the DMP software makes a load-balancing decision and then passes the SCSI PDU to iSCSI with an indication of which session to use. iSCSI then makes a load-balancing decision based on the CmdSN (if multiple TCP connections exist within the selected session).

Note

By placing the network portals of a multihomed target device in different Internet Storage Name Service (iSNS) Discovery Domains (DDs), iSNS can be used to facilitate load balancing. For example, a network entity containing two SCSI target nodes (nodes A and B) and two NICs (NICs A and B) may present both nodes to initiators via both NICs. Selective DD assignment can force initiator A to access target node A via NIC A while forcing initiator B to access node B via NIC B.


FCP Load Balancing

Unlike the iSCSI model, FCP cannot leverage multiple Transport Layer connections between an initiator/target pair. This is because FC does not support multiple, simultaneous PLOGI connections between a pair of FC N_Ports. However, load balancing at the Session Layer is supported by FCP. Like the iSCSI model, DMP software is required to load-balance across multiple FCP sessions. DMP software treats each FCP session as a path. The DMP software is implemented as a transparent, logical layer above FCP and below the operating system's SCSI initiator. Like iSCSI, all FCP Information Units (IUs) associated with a single SCSI command must traverse the same FCP session. So, the granularity of DMP load balancing in the FCP model is a single SCSI command (like the iSCSI model).

FCIP Load Balancing

FCIP supports load balancing across multiple TCP connections within a single FCIP link, and across multiple FCIP links. When multiple TCP connections exist within a single FCIP link, load balancing across the TCP connections is accomplished using the source FCID and destination FCID. The ANSI T11 FC-BB-3 specification prohibits the use of any frame-based, sequence-based or Exchange-based algorithms. This restriction ensures that all frames, sequences, and Exchanges are delivered in-order between each pair of communicating FC Entities. When multiple FCIP links exist between a pair of FC-SANs, the FSPF protocol makes the load-balancing decisions. The ANSI T11 FC-SW-4 specification does not restrict the choice of FSPF load-balancing algorithms; therefore the load-balancing behavior is determined by the choice of FC switching equipment. Note that Cisco Systems supports FCIP link aggregation. When multiple FCIP links are aggregated into a single logical FCIP link (called an FCIP port channel), the FSPF protocol sees only one virtual inter-switch link (VISL). In this case, load balancing across the FCIP links within the FCIP port channel is accomplished using the same proprietary algorithms discussed in the FC port channel paragraph of this chapter.




Storage Networking Protocol Fundamentals
Storage Networking Protocol Fundamentals (Vol 2)
ISBN: 1587051605
EAN: 2147483647
Year: 2007
Pages: 196
Authors: James Long

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net