ESXi vmnic order doesn’t follow the Cisco UCS vNIC placement? How ESXi assigns device names (KB 2091560) and how to fix the order manually.
It is better to use Cisco UCS Consistent Device Naming CDN + ESXi 6.7, but in same casses. It is necessary fix manualy according KB – How VMware ESXi determines the order in which names are assigned to devices (2091560) .
Here is an example How to fix it:
Check current mapping
[~] esxcfg-nics -l
Name PCI MAC Address
vmnic0 0000:67:00.0 00:25:b5:00:a0:0e
vmnic1 0000:67:00.1 00:25:b5:00:b2:2f
vmnic2 0000:62:00.0 00:25:b5:00:a0:2e
vmnic3 0000:62:00.1 00:25:b5:00:b2:4f
vmnic4 0000:62:00.2 00:25:b5:00:a0:3e
[~] localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list
Bus type Bus address Alias
pci s00000002:03.02 vmnic4
pci s00000002:03.01 vmnic3
pci s0000000b:03.00 vmnic0
pci s0000000b:03.01 vmnic1
pci p0000:00:11.5 vmhba0
pci s00000002:03.00 vmnic2
logical pci#s0000000b:03.00#0 vmnic0
logical pci#s0000000b:03.01#0 vmnic1
logical pci#s00000002:03.01#0 vmnic3
logical pci#s00000002:03.02#0 vmnic4
logical pci#p0000:00:11.5#0 vmhba0
logical pci#s00000002:03.00#0 vmnic2
Fix transfer table for physical devices
Bus type Bus address Alias
pci s0000000b:03.00 vmnic0 --> vmnic3
pci s0000000b:03.01 vmnic1 --> vmnic4
pci s00000002:03.00 vmnic2 --> vmnic0
pci s00000002:03.01 vmnic3 --> vmnic1
pci s00000002:03.02 vmnic4 --> vmnic2
Fix commands for physical devices
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic0 --bus-address s00000002:03.00 --bus-type pci
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic1 --bus-address s00000002:03.01 --bus-type pci
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic2 --bus-address s00000002:03.02 --bus-type pci
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic3 --bus-address s0000000b:03.00 --bus-type pci
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic4 --bus-address s0000000b:03.01 --bus-type pci
Fix transfer table for logical devices
[~] localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list
Bus type Bus address Alias
logical pci#s0000000b:03.00#0 vmnic0 --> vmnic3
logical pci#s0000000b:03.01#0 vmnic1 --> vmnic4
logical pci#s00000002:03.00#0 vmnic2 --> vmnic0
logical pci#s00000002:03.01#0 vmnic3 --> vmnic1
logical pci#s00000002:03.02#0 vmnic4 --> vmnic2
Fix commands for logical devices
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic0 --bus-address pci#s00000002:03.00#0 --bus-type logical
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic1 --bus-address pci#s00000002:03.01#0 --bus-type logical
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic2 --bus-address pci#s00000002:03.02#0 --bus-type logical
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic3 --bus-address pci#s0000000b:03.00#0 --bus-type logical
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias vmnic4 --bus-address pci#s0000000b:03.01#0 --bus-type logical
Reboot
reboot
Crosscheck – Now we have target order
[~] esxcfg-nics -l
Name PCI MAC Address
vmnic0 0000:62:00.0 00:25:b5:00:a0:2e
vmnic1 0000:62:00.1 00:25:b5:00:b2:4f
vmnic2 0000:62:00.2 00:25:b5:00:a0:3e
vmnic3 0000:67:00.0 00:25:b5:00:a0:0e
vmnic4 0000:67:00.1 00:25:b5:00:b2:2f