I am currently working on a virtualization project – deploying vSphere 5.0 on IBM H Chassis /w HX5 Blades. Each ESXi host is built on the HX5 scalable complex which stacks two physical HX5 Blade servers. The expected vmnic numbering should be: vmnic 0, 1, 18, 19 are 1G Broadcom Ethernet; vmnic 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 are Emulex 10G Ethernet. But somehow, a couple ESXi hosts number the vmnic in a different way. e.g vmnic 0, 1, 16, 17 are the 1G Boradcom Ethernet Adapters, the left are Emulex 10G Ethernet Adapters.
The solution for this is to edit the /etc/vmware/esx.conf file to make the vmnic number consistent across all ESXi hosts. As all the HX5 hosts are with identical hardware settings, the /device/ID are all the same. Just ensure the same device ID is number as the same vmnic on all hosts. If it still does not work, try to disable then re-enable the multichannel setting of Emulex VFA in BIOS and reboot the host.
For example:
# vmnic 0, 1 are the two ports of the network adapters on the 1st server in the complex
/device/000:001:00.0/vmkname = “vmnic0”
/device/000:001:00.1/vmkname = “vmnic1”
…
# Emulex VFA (virtual fabric adapter) on the 1st server in the complex
/device/000:007:00.0/vmkname = “vmnic8”
/device/000:007:00.1/vmkname = “vmnic9”
…
# Emulex VFA (virtual fabric adapter) on the 2nd server in the complex
/device/000:130:00.0/vmkname = “vmnic10”
/device/000:130:00.1/vmkname = “vmnic11”
…
# vmnic 18, 19 are the two ports of the network adapters on the 2nd server in the complex
/device/000:134:00.0/vmkname = “vmnic18”
/device/000:134:00.1/vmkname = “vmnic19”