I recently helped a colleague who wanted to mark an HDD device in ESXi to show up as an SSD, which may be needed if the storage device was not correctly detected or if you are using Nested ESXi and the underlying storage is not an SSD and you need to mark it as an SSD for use with vSAN OSA or ESA.
The easiest way to accomplish this operation is by using the vSphere UI, but that does require vCenter Server to be up and running, which it was not. Alternatively, you can also perform this operation using ESXCLI and configure an Storage Array-Type Plugin (SATP) claim rules, which had been possible since 2013 but it looks like the old method no longer works in the latest ESXi 7.x and 8.x releases.
Note: If you are configuring this for a Nested ESXi VM, another method is to emulate a virtual SSD as shown in this blog post.
After taking a closer look, I learned that as of vSphere 7.0 Update 2, the default multipath plug-in for NVMe devices was no longer the VMware NMP (Native Multipath Plug-in) and has been replaced by the the more performant VMware High Performance Plug-In (HPP). You can check actually check this by running the following ESXCLI command:
esxcli storage core plugin list
This would explain why the previous method was no longer working. The good news is that the HPP module provides a much more simpler ESXCLI command for updating the SSD property among other settings compared to using claim rules.
Step 1 - Similar to the previous method, we need to identify the storage device that we wish to mark as an SSD. I typically rely on the vdq command as it is the most versatile and provides lots of info in a quick and summarized view including disk capacity, which can help you narrow down the device by running the following command:
vdq -q
Step 2 - Finally, we run the following ESXCLI command and supply it with the storage device ID and the -M option with value of true (or false to revert the change) to mark the device as an SSD as shown in example below:
esxcli storage hpp device set -d naa.6000c29a1be7747750359eb504f48f1f -M true
Another really nice enhancement to the HPP module is that there is also a new ESXCLI command that shows you which storage devices have been marked as an SSD by end users, which you can see by running the following command:
esxcli storage hpp device usermarkedssd list
SemoTech says
Brilliant! Thanks Will!
I had to deploy and use vCenter to mark the Apple NVMe in a 2018 Mac mini as SSD, and this would have been MUCH easier. Issuing "esxcli storage hpp device usermarkedssd list" also confirms it was "manually" marked as such.
Joshua says
Would there be any reason to mark a NFS datastore that is backed by SSD as such, since they are showing up as HDD for me