During a server installation recently a local attached SSD wasn’t recognized as SSD and therefore it was impossible to use it as vSphere Flash Read Cache. Not always the reason for this issue is a controller misconfiguration – sometimes ESXi just doesn’t recognize the SSD as flash drive. In this case it is possible to flag particular storage devices explicitly as SSD.
For this access to the ESXi console is required. First of all the device name of the affected storage is needed:
# esxcli storage core device list|grep "naa" naa.xxx Display Name: Local DELL Disk (naa.xxx) Devfs Path: /vmfs/devices/disks/naa.xxx
To make sure you picked the right device it’s a good idea to have a look at the vendor and size:
# esxcli storage core device list -d naa.xxx|egrep -i "vendor|model|size" Size: 94848 Vendor: DELL Model: PERC H710P Queue Full Sample Size: 0
In this example a circa 100 GB SSD (94848/1024). Using esxcli you can find out whether the device is detected as local attached SSD:
# esxcli storage core device list -d naa.xxx|egrep -i "local|ssd" Display Name: Local DELL Disk (naa.xxx) Is Local: true Is SSD: false Is Local SAS Device: false
Using the following command you can flag the SSD:
esxcli storage nmp satp rule add --satp=VMW_SATP_LOCAL --device naa.xxx --option "enable_local enable_ssd"
If the SSD is not locally attached you need to remove the keyword “enable_local“. Afterwards the device reuls are reloaded:
# esxcli storage core claimrule load # esxcli storage core claimrule run # esxcli storage core claiming reclaim -d naa.xxx
The SSD should now be recognized as flash storage:
# esxcli storage core device list -d naa.xxx|egrep -i "local|ssd" Display Name: Local DELL Disk (naa.xxx) Is Local: true Is SSD: true Is Local SAS Device: false
If the SSD isn’t recognized correctly it might be necessary to reboot the ESXi host.