In recent months, I was asked to investigate a few vSphere clusters, suffering from a poor storage performance. These investigations start with a validation of the ESXi hosts, continue with the storage switches and ends with the storage.
In this post, I will not walk you through the whole process, but I want to highlight one aspect that in some cases can be overlooked. Most readers will know that for many devices, firmware and device drivers can make a difference. In my opinion, the same goes for the hypervisor. It is a good idea to check for the latest drivers and firmware for NICs and storage controllers on an ESXi host.
VMware KB 1027206 “Determining Network/Storage firmware and driver version in ESXi/ESX 4.x and 5.x” is very useful.
An example; I want to retrieve some information about a physical NIC (vmnic7). The KB demonstrates the use of some commands:
To get info on a driver, version and firmware, SSH to the ESXi host and type:
# ethtool –i vmnic7
To find out the recommended driver for vmnic7, type:
# vmkchdev –l | grep vminc7
The output contains a string that contains the Vendor ID (VID), Device ID (DID), Sub-Vendor ID (SVID), and Sub-Device ID (SDID). We will need this info later.
In our case:
- VID = 8086
- DID = 10e8
- SVID = 8086
- SDID = a02c
With that information, go to the VMware Compatibility Guide , fill in the values for the VID, DID, SVID and SDID and push the “Update and View Results” button.
The result shows:
So, vmnic7 is part of a Dell branded Intel Gigabit Quad Port Server Adapter. It also shows that the vSphere release on this host (ESXi 4.1) is also supported.
By clicking on the Model, you get an overview of available device drivers for all supported releases.
So, the “igb” driver is the driver of choice for this NIC. For vSphere release 4.1 U3, device drivers are available, ranging from version 220.127.116.11 to 3.2.10.
Remarkable: The installed version 2.1.11 is not listed. A possible reason is that version 2.1.11 is an “Inbox” driver (a device driver included in an ESXi image). An “Async” driver is a device driver released separately. See this post for more information.
Driver 2.1.11-1 is released in 2012. Now let us have a look at driver version 3.1.17. According to the version numbering, this looks like a more recent driver. But when you look into the details, this driver is released in August 2011.
Another one, igb driver 3.0.18. This one is indeed older than the 3.1.17 version.
I guess, I something does not compute here? Some more information concerning the device driver naming and numbering is very welcome.
Can someone explain how to decipher:
VMware KB 2005205 “Installing async drivers on ESXi 5.x”.
VMware KB 1031534 “Identifying correct driver for ESXi/ESX host PCI devices (HBA) using VMware Hardware Compatibility Guide (HCL)”
As always, I thank you for reading and I welcome your comments.