Configure ESXi host to use multiple network ports for iSCSI multipathing

From Notes_Wiki

Home > VMWare platform > VMWare vSphere or ESXi > Configure ESXi host to use multiple network ports for iSCSI multipathing

Configure storage server with multiple VLANs for iSCSI across controllers

Assuming you have iSCSI storage with 2 controllers each with 4 ports (Controller-1-Port-1 (C1P1), C1P2-4, C2P1-4). To connect them to storage network via two switches (Need not be stacked), we can connect them as follows:

Switch-1 Switch-2
Port-1 C1P1 C1P2
Port-2 C1P3 C1P4
Port-3 C2P1 C2P2
Port-4 C2P3 C2P4

Here there are two options for IP addressing across two VLAN(s):

Configure both Switch-1 and Switch-2 Port-1 and Port-2 in VLAN-A and Ports 3-4 in both switches in VLAN-B
In this case all the Controller 1 ports are connected to VLAN-A and all Controller 2 ports are in VLAN-B. Then while giving IP addresses to controller iSCSI ports all IPs for controller 1 should be in VLAN-A and all IPs for controller-2 should be in VLAN-B.
Configure Switch-1 ports in VLAN-A and Configure Switch2 ports in VLAN-B
: In this case alternating ports will be in different vlans. Thus C1P1 would be in VLAN-A and then C1P2 would be VLAN-B. Then again C1P3 would be in VLAN A and similar forwards.

In both cases there is equal use of both VLANs, both switches and both controllers. Also there is no single point of failure in the design.

It makes sense to ping all the IPs C1P1-4 and C2P1-4 before proceeding. This assumes the machine being used for sending ping is part of network where storage is connected. If storage is having a dedicated separate network then this might not happen directly from admin machine. You might have to do this ping from a server connected to storage network and having IPs in both VLAN-A and VLAN-B



Connecting ESXi host to iSCSI storage across two VLANs

To connect ESXi host to storage configured in two VLANs as explained above use following steps:

  1. Login into vCenter.
  2. Go to ESXi host -> Configure -> Storage Adpaters.
  3. If there is no existing ESXi iSCSI Software adapter, click on "Add Software Adapter" button on top of the page.
  4. Click 'Ok' on the popup menu for Adding Software adpater
  5. Verify that adapter with Model: iSCSI Software Adapter has been added.
  6. Assuming VLAN-A and VLAN-B configured for iSCSI storage above are being trunked to existing switch uplinks. The switch could be standard or distributed.
  7. In case of Standard switch go to ESXi Host -> Configure -> Virtual switches
  8. On top of switch where VLAN-A and VLAN-B are being trunked click on "Add Networking"
  9. Choose option to add "VMkernel Network Adapter"
  10. Assuming correct switch is already selected go to next page
  11. Specify network label (Eg iSCSI1 and VLAN-ID - A) and click next
    Note that iSCSI Kernel adapter and vMotion kernel adapter should not be on same VLAN / subnet - https://kb.vmware.com/s/article/2010877
  12. Ideally for iSCSI client we should be using static IP address. Choose option for static IPv4 address. Also select option for "Override default gateway for this adapter" and specify correct VLAN-A gateway
  13. Do the same exercise once again for "Add networking" and this time add network label iSCSI2 with VLAN-ID - B
  14. Once ESXi hosts has VMKernel adapters in both VLAN-A and VLAN-B ping both the IPs to validate connectivity.
    This assumes the machine being used for sending ping is part of network where storage is connected. If storage is having a dedicated separate network then this might not happen directly from admin machine. You might have to do this ping from a server connected to storage network and having IPs in both VLAN-A and VLAN-B
    You can also optionally do ssh to ESXi hosts and try to ping all iSCSI controller IPs, esp. in case storage network is completely isolated from normal LAN.
  15. After this again go to ESXi host -> Configure -> Virtual switches
  16. Against name of Network label for iSCSI (eg iSCSI1) click on the three dots and choose option "Edit Settings" from popup menu
  17. In popup for "iSCSI - Edit Settings" go to teaming and failover
  18. Enable option to "Override" Failover order for this port-group and keep only one uplink active and all others disabled. All traffic for iSCSI1 (VLAN-A) for this ESXi host would use this particular uplink
  19. Similarly go to iSCSI2 -> Edit settings and enable only one uplink in failover order. This time choose other uplink that is disabled in case of iSCSI1
  20. Thus, VLAN-A traffic will go via one uplink and VLAN-B traffic will go via another uplink. You can validate the same by clicking on the name "isCSI1" or "isCSI2" in virtual switches page and see the yellow/orange connectivity line from port-group to a specific uplink. In case of other non-iSCSI port-groups (except management) you should see this line going to multiple uplinks.
  21. After this go to ESXi -> Configure -> Storage Adpaters -> iSCSI Software Adapter
  22. Go to Network port binding tab
  23. Click "Add" and select both iSCSI1 and iSCSI2. If option for selecting these is not enabled there is some issue perhaps with failover order.
  24. After this at multiple points there might be reminder for rescanning. Click on both "Rescan Adapter" and "Rescan storage" frequently till all the steps related to this ESXi host are completed.
  25. Go to "Dynamic Discovery" tab for ths iSCSI Software Adapter. Add IPs for storage server iSCSI ports. Specifying only one of the IP in VLAN-A and one IP in VLAN-B is enough. After rescan we should see all the other IPs discovered automatically and be part of "Static Discovery" tab
  26. If the LUNs are not mapped, map them using iSCSI initiator name specifed in "Properties" tab of this ESXi host
  27. After mapping LUN again Rescan Adapter and Rescan storage
  28. Mapped LUNs should be visible in Devices tab and multiple paths to each device should be visible in Paths tab
  29. After this go to ESXi Host -> Configure -> Storage Devices. For each iSCSI based device click on Poperties -> Multipathing Policies -> Action -> Edit multipathing
  30. Change the policy from 'Most Recently Used (VMWare)' to "Round Robin (VMWare)'
  31. Do the same exercise for other ESXi hosts



Home > VMWare platform > VMWare vSphere or ESXi > Configure ESXi host to use multiple network ports for iSCSI multipathing