Happy Thursday! I know many of you have been asking about the status and support for ESXi 7.0 Update 3 and the popular USB Network Native Driver for ESXi. It has taken a bit longer as Songtao (the Engineer behind the Fling) has also been extremely busy and was also recently on PTO. Although I know this is something folks use extensively, I do also want to remind everyone that this is provided as a Fling, which means it is developed and supported as time permits. I will certainly do my best to help get new releases out aligning with ESXi updates and as a reminder, a new version of the USB Fling will ALWAYS be required for major releases of ESXi, which also includes update releases.
New storage devices added to Community NVMe Driver for ESXi Fling
We have an exciting update for the VMware Community today with the release of the Community NVMe Driver for ESXi Fling v1.1. After the release of ESXi 6.7, a number of consumer NVMe devices were no longer bering detected which had previously worked with ESXi 6.5.
One workaround that many folks had to implement, including myself, was to replace the 6.7 NVMe driver. with the previous 6.5 version of the NVMe driver. Although this method still works with the latest ESXi 7.0 Update 2, it is less than ideal as you are using an extremely old version of the NVMe driver and you are giving up new NVMe device enablement, bug fixes and enhancements with the latest version of the driver.
Given the amount of comments and feedback that I had received in the previous blog post, I wanted to explore a way in which we can enable some of these consumer NVMe devices for the community. With the help from Yibo, we have updated the Community NVMe Driver for ESXi Fling to include support for the following storage devices:
Apple NVMe driver for ESXi using new Community NVMe Driver for ESXi Fling
VMware has been making steady progress on enabling both the Apple 2018 Mac Mini 8,1 and the Apple 2019 Mac Pro 7,1 for our customers over the past couple of years. These enablement efforts have had its challenges, including the lack of direct hardware access for our developers and supporting teams due to the global pandemic but also the lack of participation from Apple has certainly not made this easier.
Today, I am happy to share that we have made some progress on enabling ESXi to see and consume the local Apple NVMe storage device found in the recent Apple T2-based mac systems such as the 2018 Mac Mini and 2019 Mac Pro. There were a number of technical challenges the team had to overcome, especially since the Apple NVMe was not just a consumer grade device but it also did not follow the standard NVMe specification that you normally would see in most typical NVMe devices.
This meant there was a lot of poking and prodding to reverse engineer the behavior of the Apple NVMe to better understand how this device works, which often leads to sudden reboot or PSODs. With the Apple NVMe being a consumer device, it also meant there were a number of workarounds that the team had to come up with to enable ESXi to consume the device. The implementation is not perfect, for example we do not have native 4kn support for SSD devices within ESXi and we had to fake/emulate a non-SSD flag to work around some of the issues. From our limited testing, we have also not observed any significant impact to workloads when utilizing this driver and we also had had several internal VMware teams who have already been using this driver for a couple of months now without reporting any issues.
A huge thanks goes out to Wenchao and Yibo from the VMkernel I/O team who developed the initial prototype which has now been incorporated into the new Community NVMe Driver for ESXi Fling.
UPDATE 2 (06/30/2023) - Thanks to reader Spotsygamer, who shared v1.2 of NVMe Fling also works with ESXi 8.x and vSAN ESA
UPDATE 1 (11/21/2021) - v1.2 of NVMe Fling works with ESXi 7.x
Caveats
Before folks rush out to grab and install the driver, it is important to be aware of a couple of constraints that we have not been able to work around yet.
-
ESXi versions newer then ESXi 6.7 Patch 03 (Build 16713306) is currently NOT supported and will cause ESXi to PSOD during boot up.
-
The onboard Thunderbolt 3 ports does NOT function when using the Community NVMe driver and can cause ESXi to PSOD if activated.
Note: For detailed ESXi version and build numbers, please refer to VMware KB 2143832
VMware Engineering has not been able to pin point why the ESXi PSOD is happening. For now, this is a constraint to be aware of which may impact anyone who requires the use of the Thunderbolt 3 ports for additional networking or storage connectivity.
With that out of the way, customers can either incorporate the Community NVMe Driver for ESXi offline bundle into a new ESXi Image Profile (using vSphere Image Builder UI/CLI) and then exporting image as an ISO and then installing that on either a Mac Mini or Mac Pro or you can manually install the offline bundle after ESXi has been installed over USB and upon reboot, the local Apple NVME will then be visible for VMFS formatting.
Here is a screenshot of ESXi 6.7 Patch 03 installed on my 2018 Mac Mini with the Apple NVMe formatted with VMFS and running macOS VM