![HDD SMART 数据有多可靠?](https://linux22.com/image/614089/HDD%20SMART%20%E6%95%B0%E6%8D%AE%E6%9C%89%E5%A4%9A%E5%8F%AF%E9%9D%A0%EF%BC%9F.png)
基于聪明的数据,您可以判断磁盘的健康状况,至少这个想法是这样的。例如,如果我sudo smartctl -H /dev/sda
在 ArchLinux 笔记本电脑上运行,它会说硬盘通过了自检,并且根据这一点它应该是“健康的”。
我的问题是这些信息有多可靠,或者更具体地说:
- 如果根据 SMART 数据,该磁盘是健康的,那么该磁盘突然发生故障的几率是多少尽管这?这假设故障不是由于某些无法预测的灾难性事件引起的,例如笔记本电脑掉落在地板上导致驱动器磁头撞到磁盘。
- 如果 SMART 数据不是假设磁盘状况良好,那么磁盘在一段时间内发生故障的几率是多少?是否有可能出现误报?这些误报有多常见?
当然,不管怎样我都会保留备份。主要是出于好奇。
答案1
根据我的经验(20 年的服务器操作经验,在我处理过的所有服务器中必须处理过大约 5,000 个磁盘),SMART 很有用,但不是万能的。
如果出现 SMART 错误,请尽快更换磁盘。磁盘在 4-8 周内出现严重问题的可能性非常高。(在这方面经常提到的 Google 研究与我的个人经历非常吻合。)
通常,在磁盘真正出现问题之前,您有一两周的时间。
如果您根本没有收到 SMART 错误,磁盘仍然可能会在没有任何警告的情况下发生故障,尽管这在服务器中非常罕见。我每年可能会看到 3 或 4 个这样的案例。而我们因 SMART 错误而更换驱动器的频率约为每月 25 次。
这可能与服务器磁盘通常是 raid 阵列的一部分有关,并且在整个磁盘上看到连续的读/写模式。这会定期“锻炼”(并检查)磁盘的每个部分。
如果服务器在连续运行数月/数年后关闭了一段时间,则磁盘发生故障(没有事先发出警告)的最大可能性是在启动时。
在消费设备(非服务器、笔记本电脑/台式机驱动器)中,我见过许多磁盘出现读取错误,但不知何故并未记录在 SMART 数据中,即使 Windows 将这些错误记录在事件日志中。(SMART 仅在 Windows 执行完整 chkdsk 后才记录它们。)
这使我相信,在许多消费驱动器中,SMART 阈值非常低。这可能是(很大的如果)故意让 RMA 数量在这个残酷的行业中保持在较低水平。
许多消费者无论如何都不会注意到偶尔出现的坏块,直到为时已晚。(有多少消费者知道在哪里可以找到事件日志?那是在 Windows 中唯一可以看到磁盘错误的地方。)
根据我的经验,如果消费磁盘出现问题(SMART 或其他问题),请立即复制数据并更换。当它出现这些错误时,它已经坏了。
答案2
答案3
有一篇关于谷歌使用的硬盘的研究文章,可从以下网址获取http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//archive/disk_failures.pdf结论基本上是
我们的结果证实了之前小规模研究的结果,这些研究表明,一些 SMART 参数与较高的故障概率密切相关。例如,我们发现,在第一次扫描错误之后,驱动器在 60 天内发生故障的可能性是没有此类错误的驱动器的 39 倍。重新分配、离线重新分配和试用计数中的第一次错误也与较高的故障概率密切相关。尽管存在这些强相关性,但我们发现,仅基于 SMART 参数的故障预测模型的预测准确性可能会受到严重限制,因为我们的大部分故障驱动器根本没有显示任何 SMART 错误信号。
其他研究也得出结论, SMART 数据很有用,但在预测驱动器故障方面有其局限性。
我个人的经验是,整体智能状态会等待太多错误才会将驱动器标记为坏的。各个参数很有用,有些参数在第一次出错时会发出可怕的故障警告,但并非所有参数都是驱动器坏了或即将坏的确凿证据。阅读http://en.wikipedia.org/wiki/SMART. 了解最常见属性的描述。
但是如果整体 SMART 状态不好那么磁盘肯定有问题。
在具有冗余磁盘的 RAID 中,如果我连续执行 2 次一致性检查和修复,并在第二次检查中发现错误,那么我将不再使用该 HDD,并尝试保修更换。我的理由是,第一次检查发现并修复了任何不一致之处,第二次检查应该会恢复正常。如果没有,则意味着 HDD 甚至无法在那几个小时内存储数据。
答案4
监控 SMART 信息是判断磁盘是否“出现问题”的好方法,但我不会用它来确保磁盘健康(尽管报告措辞如此)。SMART 的一个问题是它只会告诉您磁盘过去是否出现过问题。这可以帮助您确定磁盘是否会损坏,并允许您在达到阈值时更换磁盘。磁盘可能会在运行过程中发生灾难性的机械故障,而之前没有出现过问题。在许多情况下,即使 SMART 测试从未显示任何问题(或将其标记为通过),磁盘也会发生故障。因此,我总是使用 SMART 测试来了解磁盘的历史记录,以便在出现问题之前进行抢先的磁盘交换,而不是将其作为判断磁盘是否良好的方法。
另外,询问 SMART 测试有多“可靠”:如果您使用整体健康评分,那么您得到的平均值不会像手动查看测试的各个组件并自行决定需要采取哪些措施那样“可靠”。例如,我有许多磁盘返回健康的 SMART 测试,但经过进一步检查,可以发现它们在 SMART 测试中存在过多的热量触发,虽然不足以将它们标记为坏的,但足以告诉我:a) 磁盘过去变热了 b) 如果磁盘仍在同一系统中,那么也许我应该对此采取一些措施。
关键是,任何时候您依赖自动\平均报告为您提供“可靠”信息时,您就有可能获得错误信息。