Recently, when creating the first VMFS datastore on an EMC storage array, I received and error stating that “the specified disk is not available in the VMware hypervisor”. Though the VMFS datastore was successfully created on the array, the error occurred when trying to assign permissions to the vSphere hosts themselves.
In this particular circumstance, (2) vSphere hosts were directly attached to the Unity array using FC HBAs. On the EMC Unity side, the FC initiators registered, at least seemingly successful but on the vSphere host side, instructing the FC HBAs to perform a Rescan All yielded no results whatsoever. No storage targets, devices, or paths. After much troubleshooting with both EMC and VMware, a thought came to us while taking a lunch break. What about the HBA driver/firmware? Could this simply be an update issue? Emulex LPe31002 HBAs were installed in these hosts, running version 11.1.145.18 version of the driver, originally released 7-20-2016.
- Using Google to perform a search, I found the latest version available for the LPe31002 HBA to be 11.4.329.0 and it was available for download at the following URL:
- With the updated driver downloaded, I used WinSCP to copy the VIB to the /tmp directory on the vSphere servers.
- In this instance, the vSphere servers were new, thus no VMs were running on them. If you were installing the updated Emulex driver on a production host, you will first put the vSphere server on which you are going to install the driver into Maintenance mode.
- Use PuTTY to make a connection to a vSphere server and change directory into /tmp. To install this specific FC HBA driver, type the command esxcli software vib update -v /tmp/lpfc-11.4.329.0-1OEM.600.0.0.2768847.x86_64.vib. The VIB will install and will display whether a reboot is required to complete the installation. For the updated Emulex HBA driver a reboot was required.
- Reboot the vSphere host for the update to take effect using the vCenter web client, CIMC, or any other means you may prefer.
- When the server is back up, you can connect back to the console using PuTTY and run the following command:
/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -I vmhba1/Emulex
- Verify the vSphere host can now see storage presented on the Unity array:
Conclusion
This was the first time in a very long time that I’ve encountered something such as this but when troubleshooting issues that shouldn’t exist, don’t forget to check for component/hardware level vSphere updates.