After doing some digging today with a Client, we hit a roadblock on something that I need to share with using the NVMe virtual disk controller on the VMware ESXi 6.5 and above platform. If you’re using this vDisk controller, you cannot expand or add virtual disks without most likely incurring a reboot to have the VM ‘see’ the changes.
While I find the NVMe controller to be usually a bit faster when the underlying storage is type NVMe, this limitation means that if I have a SQL Server VM and I need to expand a disk due to transaction log or incoming data growth, I’ll most likely need to incur an outage. I find this limitation quite unfortunate, and it could change some of my VMware architectures. Using the PVSCSI with a tuned stack queue depth, when compared to the NVMe controller, provides within 5% of the performance of the NVMe controller, and allows me to hot-expand these disks as needed, which is quite common with active SQL Server platforms.
Please be aware of this limitation and its tradeoffs if you decide to use this controller for production servers.