Setting up iSCSI datastores on VMware ESXi is easy, but not a lot of people know how to setup iSCSI load balancing correctly. When people setup iSCSI they tend to just team the NICs as you would for a VM Port Group, this will work but it’s not the optimal way to setup iSCSI on VMware ESXi.
How To Setup iSCSI For Multi-Pathing Rather Than Simply NIC Teaming
iSCSI works best when it’s setup to handle multi-pathing, rather than in a teamed configuration.
Why setup iSCSI multi-pathing on VMware ESXi rather than NIC Teaming? To answer this, lets look at the difference between NIC teaming and iSCSI multipathing.
NIC Teaming is the process of presenting multiple NICs to the host with the same IP address. The host will then trunk the ports and handle traffic routing and fail-over between the NICs based on it’s own algorithm.
iSCSI multi-pathing takes multiple NICs, each with it’s own IP address and uses the iSCSI multi-pathing protocols to handle traffic outing and fail-over across the NICs.
In essence, they have the same effect, but as iSCSI has it’s own algorithms for handling this, whilst the hosts generic algorithms are used in NIC teaming, it’s better to setup iSCSI multi-pathing to handle multiple NICs in a VMware environment.
To setup iSCSI multi-pathing on VMware ESXi, do the following:
- In each hosts Configuration tab, click Storage Adapters and add an iSCSI software adapter (if you don’t already have an iSCSI adapter setup)
- In the properties of the iSCSI adapter, specify the static or dynamic discovery of the iSCSI storage and setup the iSCSI device to accept connections from each host (I’m assuming that you’ve setup your LUNS on the iSCSI storage)
- On the Configuration tab, under Networking, click Add Networking and create a VMKernel port group (Adding the NICs used to connect to the iSCSI storage and the IP address)
- Under the properties of the iSCSI vSwitch, select the vSwitch and click Edit. Ensure that Route based on IP Hash is selected
- Edit each port of the vSwitch: On the NIC Teaming tab select Override switch failover order and make each port so it only has one active adapter – do this by moving all the others down to the Unused Adapters section. Each NIC should be assigned to it’s own virtual port
- Go back to the iSCSI storage adapter and ensure that each NIC is Active on the Network Configuration tab
This completes the setup of iSCSI multi-pathing on VMware ESXi – I’ve written this from memory, so I apologise if I’ve missed anything out or not articulated it very well!