VMware ESXi 6.0+ & Fusion ioScale 3.2 TB MLC SSD

Recently, there was shared a thicc enterprise-y PCI-E SSD for a very aggressively good price. Many people jumped on it, but I’m sure a good chunk of those people will be interested in understanding how they can use them. They are not your everyday SSD that is ready to go out-of-box on every OS.

SuperMicro Fusion ioScale PCI-E 3.2TB MLC SSD - $200 after OBO

Focusing on VMware, folks that plugged this in probably wonder why it didn’t pop up as a datastore or at least a storage device. It’s as if it weren’t even powered. This is merely a lack of drivers as reportedly:

  • Windows includes a driver
  • Linux includes a driver but doesn’t support using this as a boot device
  • UNRAID does not support this whatsoever, but it’s planned. It’s also Linux so hey, get creative?
  • ESXi doesn’t include a driver

This device was created around the time that FusionIO was acquired by SanDisk, who themselves went on to be picked up by Western Digital. This shuffling of companies has meant digital assets that aren’t front and center are getting seemingly forgotten about. Links seem to suggest that you should use the WD Portal but they make it sound like you need to be approved or have a support contract or something.

Fortunately after some digging I was able to find a carryover site from SanDisk it seems that serves up not only the VIBs for VMware, but also the guides & drive controller firmware package.

Instructions

  1. Head to this SanDisk/Dell hot collab website and select ioScale, ESXi-6.0, and the latest version (3.2.16-Dell)

  2. Download all these items

  3. Upload these VIBs to your ESXi host by way of SCP to a pre-existing datastore, such as your usb stick or a smolboi sata SSD you might already have

    libvsl[...] is a library to assist with enhanced telemetry
    scsi-iomemory-vsl[...] is the actual driver bundle

  4. use esxcli to install the VIBs. The path at the end must be absolute. If we assume you uploaded them to a datastore called ssd0, the resulting commands are as follows. Note: it is typical that they take a few minutes each.

     esxcli software vib install -d /vmfs/volumes/ssd0/libvsl-600-1.0.0-3.2.16.1731.zip
     esxcli software vib install -d /vmfs/volumes/ssd0/scsi-iomemory-vsl-60L-3.2.16.1731-offline_bundle-9738096.zip
    
  5. Once this is complete, reboot to load the driver.

  6. SSH back in, and try to use this newly provided f(usion)io utility. This proves that the tools are available, and also that your device is being initialized properly.
    fio-status
    image

  7. Last but not least, format the disk to prepare it for consumption. This is not required if you intend to pass this device directly into a VM with PCI-E passthrough. Note, the below command will format all FusionIO devices. If you have any others connected, remove the asterisk and be explicit.

    fio-format /dev/fct*
    

That’s it! Your device should now be reporting as a device in ESXi much like any other disk.

Additional considerations:

  • Check out the user guide for information on power consumption. Out of the box, this card is configured to draw no more than 25W from the PCI-E slot. As a standard, they’re capable of delivering 75W through the slot but implementations vary.
    Know that without the external power connected, or the PCI-E limit tweaked with another fio utility described in the guide. You might not like it, but that’s what peak performance looks like requires.

todo: mirrors for these digital assets in case they go away


Hope this helps! Feel free to mention me on the discord with any questions, suggestions, or improvements. Unrelated, I do “DevOps-y” systems and software automation for a living. Feel free to bug me about anything you want in that realm too!

image

1 Like

This worked great!! Thank you for sharing I was able to get mine up and running in ESXi tonight