vmhba number reports incorrectly and PCI id lists 0 value
search cancel

vmhba number reports incorrectly and PCI id lists 0 value

book

Article ID: 318020

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

Impact/Risks:
Editing esx.conf file should be edited with caution, make a backup beforehand.
 
Symptoms:
- vSAN hardware compatibility issues (SCSI controller compatibility) in vSAN health check
- vmhba number is incorrect
- PCI ID value is 0000-0000-0000-0000

Environment

VMware vSAN 7.0.x
VMware vSAN 6.x

Cause

This occurs when one physical address but has two logical addresses, each of them has its own alias as highlighted in the below output.

[root@sv230528:~] localcli --plugin-dir /usr/lib/vmware/esxcli/int deviceInternal alias list

Bus type  Bus address          Alias
--------       -------------------         -----
pci          m00000003            vmnic2
pci          s00000005.02         vmnic8
pci          s00000005.03         vmnic11
pci          s00000001.01         vmnic7
pci          s00000005.00         vmnic10
pci          m00000001            vmnic0
pci          m00000031            vmnic4
pci          s00000004.00         vmhba2
pci          m00000004            vmnic3
pci          m00008a01            vmhba0
pci          s00000005.01         vmnic9
pci          m00000032            vmnic5
pci          s00000001.00         vmnic6
pci          s00000003.00         vmhba1
pci          m00000002            vmnic1
logical     pci#m00000031#0      vmnic4
logical     pci#s00000001.01#0   vmnic7
logical     pci#s00000004.00#1   vmhba2
logical     pci#s00000005.00#0   vmnic10
logical     pci#m00000001#0      vmnic0
logical     pci#m00000003#0      vmnic2
logical     pci#s00000005.01#0   vmnic9
logical     pci#s00000003.00#0   vmhba1
logical     pci#s00000005.03#0   vmnic11
logical     pci#s00000005.02#0   vmnic8
logical     pci#m00000032#0      vmnic5
logical     pci#m00000002#0      vmnic1
logical     pci#m00000004#0      vmnic3
logical     pci#s00000001.00#0   vmnic6
logical     pci#m00008a01#0      vmhba0
logical     pci#s00000004.00#0   vmhba64

As you can see physical address pci#s00000004.00 has two logical addresses pci#s00000004.00#1 & pci#s00000004.00#0 each with it's own alias vmhba2 & vmhba64 respectfully.





Resolution

Upgrading to 7.0U2 resolves this.

Workaround:
If upgrading is not an option at this time follow the below steps:

1. SSH into the affected host
2. Make a backup of  /etc/vmware/esx.conf by running cp /etc/vmware/esx.conf /etc/vmware/esx.conf.bak
3. Edit /etc/vmware/esx.conf by running vi /etc/vmware/esx.conf and delete both lines that has two logical address for the same physical address

/vmkdevmgr/logical/pci#s00000004.00#1/alias = "vmhba2"
/vmkdevmgr/logical/pci#s00000004.00#0/alias = "vmhba64"

4. Save the file
5. Reboot the host, upon reboot there should be only one logical address for the physical address and only one alias
6. Confirm this by running localcli --plugin-dir /usr/lib/vmware/esxcli/int deviceInternal alias list

Note: If not comfortable with editing this file on your own engage VMware support for assistance.

Additional Information