Recently ran into a HPE Proliant m510 server running vSAN, where vSAN complained that the controller driver for the NVMe disk where too new.
The health error said that the current driver nvme (184.108.40.206.-1vmw.6220.127.116.1102608) was to new and the recommended driver was nvme (18.104.22.168-1vmw.670.0.08169922)
Downgrading is not always a breeze. When going to VMware compatibility guide, the NVMe disk is supported for vSAN 6.7 Update 1, and there are no download links to a specific driver, so how do you get the old driver?
After some investigation I found that the correct driver was delivered as a patch for 6.5, and in the 6.7 GA version.
You can follow the guide below or you should be able to install the new drivers directly with the following command as mentioned in a comment to this article.
# Run the following commands on the host.<br><br>esxcli software vib install -v https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/nvme/VMW_bootbank_nvme_22.214.171.124-1vmw.6126.96.36.19969922.vib esxcli software vib install -v https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/vmware-esx-esxcli-nvme-plugin/VMware_bootbank_vmware-esx-esxcli-nvme-plugin_188.8.131.52-0.0.8169922.vib #reboot
If the above links stops working you can follow the original guide:
As I did not want to download a 6.5 driver at install in my 6.7 Update 1 environment, I needed to figure out how to get the driver for 6.7.
The way to get the driver is to download the ESXi 6.7 GA image from VMware download repository in zip format. It you extract the image you will find the files you need.
I figure the nvme-plugin version goes along with the nvme driver version, but as always. EVERYTHING YOU READ HERE ARE PERFORMED AT YOUR OWN RISK!
Copy the two files to the ESXi hosts using scp or any method you find convenient. I placed the files in the /tmp directory on each host, and put them in maintenance and installed the vibs one by one. After each install I rebooted the host even though the vib claims it is not necessary.
#Before install you can check the current version by running the command. esxcli software vib list | gep nvme
# Install the vibs by running the commands: esxcli software vib install -v /tmp/VMware_bootbank_vmware-esx-esxcli-nvme-plugin_184.108.40.206-0.0.8169922.vib esxcli software vib install -v /tmp/VMW_bootbank_nvme_220.127.116.11-1vmw.618.104.22.16869922.vib
After the install, the version on my install looked like this:
We are done…
I hope that the information is useful, please feel free to leave any comment.