SMART 健康测试和状态

use*_*865 6 hard-disk smart smartctl

我有一个外部 USB 驱动器,在运行命令时会给出以下输出

$ smartctl /dev/sdb -H
Run Code Online (Sandbox Code Playgroud)

在上面:

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. 
Run Code Online (Sandbox Code Playgroud)

您能详细说明一下这是值得担心的事情还是只是一个错误的设置吗?一般来说,简化形式的健康状况是什么意思?

也许作为一个相关的旁白:短期和长期测试都没有问题地完成。

小智 5

我还没有看到你收到的这种警告。但显然这意味着 smartctl 仅评估属性表(见下文),因为 SMART 没有明确提供有关健康状况的进一步信息,而健康状况通常是 ATA 协议的一部分。smartmontools 的作者认为在这种情况下总体响应不​​可靠。据我目前所知,直接连接到 SATA 控制器的驱动器与 SMART 配合使用效果更好。

\n\n

就属性表而言,当您使用 来查看 SMART 属性输出时smartctl -A /dev/XXX,您将看到三列VALUEWORSTTHRESH。这是此类输出的一部分:

\n\n
ID# ATTRIBUTE_NAME \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0FLAG \xc2\xa0 \xc2\xa0 VALUE WORST THRESH TYPE \xc2\xa0 \xc2\xa0 \xc2\xa0UPDATED \xc2\xa0WHEN_FAILED RAW_VALUE\n  1 Raw_Read_Error_Rate \xc2\xa0 \xc2\xa0 0x002f \xc2\xa0 200 \xc2\xa0 200 \xc2\xa0 051 \xc2\xa0 \xc2\xa0Pre-fail \xc2\xa0Always \xc2\xa0 \xc2\xa0 \xc2\xa0 - \xc2\xa0 \xc2\xa0 \xc2\xa0 0\n  3 Spin_Up_Time \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa00x0027 \xc2\xa0 189 \xc2\xa0 182 \xc2\xa0 021 \xc2\xa0 \xc2\xa0Pre-fail \xc2\xa0Always \xc2\xa0 \xc2\xa0 \xc2\xa0 - \xc2\xa0 \xc2\xa0 \xc2\xa0 5508\n  4 Start_Stop_Count \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa00x0032 \xc2\xa0 100 \xc2\xa0 100 \xc2\xa0 000 \xc2\xa0 \xc2\xa0Old_age \xc2\xa0 Always \xc2\xa0 \xc2\xa0 \xc2\xa0 - \xc2\xa0 \xc2\xa0 \xc2\xa0 18\n
Run Code Online (Sandbox Code Playgroud)\n\n

第一列VALUE告诉您属性的当前值。该WORST专栏告诉您 SMART 所见过的最差(通常是最低)值。该THRESH列告诉您供应商认为健康的最低可能值。

\n\n

如果该WORST列在同一行中显示以下值THRESH,则该驱动器被视为不健康。当然,这也意味着我们VALUE已经在下面看到了这一点。THRESH您还可以看到,Pre-fail在评估健康状况时,只有类型的属性很重要。其他阈值只需设置为0,它们的属性就不会失败。

\n\n

该表是 smartctl 用于分析驱动器运行状况的全部内容。这并不是真正正确的做法。

\n

  • 正确的做法是什么? (2认同)