VMware Cloud Community
sibsbt
Enthusiast
Enthusiast

vmware hba driver upgrade

Hi,

I tried to upgrade  vmware hba driver  , before  doing upgrade i have taken the following information .

esxcli  storage core adapter list

HBA Name  Driver        Link State  UID                                   Capabilities         Description                                                              

--------  ------------  ----------  ------------------------------------  -------------------  -----------------------------------------------------------------------------

vmhba0    ahci          link-n/a    sata.vmhba0                                                (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller    

vmhba1    qlnativefc    link-up     fc.20000024ff09bf45:21000024ff09bf45  Second Level Lun ID  (0000:11:00.0) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA

vmhba2    qlnativefc    link-up     fc.20000024ff09c3a9:21000024ff09c3a9  Second Level Lun ID  (0000:0c:00.0) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA

vmhba3    megaraid_sas  link-n/a    unknown.vmhba3                                             (0000:1b:00.0) LSI / Symbios Logic MegaRAID SAS Fusion Controller        

vmhba32   ahci          link-n/a    sata.vmhba32                                               (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller    

vmhba33   ahci          link-n/a    sata.vmhba33                                               (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller    

vmhba34   ahci          link-n/a    sata.vmhba34                                               (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller    

vmhba35   ahci          link-n/a    sata.vmhba35                                               (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller    

vmhba36   ahci          link-n/a    sata.vmhba36                                               (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller    

/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -d

Dumping all key-value instance names:

Key Value Instance:  QLNATIVEFC/qlogic

usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i QLNATIVEFC/qlogic

Listing keys:

Name:   0

Type:   string

value:

QLogic PCI to Fibre Channel Host Adapter for QLE2560:

        FC Firmware version 7.02.00 (90d5), Driver version 2.0.12.0

after upgrading

/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -d

Dumping all key-value instance names:

Key Value Instance:  vmhba64/qlogic

Key Value Instance:  vmhba2/qlogic

Key Value Instance:  MOD_PARM/qlogic

/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i vmhba2/qlogic

Listing keys:

Name:   ADAPTER

Type:   string

value:

QLogic PCI to Fibre Channel Host Adapter for QLE2560:

        FC Firmware version 8.01.02 (90d5), Driver version 2.1.24.0

esxcfg-scsidevs -a

vmhba0  ahci              link-n/a  sata.vmhba0                             (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller

vmhba2  qlnativefc        link-up   fc.20000024ff09c3a9:21000024ff09c3a9    (0000:0c:00.0) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA

vmhba3  megaraid_sas      link-n/a  unknown.vmhba3                          (0000:1b:00.0) LSI / Symbios Logic MegaRAID SAS Fusion Controller

vmhba64 qlnativefc        link-up   fc.20000024ff09bf45:21000024ff09bf45    (0000:11:00.0) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA

vmhba32 ahci              link-n/a  sata.vmhba32                            (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller

vmhba33 ahci              link-n/a  sata.vmhba33                            (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller

vmhba34 ahci              link-n/a  sata.vmhba34                            (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller

vmhba35 ahci              link-n/a  sata.vmhba35                            (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller

vmhba36 ahci              link-n/a  sata.vmhba36                            (0000:00:1f.2) Intel Corporation Patsburg 6 Port SATA AHCI Controller

After upgrading  I Cant' find  vmhba1 , instead it became  vmhba64

found  key value instance

Key Value Instance:  vmhba64/qlogic

Key Value Instance:  vmhba2/qlogic

Key Value Instance:  MOD_PARM/qlogic

Before upgrading the key value instance   was only

Key Value Instance:  QLNATIVEFC/qlogic

What does it mean ?

Anything wrong ?

How do I make sure that  all are running after upgrade

Thanks

Message was edited by: sibsbt

16 Replies
Nick_Andreev
Expert
Expert

HBA name's changed, but as long as you can still see all LUNs and all paths to LUNs are active you should be fine.

Just out of curiosity, why did you decide to manually upgrade the drivers?

---
If you found my answers helpful please consider marking them as helpful or correct.
VCIX-DCV, VCIX-NV, VCAP-CMA | vExpert '16, '17, '18
Blog: http://niktips.wordpress.com | Twitter: @nick_andreev_au
sibsbt
Enthusiast
Enthusiast

Hi,

How to upgrade  other than this way ? .I thought this is the best practice .

Thanks

0 Kudos
hussainbte
Expert
Expert

I dont think there is any issues with the way you upgraded the driver.

check the KB which says it is not a ESXi Issue..

If you are not OK with the current driver naming you can change(As mentioned above it should not have any impact)

After upgrading the HBA card driver, storage adapter names change for some of the FC vmhbas (2127274...

If you found my answers useful please consider marking them as Correct OR Helpful Regards, Hussain https://virtualcubes.wordpress.com/
Nick_Andreev
Expert
Expert

There are a few options for keeping drivers up to date:

  • Using official VMware updates/upgrades. Certain drivers are already included in the base image.
  • Custom vendor ESXi images (HPE, Dell, Cisco) that you can download from VMware web-site and use for upgrades. These images include vendor specific drivers, that may lack in vanilla VMware image.
  • Add vendor patch repository to Update Manager. This lets you get the latest drivers as soon as they are released, instead of waiting for an updated custom ESXi image.

I personally see manual driver upgrade as a significant risk. If you install a wrong driver or driver version that hasn't been tested and is not compatible, you can find yourself in a very difficult situation.

---
If you found my answers helpful please consider marking them as helpful or correct.
VCIX-DCV, VCIX-NV, VCAP-CMA | vExpert '16, '17, '18
Blog: http://niktips.wordpress.com | Twitter: @nick_andreev_au
sibsbt
Enthusiast
Enthusiast

Hi,

The drivers i downloaded from the vmware site .

Can you tell me how to do in update manager .  Iam using vcenter appliance

Thanks

0 Kudos
Finikiez
Champion
Champion

That's not 100% true.

Drivers\FW upgrade is a standard procedure as with other operating systmes like Windows or Linux.

HW vendors releas drivers often and can recommend to update them separetly, there is no problem here.

A wrong driver just won't work with your devices and that's all.

0 Kudos
Nick_Andreev
Expert
Expert

You just need to add your vendor specific download source link to VUM, configure a baseline, attach it to your cluster and update. For example, this is the VUM download link for HPE drivers: http://vibsdepot.hpe.com/index-drv.xml

Consult with your vendor documentation to find the link to the VUM patch repository.

---
If you found my answers helpful please consider marking them as helpful or correct.
VCIX-DCV, VCIX-NV, VCAP-CMA | vExpert '16, '17, '18
Blog: http://niktips.wordpress.com | Twitter: @nick_andreev_au
0 Kudos
Nick_Andreev
Expert
Expert

Finikiez, maybe I used some strong wording there. Nothing wrong with downloading specific drivers directly from vendors and installing them manually. I just like to use an approach that gives me the least headache possible.

Driver that doesn't work can potentially stop server components from working, which is far from ideal.

---
If you found my answers helpful please consider marking them as helpful or correct.
VCIX-DCV, VCIX-NV, VCAP-CMA | vExpert '16, '17, '18
Blog: http://niktips.wordpress.com | Twitter: @nick_andreev_au
0 Kudos
Finikiez
Champion
Champion

You can download drivers for ESXi only from my.vmware.com. You can't download drivers directly from HW vendor site.

My opinion that updating drivers should be as regular as you update ESXi hosts with latest patches.

Aslo firmware for hosts should be updated as well.

0 Kudos
sibsbt
Enthusiast
Enthusiast

Hi,

WHat does it mean

This is not an ESXi issue. A driver did not understand the API Contract, and has broken upgrade compatibility.

Thanks

0 Kudos
sibsbt
Enthusiast
Enthusiast

Hi,

I have found the following in esx.conf

/vmkdevmgr/pci/m00008502/alias = "vmnic1"

/vmkdevmgr/pci/s00000002.00/alias = "vmhba2"

/vmkdevmgr/pci/s00000003.00/alias = "vmhba3"

/vmkdevmgr/pci/m00008501/alias = "vmnic0"

/vmkdevmgr/pci/m00008503/alias = "vmnic2"

/vmkdevmgr/pci/m00008504/alias = "vmnic3"

/vmkdevmgr/pci/p0000:00:1f.2/alias = "vmhba0"

/vmkdevmgr/pci/s00000001.00/alias = "vmhba1"

/vmkdevmgr/logical/pci#s00000001.00#1/alias = "vmhba64"

/vmkdevmgr/logical/pci#s00000001.00#0/alias = "vmhba1"

/vmkdevmgr/logical/pci#s00000002.00#0/alias = "vmhba2"

localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list

Bus type  Bus address         Alias

-----------------------------------

pci       s00000001.00        vmhba1

pci       p0000:00:1f.2       vmhba0

pci       m00008504           vmnic3

pci       m00008503           vmnic2

pci       m00008501           vmnic0

pci       s00000003.00        vmhba3

pci       s00000002.00        vmhba2

pci       m00008502           vmnic1

logical   pci#s00000002.00#0  vmhba2

logical   pci#s00000001.00#0  vmhba1

logical   pci#s00000001.00#1  vmhba64

Both 1 and 64  are having same bus address ?

I dont'know how to change 64 to 1

Thanks

0 Kudos
Finikiez
Champion
Champion

Just modify esx.conf as per KB which was mentioned earlier to delete additional allias

After upgrading the HBA card driver, storage adapter names change for some of the FC vmhbas (2127274...

0 Kudos
sibsbt
Enthusiast
Enthusiast

I took the below part from the article

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"

But the line " /vmkdevmgr/logical/pci#s00000003.00#0/alias = "vmhba5"" not there

/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"

2.

In my case I don't know what I will change ,I want to change 64 to something else .

/vmkdevmgr/pci/s00000002.00/alias = "vmhba2"

/vmkdevmgr/pci/s00000003.00/alias = "vmhba3"

/vmkdevmgr/pci/m00008501/alias = "vmnic0"

/vmkdevmgr/pci/m00008503/alias = "vmnic2"

/vmkdevmgr/pci/m00008504/alias = "vmnic3"

/vmkdevmgr/pci/p0000:00:1f.2/alias = "vmhba0"

/vmkdevmgr/pci/s00000001.00/alias = "vmhba1"

/vmkdevmgr/logical/pci#s00000001.00#1/alias = "vmhba64"

/vmkdevmgr/logical/pci#s00000001.00#0/alias = "vmhba1"

/vmkdevmgr/logical/pci#s00000002.00#0/alias = "vmhba2"

Please help

Thanks

0 Kudos
Finikiez
Champion
Champion

Try the following steps:

1. Make esx.conv backup

cp /etc/vmware/esx.conf /etc/vmware/esx.conf.bak

2. Remove the line /vmkdevmgr/logical/pci#s00000001.00#1/alias = "vmhba64"

vi /vmkdevmgr/logical/pci#s00000001.00#1/alias = "vmhba64"

go to the line and press dd

then press : ':wq!'

3. Reboot the host.

0 Kudos
sibsbt
Enthusiast
Enthusiast

Hi,

Just for clarification

What is happening  If  i remove  " Remove the line /vmkdevmgr/logical/pci#s00000001.00#1/alias = "vmhba64""

if I do like below , even after changing the alias will be vmhba64  ? vi /vmkdevmgr/logical/pci#s00000001.00#1/alias = "vmhba64",

Will it be the same vmhab64 ?

Thanks

0 Kudos
hussainbte
Expert
Expert

after removing the line item and rebooting the host, I believe it is expected for the device PCI enumeration to happen again and device given new name instead of vmhba64..

If you found my answers useful please consider marking them as Correct OR Helpful Regards, Hussain https://virtualcubes.wordpress.com/
0 Kudos