Configuring iSCSI port binding with multiple NICs in one vSwitch for VMware ESXi
book
Article ID: 323116
calendar_today
Updated On:
Products
VMware vSphere ESXi
Issue/Introduction
This article provides information on setting up the correct NIC teaming policies to allow iSCSI port binding.
Port binding is used in iSCSI when multiple VMkernel ports for iSCSI reside in the same broadcast domain and IP subnet to allow multiple paths to an iSCSI array that broadcasts a single IP address..
Port binding is required for iSCSI vmkernels when they are in the same subnet. For example, you might assign an IP address of ##.##.156.## to the vmkernel adapter you want to use for iSCSI. The routing table then contains an entry for the ##.##.156.## network for this adapter. If you then set up a second adapter for iSCSI and assign it an IP address of ##.##.156.25, the routing table contains a new entry for the ##.##.156.25 network for the second adapter. However, when the TCP/IP stack reads the routing table, it never reaches the second entry, because the first entry satisfies all routes to both adapters. Therefore, no traffic ever goes out on the second iSCSI vmkernel adapter, and all IP storage traffic goes out on the first iSCSI vmkernel adapter.
Note: Since the ESXi host receives a routing table entry automatically for each vmkernel on the host, it is not recommended to override the default gateway on the vmkernel unless layer 3 connectivity is required.
Symptoms: Multiple NICs within the same vSwitch disallow port binding due to the default NIC teaming policies.
To set up a teaming policy that is compatible with iSCSI port binding, you need 2 or more vmkernel ports in the vSwitch, and an equivalent amount of physical adapters to bind them to. Each vmkernel port is bound to a physical adapter and then attached to the software iSCSI adapter.
To set up the correct teaming policy to allow iSCSI port binding using the vSphere Web Client:
Under vCenter Home, click Hosts and Clusters.
Click on the host.
Click Configure > Networking > Virtual Switches.
Click the vSwitch that has your iSCSI vmkernel port group.
Select the vmkernel port group and click on the three dots.
Click the Edit Settings menu and modify the vmkernel portgroup properties.
Open the Teaming and Failover section.
Under Failover order check the Override check box.
Select all VMnic adapters except the one you want to bind and click the Move Down arrow to move all other NIC adapters to the Unused Adapters list.
Repeat steps 5-9 for each iSCSI vmkernel port to ensure each vmkernel port has a unique active adapter. For example:
2 vmkernel portgroups: Storage 1 and Storage 2
2 physical adapters: vmnic0 and vmnic1
In portgroup Storage 1, vmnic0 is active and vmnic1 is unused
In portgroup Storage 2, vmnic1 is active and vmnic0 is unused
In the host Configure tab, click Storage Adapters
Select iSCSI Software Adapter vmhba.
In the adapter details pane click the Network Port Binding tab.
Click ADD to bring up a list of eligible adapters. Note: There should be no adapters in the list at this point.
Check the box beside Port Group and click OK.
Click the Rescan Adapter icon to rescan the iSCSI Software Adapter.