Firstly, obtain the drivers (and firmware!) from the vendors support portal (http://support.fusionio.com/) and upload them either locally to the ESXi host of for ease of access in particular if updating multiple hosts to a datastore configured as shared storage which is connected to each host.
In the below example, I will be installing/upgrading to the scsi-iomemory-vsl-55L-126.96.36.1999-1377365 for the High IOPS MLC Duo Adapter for IBM System x, to which these drivers are obtained from the IBM support site.
Connect to the ESXi shell and invoke the esxcli command to install the offline bundle and specify the datastore path to the compressed file containing the vib.
esxcli software vib install -d /vmfs/volumes/53a94c29-0eb4806b-15c5-b8ac6f9684c3/scsi-iomemory-vsl-55L-188.8.131.520-offline_bundle-1819180.zip
Once the install has completed you will receive a similar output to the below and will require to restart the ESXi host in order to complete the installation.
Installation Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. Reboot Required: true VIBs Installed: Fusion-io_bootbank_scsi-iomemory-vsl_184.108.40.2060-1OEM.5220.127.116.118610 VIBs Removed: Fusion-io_bootbank_scsi-iomemory-vsl_18.104.22.1689-1OEM.522.214.171.1248610 VIBs Skipped:
Following, a restart we can confirm that the install completed succesfully by invoking the following and determine the version isntalled.
esxcli software vib list | grep Fusion-io
To which the output should be similar to the below based on the offline bundle installed as above.
scsi-iomemory-vsl 126.96.36.1999-1OEM.5188.8.131.528610 Fusion-io VMwareCertified 2014-08-19
However, after installing the above and restarting the ESXi host I was unable to discover the devices, from the I ran retrieved the status of unknown as the driver was in minimal mode and prompted that the current firmware was not compataible with the installed driver.
The firmware on this device is not compatible with the currently installed version of the driver
Therefore, I was required to upgrade to the latest firmware by invoking the ‘fio-update-iodrive’ command
Once the firmware has been successfully upgraded a restart is required.
fct0 - successfully updated controller firmware from 184.108.40.206583 to 220.127.116.11786. fct1 - successfully updated controller firmware from 18.104.22.168583 to 22.214.171.124786.
In some circumstances you may be required to perform low level format of the devices, this can be confirmed by again invoking the fio-status command, to which you will receive similar output to the below if required.
A media upgrade is in progress. The ioMemory will not be usable until it is low-level formatted.
Perform a format by invoking the ‘fio-format’ command, which will destroy any existing data on the drive and on completion the status should be returned as healthy and in turn the ESXi host should be able to recognise the device following a final restart.
fio-format -b 512b /dev/fct0 -f fio-format -b 512b /dev/fct1 -f
Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00%