Storage devices that are physically NVMe or SSD are listed with a "Drive Type" of HDD in vCenter.
This misidentification can lead to performance degradation, high latency at the Virtual Machine (VM) level, and may block application or OS upgrades (e.g., Red Hat OpenShift Data Foundation) that require SSD/Flash-backed storage.
ESXi utilizes heuristic identification to determine storage media types. If a storage vendor does not support automatic flash disk detection, or if there is no explicit Storage Array Type Plugin (SATP) claim rule for the specific array framework (e.g., HPE OPEN-V), ESXi defaults to identifying the device as standard HDD. Without a declarative rule instructing the Native Multipathing Plugin (NMP) to append the enable_ssd flag, the hypervisor fails to correctly enumerate the architecture as flash media.
Verify that the device is not in use. Ensure the virtual machine(s) accessing the device are powered off and if it contains a mounted datastore, ensure that the datastore is unmounted. For more information on the unmounting operation, see How to unmount a LUN or detach a datastore device from ESXi hosts.
Browse to the host in the vSphere Client object navigator.
Click the Configure tab.
Under Storage, click Storage Devices.
From the list of storage devices, select one or several HDD devices to mark as flash devices and click the Mark as Flash Disks icon.
In case you get an error - "Cannot change the host configuration. Cannot mark disk naa.######################### as "Flash". "Unable to reconfigure the disk claim rules. The disk is in use." ", unmount the datastore from all the hosts and then use "Mark as Flash Disks".
# esxcli storage nmp device listnaa.#########################Device Display Name: DGC Fibre Channel Disk (naa.#########################)Storage Array Type: VMW_SATP_CXStorage Array Type Device Config: {navireg ipfilter}Path Selection Policy: VMW_PSP_MRUPath Selection Policy Device Config: Current Path=vmhba4:C0:T0:L25Working Paths: vmhba4:C0:T0:L25naa.######################### is used. Use the device ID returned for your own device in these steps.# esxcli storage nmp satp rule add --satp=SATP_TYPE --device <naa device ID> --option "enable_ssd"# esxcli storage nmp satp rule add --satp=VMW_SATP_CX --device naa.######################### --option "enable_ssd"# esxcli storage nmp satp rule add –-satp=VMW_SATP_LOCAL –-device <naa device ID> --option "enable_local enable_ssd"# esxcli storage nmp satp rule add --satp=VMW_SATP_LOCAL --device naa.######################### --option "enable_local enable_ssd"# esxcli storage core claiming unclaim --type=device --device <naa device ID># esxcli storage core claimrule load# esxcli storage core claimrule run# esxcli storage core claiming reclaim -d <naa device ID># esxcli storage core device list -d <naa device ID> | grep SSD<naa device ID>Display Name: DGC Fibre Channel Disk (<naa device ID>)Size: 204800Device Type: Direct-AccessMultipath Plugin: NMPDevfs Path: /vmfs/devices/disks/<naa device ID>Vendor: DGCModel: RAID 5Revision: 0220SCSI Level: 4Is Pseudo: falseStatus: onIs RDM Capable: trueIs Local: falseIs Removable: falseIs SSD: trueIs Thin Provisioned: unsupportedAttached Filters:VAAI Status: unknownOther UIDs:<vml device ID>Notes:
# esxcli storage nmp satp rule add --satp VMW_SATP_CX --vendor "foo" --model "bar" --option "enable_ssd"# esxcli storage nmp satp rule add --satp VMW_SATP_LOCAL --device <naa device ID>Error adding SATP user rule: Duplicate user rule found for SATP VMW_SATP_LOCAL matching device <naa device ID> PSP and PSP Options# esxcli storage nmp satp rule remove --satp VMW_SATP_LOCAL --device <naa device ID># esxcli storage nmp satp rule add --satp VMW_SATP_LOCAL --device <naa device ID> --option "enable_ssd"
# esxcli storage nmp satp rule list --satp=VMW_SATP_LOCAL