vSphere 5.0 or later can identify and tag SSD devices and use them as Host Cache. According to vSphere Resource Management guide, Host Cache will be used as Write Back Cache when VM memory needs to use vswp file. So if I understand this correctly Host Cache will help when VM needs to swap OUT to vswp file but when VM needs to read swapped page (swap IN) it still needs to read from vswp file.
You can use PSA SATP claim rules to tag SSD devices that are not detected automatically.
Only devices that are consumed by the PSA Native Multipathing (NMP) plugin can be tagged.
In my demonstration I have VMFS-02 that is identified as Non-SSD. Well this is not SSD based LUN so it is correctly detected, but using SSD tagging feature I can fool ESXi to believe this LUN as SSD.
I need to find out LUN number that this Datastore uses. I Storage View tab to find out but there are many other ways to do the same.
So VMFS-02 uses LUN11 and Runtime Name is vmhba33:C0:T0:L11.
Let gather neccesary information for this LUN. I need Storage Array Type and its Device ID.
~ # esxcli storage nmp device listt10.F405E46494C45400373534A64647D2457745B6D257545737 Device Display Name: OPNFILER iSCSI Disk (t10.F405E46494C45400373534A64647D2457745B6D257545737) Storage Array Type: VMW_SATP_DEFAULT_AA Storage Array Type Device Config: SATP VMW_SATP_DEFAULT_AA does not support device configuration. Path Selection Policy: VMW_PSP_FIXED Path Selection Policy Device Config: {preferred=vmhba33:C0:T0:L11;current=vmhba33:C0:T0:L11} Path Selection Policy Device Custom Config: Working Paths: vmhba33:C0:T0:L11 |
Now I know Storage Array Type is VMW_SATP_DEFAULT_AA and its Device ID. Verify that this LUN is not seen as SSD at the moment.
~ # esxcli storage core device list -d t10.F405E46494C45400373534A64647D2457745B6D257545737t10.F405E46494C45400373534A64647D2457745B6D257545737 Display Name: OPNFILER iSCSI Disk (t10.F405E46494C45400373534A64647D2457745B6D257545737) Has Settable Display Name: true Size: 10016 Device Type: Direct-Access Multipath Plugin: NMP Devfs Path: /vmfs/devices/disks/t10.F405E46494C45400373534A64647D2457745B6D257545737 Vendor: OPNFILER Model: VIRTUAL-DISK Revision: 0 SCSI Level: 4 Is Pseudo: false Status: degraded Is RDM Capable: true Is Local: false Is Removable: false Is SSD: false Is Offline: false Is Perennially Reserved: false Thin Provisioning Status: unknown Attached Filters: VAAI Status: unknown Other UIDs: vml.01000b00007353436a64742d5477546b2d75457573564952545541 ~ # |
Next I need to create NMP rule to mark this LUN as SSD using esxcli storage nmp satp rule add command. (Option –s is Storage Array Type and –d is Device ID)
~ # esxcli storage nmp satp rule add -s VMW_SATP_DEFAULT_AA -d t10.F405E46494C45400373534A64647D2457 -o enable_ssd |
Unclaim the current NMP rule. Then load the new rule that makes ESXi server to believe this is SSD based device.
~ # esxcli storage core claiming unclaim -t device -d t10.F405E46494C45400373534A64647D2457745B6D257545737 ~ # esxcli storage core claimrule load ~ # esxcli storage core claimrule run |
Now verify that ESXi Server sees this device as SSD
~ # esxcli storage core device list -d t10.F405E46494C45400373534A64647D2457745B6D257545737 t10.F405E46494C45400373534A64647D2457745B6D257545737 Display Name: OPNFILER iSCSI Disk (t10.F405E46494C45400373534A64647D2457745B6D257545737) Has Settable Display Name: true Size: 10016 Device Type: Direct-Access Multipath Plugin: NMP Devfs Path: /vmfs/devices/disks/t10.F405E46494C45400373534A64647D2457745B6D257545737 Vendor: OPNFILER Model: VIRTUAL-DISK Revision: 0 SCSI Level: 4 Is Pseudo: false Status: degraded Is RDM Capable: true Is Local: false Is Removable: false Is SSD: true Is Offline: false Is Perennially Reserved: false Thin Provisioning Status: unknown Attached Filters: VAAI Status: unknown Other UIDs: vml.01000b00007353436a64742d5477546b2d75457573564952545541 ~ # |
You can see this from vSphere Client as well.
Since VMFS-02 is identified as SSD, I can now configure Host Cache in this Datastore.