SMART health-test and status
I have an external USB-drive which is giving me the following output on running the command
$ smartctl /dev/sdb -H
on it:
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
Could you elaborate if this is something to worry about or if it is just a wrong setting? Generally, what is the meaning of the health status in simplified form?
Maybe as a relevant aside: The short and long tests finish without issues.
I haven’t seen this kind of warning you’ve got, yet. But apparently it means that smartctl only evaluated the attribute table (see below) because there is no further information from SMART explicitly about the health which is typically a part of the ATA protocol. The response overall is considered not reliable in this case by the author of smartmontools. Drives attached directly to a SATA controller work better with SMART from what I’ve seen so far.
As concerns the attribute table, when you take a look at a SMART attribute output with smartctl -A /dev/XXX
, you’ll see three columns VALUE
, WORST
and THRESH
. Here a part of such an output:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 189 182 021 Pre-fail Always - 5508
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 18
The first column VALUE
tells you the current value of the attribute. The WORST
column tells you the worst (typically lowest) value SMART has ever seen. The THRESH
column tells you what the vendors considers as lowest possible value considered as healthy.
If the WORST
column shows values below THRESH
in same row, the drive is considered as not healthy. It also implies that VALUE
has been seen below THRESH
, of course. You can also see that only the attributes of type Pre-fail
matter when evaluating health. Other thresholds are simply set to 0
and their attributes cannot fail.
This table is all that smartctl used for the analysis of the drive’s health. And it is not really the correct way to do it right.
I just found this thread whilst looking for something else, but as a possibly interesting additional piece of data, I have two identical drives, bought on the same day from the same supplier and so probably from the same batch. One of them shows the message reported above, the other doesn’t.
$ sudo smartctl -H -d sat /dev/sda
smartctl 6.6 2017-11-05 r4594 [aarch64-linux-5.10.17-v8+] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
$ sudo smartctl -H -d sat /dev/sdb
smartctl 6.6 2017-11-05 r4594 [aarch64-linux-5.10.17-v8+] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
The selftest log outputs (smartctl -l selftest -d sat /dev/sdX) both show tests completed without error. They are in a RAID 1 configuration so I’m not overly worried other than to have SMART set to mail me if it detects an actual problem.