Reading S.M.A.R.T. disk data in ESXi
Beginning in vSphere 5.1 VMware provides the ability to look at S.M.A.R.T. data for HDD and SSD. As described in the VMware documentation an esxcli command is available to retrieve S.M.A.R.T. data from the disks. This can be useful to keep track of the health of your drives, perhaps including trying to estimate how much life is left in your flash drives - something about which I am occasionally asked.
Here is an example from a host in my lab.
First retrieve the list of devices. I have 4 different SSD drive models installed so I am listing the output for each one of them so that you can see how the output differs.
esxcli storage core device list
SSD1:
t10.ATA_____KINGSTON_SV300S37A120G__________________50026B773B02B8BF____Display Name: Local ATA Disk (t10.ATA_____KINGSTON_SV300S37A120G__________________50026B773B02B8BF____)Has Settable Display Name: trueSize: 114473Device Type: Direct-AccessMultipath Plugin: NMPDevfs Path: /vmfs/devices/disks/t10.ATA_____KINGSTON_SV300S37A120G__________________50026B773B02B8BF____Vendor: ATAModel: KINGSTON SV300S3Revision: 506ASCSI Level: 5Is Pseudo: falseStatus: onIs RDM Capable: falseIs Local: trueIs Removable: falseIs SSD: trueIs Offline: falseIs Perennially Reserved: falseQueue Full Sample Size: 0Queue Full Threshold: 0Thin Provisioning Status: yesAttached Filters:VAAI Status: unknownOther UIDs: vml.010000000035303032364237373342303242384246202020204b494e475354Is Local SAS Device: falseIs Boot USB Device: falseNo of outstanding IOs with competing worlds: 32
SSD2:
t10.ATA_____Samsung_SSD_840_EVO_120GB_______________S1D5NSBDB76769V_____Display Name: Local ATA Disk (t10.ATA_____Samsung_SSD_840_EVO_120GB_______________S1D5NSBDB76769V_____)Has Settable Display Name: trueSize: 114473Device Type: Direct-AccessMultipath Plugin: NMPDevfs Path: /vmfs/devices/disks/t10.ATA_____Samsung_SSD_840_EVO_120GB_______________S1D5NSBDB76769V_____Vendor: ATAModel: Samsung SSD 840Revision: EXT0SCSI Level: 5Is Pseudo: falseStatus: onIs RDM Capable: falseIs Local: trueIs Removable: falseIs SSD: trueIs Offline: falseIs Perennially Reserved: falseQueue Full Sample Size: 0Queue Full Threshold: 0Thin Provisioning Status: yesAttached Filters:VAAI Status: unknownOther UIDs: vml.0100000000533144354e53424442373637363956202020202053616d73756eIs Local SAS Device: falseIs Boot USB Device: falseNo of outstanding IOs with competing worlds: 32
SSD3:
t10.ATA_____M42DCT512M4SSD2__________________________000000001249091F58C6Display Name: Local ATA Disk (t10.ATA_____M42DCT512M4SSD2__________________________000000001249091F58C6)Has Settable Display Name: trueSize: 488386Device Type: Direct-AccessMultipath Plugin: NMPDevfs Path: /vmfs/devices/disks/t10.ATA_____M42DCT512M4SSD2__________________________000000001249091F58C6Vendor: ATAModel: M4-CT512M4SSD2Revision: 040HSCSI Level: 5Is Pseudo: falseStatus: onIs RDM Capable: falseIs Local: trueIs Removable: falseIs SSD: trueIs Offline: falseIs Perennially Reserved: falseQueue Full Sample Size: 0Queue Full Threshold: 0Thin Provisioning Status: yesAttached Filters:VAAI Status: unknownOther UIDs: vml.010000000030303030303030303132343930393146353843364d342d435435Is Local SAS Device: falseIs Boot USB Device: falseNo of outstanding IOs with competing worlds: 32
SSD4:
t10.ATA_____INTEL_SSDSC2BA100G3_____________________BTTV347502FS100FGN__Display Name: Local ATA Disk (t10.ATA_____INTEL_SSDSC2BA100G3_____________________BTTV347502FS100FGN__)Has Settable Display Name: trueSize: 95396Device Type: Direct-AccessMultipath Plugin: NMPDevfs Path: /vmfs/devices/disks/t10.ATA_____INTEL_SSDSC2BA100G3_____________________BTTV347502FS100FGN__Vendor: ATAModel: INTEL SSDSC2BA10Revision: 5DV1SCSI Level: 5Is Pseudo: falseStatus: onIs RDM Capable: falseIs Local: trueIs Removable: falseIs SSD: trueIs Offline: falseIs Perennially Reserved: falseQueue Full Sample Size: 0Queue Full Threshold: 0Thin Provisioning Status: yesAttached Filters:VAAI Status: unknownOther UIDs: vml.010000000042545456333437353032465331303046474e2020494e54454c20Is Local SAS Device: falseIs Boot USB Device: falseNo of outstanding IOs with competing worlds: 32
Next retrieve the S.M.A.R.T. information for the SSD drives.
SSD1:
~ # esxcli storage core device smart get -d=t10.ATA_____KINGSTON_SV300S37A120G__________________50026B773B02B8BF____Parameter Value Threshold Worst---------------------------- ----- --------- -----Health Status OK N/A N/AMedia Wearout Indicator 0 0 0Write Error Count N/A N/A N/ARead Error Count 120 50 120Power-on Hours 99 0 99Power Cycle Count 100 0 100Reallocated Sector Count 100 3 100Raw Read Error Rate 120 50 120Drive Temperature 27 0 72Driver Rated Max Temperature N/A N/A N/AWrite Sectors TOT Count N/A N/A N/ARead Sectors TOT Count N/A N/A N/AInitial Bad Block Count N/A N/A N/A~ #
SSD2:
~ # esxcli storage core device smart get -d=t10.ATA_____Samsung_SSD_840_EVO_120GB_______________S1D5NSBDB76769V_____Parameter Value Threshold Worst---------------------------- ----- --------- -----Health Status OK N/A N/AMedia Wearout Indicator N/A N/A N/AWrite Error Count N/A N/A N/ARead Error Count N/A N/A N/APower-on Hours 99 0 99Power Cycle Count 99 0 99Reallocated Sector Count 100 10 100Raw Read Error Rate N/A N/A N/ADrive Temperature N/A N/A N/ADriver Rated Max Temperature 73 0 70Write Sectors TOT Count 100 0 100Read Sectors TOT Count N/A N/A N/AInitial Bad Block Count N/A N/A N/A~ #
SSD3:
~ # esxcli storage core device smart get -d=t10.ATA_____M42DCT512M4SSD2__________________________000000001249091F58C6Parameter Value Threshold Worst---------------------------- ----- --------- -----Health Status OK N/A N/AMedia Wearout Indicator N/A N/A N/AWrite Error Count N/A N/A N/ARead Error Count 100 50 100Power-on Hours 100 1 100Power Cycle Count 100 1 100Reallocated Sector Count 100 10 100Raw Read Error Rate 100 50 100Drive Temperature 100 0 100Driver Rated Max Temperature N/A N/A N/AWrite Sectors TOT Count 100 1 100Read Sectors TOT Count N/A N/A N/AInitial Bad Block Count 100 50 100~ #
SSD4:
~ # esxcli storage core device smart get -d=t10.ATA_____INTEL_SSDSC2BA100G3_____________________BTTV347502FS100FGN__Parameter Value Threshold Worst---------------------------- ----- --------- -----Health Status OK N/A N/AMedia Wearout Indicator 100 0 100Write Error Count N/A N/A N/ARead Error Count N/A N/A N/APower-on Hours 100 0 100Power Cycle Count 100 0 100Reallocated Sector Count 100 0 100Raw Read Error Rate N/A N/A N/ADrive Temperature 100 0 100Driver Rated Max Temperature 77 0 77Write Sectors TOT Count 100 0 100Read Sectors TOT Count N/A N/A N/AInitial Bad Block Count 100 90 100~ #
The reason why I show the output from the 4 different model SSD drives is to show you how monitoring flash media using S.M.A.R.T. information is not straight forward. Different manufacturers include varying output for their drive models due to the controller firmware on the devices, so in my case all 4 SSD disks have different output fields with data in them. Sometimes there actually isn't enough information to determine how much life may be left in a drive. This can pose a challenge to those of you hoping to keep an eye on this.
We should hope that S.M.A.R.T. output for flash devices will standardize over time so that all drives reflect the same information. I suspect that output for HDD is more standard than for newer SSD, though I have not validated this (no HDD in hosts). It is probably a good idea to periodically check for firmware updates for your drives as they could add functionality and expose additional information.
Reference the VMware KB for additional information.

March 10th, 2014 - 07:46
Great information, Peter. Thanks!
-Josh