Configuring Broadcom iSCSI Adapter with VMware vSphere

This post is written specifically with HP ProLiant DL360/380 G6/G7 in mind but the theory can be applied to other manufacturers with Broadcom iSCSI Hardware Adapters. It is assumed the reader has experience configuring the Software iSCSI adapter already and MPIO (for more information on this see . Also, this applies to vSphere 4 (will post an update for vSphere 5 if/when required.)

Step 1: First identify which vmnics are associated with the Broadcom iSCSI Adapter vmhbas

From the vSphere client, select the host to be configured → Configuration tab → Storage Adapters → and under the device heading 'Broadcom iSCSI Adapter' the vmhba??s are listed

Example image below showing vmhba33,34,35,36 underneath 'Broadcom iSCSI Adapter'

Then via a putty connection to the host being configured, run the command below against each vmhba listed above to find which vmnic is associated with which vmhba

esxcli swiscsi vmnic list --adapter vmhba??

Example image below showing the command run against vmhba33

Generally the Broadcom iSCSI HBAs are associated with the NIC ports built into the system board, and a common association is as below:

vmhba33 associated with vmnic0
vmhba34 associated with vmnic1
vmhba35 associated with vmnic2
vmhba36 associated with vmnic3

Step 2: Create the iSCSI switch with iSCSI vmnics selected from the list

As per a typical configuration of the Software iSCSI Adapter and MPIO:

i: Create a vSwitch using from 1 to 4 of the vmnics found in Step 1
ii: For each vmnic create a VMkernel to be used for iSCSI traffic
iii: Edit the properties of each VMkernel created so that the Failover Order is set with only one active adapter and the rest unused

Step 3: Bond the iSCSI VMkernel's

For each iSCSI VMkernel, run the command

esxcli swiscsi nic add -n vmk? -d vmhba??


~ # esxcli swiscsi nic add -n vmk1 -d vmhba35

Note: the the VMkernel's active adapter must be associated with the correct vmhba for this to work otherwise will get the error “Errors: Failed to add nic.”

Run the below command to check the vmk? is bound to the vmhba??

esxcli swiscsi nic list -d vmhba??

Note: the remove command is simply
esxcli swiscsi nic remove -n vmk? -d vmhba??

Step 4: Configure Access to LUNs and Present to Host

i: Add the iSCSI Initiator Name of each Broadcom iSCSI HBA being used to the SAN Management Software, and allow access to required volumes
ii: On each Broadcom iSCSI HBA being used, in the vSphere Client Broadcom iSCSI HBA → Properties → Dynamic Discovery → Add Send Targets

Note: if an iSCSI Vmkernel is not bound to the vmhba in question, will see the warning “The host bus adapter is not associated with a vmknic. To configure targets the adapter should be associated with a vmknic.”

iii: Perform a Rescan All from the vSphere Client

Step 5: Configure Multipathing Path Selection Type

Finally for each device listed under Storage Adapters → Details → Devices
Right-click the device and select 'Manage Paths'
And check/amend the Path Selection is set to 'Round Robin (VMware)'

Note: Check with Storage Provider that this is supported first


Note 1: If the Software iSCSI adapter has already been configured, can disable this if intending to use the Broadcom iSCSI HBAs only.
Note 2: In theory, using the Broadcom iSCSI HBA will give a performance benefit as encapsulation of SCSI commands into iSCSI packets is being done by the HBA and not using the hosts CPU.


  1. the steps are same in vSphere5?

    1. Different in vSphere 5. The "esxcli swiscsi" command set has been replaced by the "esxcli iscsi" command set for vSphere 5.

  2. Can you please write what exactly commands are used in vSphere 5.x? You don't have to write a new article, just modify this one :)

  3. The information you have posted is very useful. The sites you have referred was good. Thanks for sharing... 300w acdc adapter power supply


Post a Comment