To resolve this issue, use any one of these options:
Caution: VMware does not recommend changing the esx.conf file manually.
Addressing this issue on ESXi 7.0
To resolve this issue, customer needs to use configstorecli to change the VMHBA alias name.
1. List all vmhba alias entries.
$ configstorecli config current get -c esx -g system -k device_data
2. Identify affected vmhba alias, based on the 'bus_address' + 'alias' fields.
For example:
{
"alias": "vmhba3",
"alias_pending": false,
"bus_address": "pci#s00000005.00#2"
"bus_type": "logical"
"cs_generated_id: "52 3c 3a 77 cf 0d ad ba-26 86 29 be 72 97 72 72"
}
3. Delete affected vmhba alias.
$ configstorecli config current delete -c esx -g system -k device_data -i CS_GENERATED_ID
For example:
$configstorecli config current delete -c esx -g system -k device_data -i "52 3c 3a 77 cf 0d ad ba-26 86 29 be 72 97 72 72
"
4. Change affected vmhba alias as previous.
$ localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type logical --alias ALIAS --bus-address LOGICAL_ADDRESS
For example:
$localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --bus-type logical --alias vmhba9 --bus-add
ress "pci#s00000003.00#0"
$configstorecli config current get -c esx -g system -k device_data
{
"alias": "vmhba9",
"alias_pending": true,
"bus_address": "pci#s00000003.00#0",
"bus_type": "logical",
"cs_generated_id": "52 d5 30 30 4d cf 9a 40-80 6b 97 5d 25 b9 60 b9"
},
5. List vmhba alias to confirm alias is changed correctly.
6. Reboot.
To change the VMHBA alias name using the host profile (ESXi 6.0)
- Log in to the VMware vSphere ESXi 6.0 host as root through console or SSH.
- Run this command to save the original esx.conf file:
cp /etc/vmware/esx.conf /etc/vmware/esx.conf.bak
- Using a text editor, open the /etc/esx.conf file. The content of the file looks similar to:
/vmkdevmgr/pci/s00000001.00/alias = "vmhba2"
/vmkdevmgr/pci/s00000001.01/alias = "vmhba3"
/vmkdevmgr/pci/s00000003.00/alias = "vmhba5"
/vmkdevmgr/pci/s00000003.01/alias = "vmhba6"
/vmkdevmgr/logical/pci#s00000001.00#2/alias = "vmhba2"
/vmkdevmgr/logical/pci#s00000001.01#3/alias = "vmhba3"
/vmkdevmgr/logical/pci#s00000003.00#256/alias = "vmhba5"
/vmkdevmgr/logical/pci#s00000003.01#512/alias = "vmhba6"
/vmkdevmgr/logical/pci#s00000001.00#256/alias = "vmhba64"
/vmkdevmgr/logical/pci#s00000001.01#512/alias = "vmhba65"
- In the /etc/esx.conf file, locate this line:
/vmkdevmgr/logical/pci#s00000003.00#0/alias = "vmhba5"
Modify the line as:
/vmkdevmgr/logical/pci#s00000003.00#256/alias = "vmhba5"
- In the /etc/esx.conf file, locate this line:
/vmkdevmgr/logical/pci#s00000003.01#0/alias = "vmhba6"
Modify the line as:
/vmkdevmgr/logical/pci#s00000003.01#512/alias = "vmhba6"
- In the /etc/esx.conf file, locate these two lines and delete them:
/vmkdevmgr/logical/pci#s00000001.00#256/alias = "vmhba64"
/vmkdevmgr/logical/pci#s00000001.01#512/alias = "vmhba65"
- Save and close the file.
- Reboot ESXi.
For more information see How VMware ESXi 5.5 and 6.0 determine the order in which names are assigned to devices (2091560).