我有一个外部 USB 驱动器,在运行命令时会给出以下输出
$ smartctl /dev/sdb -H
在上面:
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.
您能详细说明一下这是值得担心的事情还是只是一个错误的设置吗?一般来说,简化形式的健康状况是什么意思?
也许作为一个相关的旁白:短期和长期测试都没有问题地完成。
答案1
我还没有看到你收到的这种警告。但显然这意味着 smartctl 仅评估属性表(见下文),因为 SMART 没有明确提供有关健康状况的进一步信息,而健康状况通常是 ATA 协议的一部分。 smartmontools 的作者认为在这种情况下总体响应不可靠。据我目前所知,直接连接到 SATA 控制器的驱动器与 SMART 配合使用效果更好。
就属性表而言,当您使用 来查看 SMART 属性输出时smartctl -A /dev/XXX
,您将看到三列VALUE
、WORST
和THRESH
。这是此类输出的一部分:
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
第一列VALUE
告诉您属性的当前值。该WORST
专栏告诉您 SMART 所见过的最差(通常是最低)价值。该THRESH
列告诉您供应商认为健康的最低可能值。
如果该WORST
列在同一行中显示以下值THRESH
,则该驱动器被视为不健康。当然,这也意味着我们VALUE
已经在下面看到了这一点。THRESH
您还可以看到,在评估健康状况时,只有类型的属性Pre-fail
很重要。其他阈值只需设置为0
,它们的属性就不会失败。
该表是 smartctl 用于分析驱动器运行状况的全部内容。这并不是真正正确的做法。
答案2
我只是在寻找其他东西时发现了这个线程,但作为一个可能有趣的附加数据,我有两个相同的驱动器,是在同一天从同一供应商处购买的,因此可能来自同一批次。其中一个显示上面报告的消息,另一个则不显示。
$ 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.
自测试日志输出 ( ) 均显示测试已完成且没有错误。它们采用 RAID 1 配置,因此我并不太担心,除了将 SMART 设置为在检测到实际问题时向我发送邮件之外。smartctl -l selftest -d sat /dev/sdX