July 13, 2021

iSCSI and LAG/LACP

Distilling storage down to a series of "best practices" often oversimplifies the diverse options and configurations that are needed to address corner cases. That said, there are certainly some anti-patterns that in general do not make sense.

Should I run iSCSI over LACP/LAG/Etherchannel?

 

iSCSI is a common, ethernet-based, cost-effective storage technology used by many VMware customers today. It uses Multi-Path Input/Output (MPIO) to allow it to use multiple networking paths.  On the ESXi host side, you can use multiple VMkernel Ports to create multiple initiators that connect to multiple IP addresses on the storage array (Targets). There are different subtitles on the implementation you can follow (single subnet using port binding, vs. A/B networks) and you should consult with your vendor for the recommended method to properly configure MPIO. If a switch or path fails, MPIO handles the failover using the appropriately configured path selection policy.

When configuring to use MPIO the port groups for each VMkernel port will use a single uplink.

image 109

This stands in contrast to having multiple active uplinks and depend on the virtual switch failover method. (Virtual Port ID, and physical NIC load being the most common).

image 110

Route based on physical NIC load is the default for VMware Cloud Foundation and requires no additional switch configuration to work. This is a popular configuration for virtual machine port groups.

 

This also stands in contrast to a LAG being configured by the vDS, or IP HASH configured on a standard switch for failover path.

https://www.virtualizationhowto.com/wp-content/uploads/2020/09/Uplinks-assigned-to-the-LACP-LAG-on-the-ESXi-hosts.png

It is worth noting that  LACP/LAG is explicitly not supported with iSCSI MPIO. For this reason, running iSCSI over LAG/LACP is an anti-pattern. A common misconception is that using LAP/LACP allows all traffic flowing over it to use both links. In reality, different hashing algorithms will limit traffic traveling between two IP addresses (IP HASH) to a single link, or traffic using the same TCP/UDP ports to the same link (More advanced hashes). iSCSI by default does not open enough sessions on its own to properly take advantage of the hashing algorithms used with LACP. It should not be expected that iSCSI will use the aggregate bandwidth of multiple paths without using MPIO. vSphere does not currently support MC/S (multiple connections per session) which is the mechanism for attempting to work around the limitations of iSCSI over a LAG.

If I should not use LACP then how should I configure iSCSI?

The new latency-sensitive round robin PSP is a powerful extension of MPIO to deliver best-in-class storage performance and availability.

Best Practices For Running VMware vSphere On iSCSI

Consult with your storage vendors vSphere best practices guide.

 

Filter Tags

Storage iSCSI Blog Intermediate