After a gotcha moment this morning, I thought I’d blog about software iSCSI port bindings in vSphere 6.x using the Web Client and a distributed switch. Here it is:
First things first, why would you even bind a iSCSI adapter to a vmk adapter? By default, there’s only a single path, you’d do this so there are multiple paths to the array. There are a number of considerations which have been copied directly from a VMware kb article:
- Array Target iSCSI ports must reside in the same broadcast domain and IP subnet as the VMkernel port
- All VMkernel ports used for iSCSI connectivity must reside in the same broadcast domain and IP subnet
- All VMkernel ports used for iSCSI connectivity must reside in the same vSwitch
- Currently, port binding does not support network routing
With the introduction out of the way, here goes.
1. First, you’d go in and create yourself a software iSCSI adapter by going to your host > storage > hitting the + sign and choosing the software iSCSI adapter option that shows up (the wizard will also suggest you run a scan on the adapter, you can do that now or choose to do it later). The picture below shows the adapter already added
2. Next, you’d go to your distributed switch and create two port groups. I’ve called them iSCSI_vDS_Prod_1 and iSCSI_vDS_Prod_2.
3. For both of the port groups you need to ensure you set one and only one uplink as the active uplink, all the others must be set to unused. Do this by right clicking on the port groups and going to the teaming and failover area and moving relevant adapters down to the unused section.
4. Now for my gotcha moment. When I first setup my vDS I included only the first two physical adapters to be used as uplinks, so I had an adapter for uplink 1 and an adapter for uplink 2 but no adapters for uplinks 3 and 4. Hence why no vmk adapters compatible with the iSCSI port binding requirements were listed when I went to create a binding. How do you assign an adapter to an uplink? Simple:
- Right click on your vDS
- Manage host networking
- Choose attached hosts
- Manage physical adapters
- Choose an unclaimed adapter, click on assign uplink and select an unused adapter
5. Next, you go back to your software adapter > network port binding and selecting the + sign to initiate creating the binding
6. Hitting the + sign presents the following box, select the available port groups and click ok. The wizard will suggest a rescan of the adapter which should be done next.
7. Notice the number of paths is 3 with active IO on all of them.
8. After the rescan:
You now have multiple paths to the array. Do the same steps for other hosts in the cluster (you could do it via host profiles but with a lot of customizations required).