HDD SMART数据的可靠性如何?

基于SMART数据,您可以判断磁盘的健康状况,至less这是个想法。 例如,如果我在我的ArchLinux笔记本电脑上运行sudo smartctl -H /dev/sda ,则表示硬盘驱动器已通过自检,并且基于此应该是“健康的”。

我的问题是这些信息有多可靠,或者更具体一些:

  • 如果根据SMART数据这个磁盘是健康的, 尽pipe如此 ,磁盘突然失败的几率是什么? 这假定故障不是由于一些不可能预料到的灾难性事件造成的,例如笔记本电脑跌落在地板上,导致驱动器头碰到磁盘。
  • 如果SMART数据没有说磁盘状态良好,那么磁盘在一段时间内失败的几率是多less? 会不会有误报,这有多普遍?

当然,无论如何,我都会保留备份。 我大多好奇。

根据我的经验(运行服务器20年,在我处理的所有服务器中必须处理大约5.000个磁盘)SMART是有用的,但不是灵丹妙药。

如果您遇到SMART错误,请立即更换磁盘。 机会非常高,4-8周的磁盘将有严重的问题。 (谷歌在这方面经常提到的研究与我个人的经验非常吻合。)
通常情况下,你有一个星期或2个磁盘变得真的有问题之前。

如果您根本没有收到SMART错误,那么磁盘仍然可以在没有任何警告的情况下发生故障,尽pipe这在服务器中是非常罕见的。 我看到每年可能有3或4个这种情况。 而我们以约25个月的时间由于SMART错误而更换驱动器。
这可能不得不这样做,服务器磁盘通常是RAIDarrays的一部分,并在整个磁盘上看到一个连续的读/写模式。 这将使磁盘的每个部分都“定期”(并检查)。
如果服务器在连续运行数月/年之后已经切换了一段时间,则磁盘故障(没有预先警告)的最大机会在启动中。

在消费类设备(非服务器,笔记本电脑/台式机硬盘)中,我发现大量的磁盘读取错误并不会以SMART数据结束,即使Windows在事件日志中logging了这些错误。 (SMART只会在Windows完整chkdsk后logging下来。)
这使我相信,在许多消费驱动器中,SMART阈值相当低。 这可能是(大IF)故意保持在这个喉咙痛的业务RMA数字低。
许多消费者不会注意到偶然的坏块,直到为时已晚。 (有多less消费者知道在哪里可以find事件日志?这是唯一可以在Windows中看到磁盘错误的地方。)
根据我的经验,如果消费磁盘有问题(SMART或其他),请复制您的数据并立即更换。 当它给出这些错误时,它已经过去了。

这是相当可靠的,但不包括驱动器可能具有的所有types的故障模式。

使用某种forms的RAID将有助于在更多情况下保护您。

我想说,在我的服务器上,只有20%的磁盘故障是SMART数据的结果。

惠普服务器提供这些信息的方式使得看起来有很多指标可以用来确定磁盘运行状况和故障状态。

在这里输入图像说明

http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh_CN/archive/disk_failures.pdf上有一篇有关在Google上使用的硬盘的研究文章,基本上可以得出结论

我们的结果证实了之前较小人口研究的结果,这表明一些SMART参数与较高失败鲁棒性具有良好的相关性。 例如,我们发现,在第一次扫描出错后,驱动器在60天内发生故障的可能性要比不发生这种故障的驱动器高出39倍。 在重新分配,重新分配和预测计数方面的第一个错误也与较高的失败概率密切相关。 尽pipe存在这些强相关性,但我们发现基于SMART参数的故障预测模型在预测精度上可能受到严重限制,因为我们很大一部分故障驱动器没有显示任何SMART错误信号。

还有其他研究也得出结论,SMART数据是有用的,但在预测驱动器故障方面有其局限性。

我个人的经验是,在把驱动器标记为坏之前,整体的智能状态会等待太多的错误。 个别的参数是有用的,有些是第一个错误的内在失败的可怕的警告,但并不是所有这些都是确凿的证据表明驱动器坏或很快就会坏。 阅读http://en.wikipedia.org/wiki/SMART 。 描述最常见的属性是什么。

虽然如果整体SMART状态不好,那么磁盘肯定是坏的。

在一个有冗余磁盘的RAID中,如果我执行2个一致性检查并修复成一行,并且在第二个过程中发现错误,那么我将不再使用该HDD,并尝试进行保修更换。 我的推理是第一遍find并修正任何不一致,第二遍应该回来干净。 如果没有,则意味着硬盘即使在几个小时内也无法存储数据。

监视SMART信息是判断磁盘是否坏的一个好方法,但是我不会用它来确保磁盘是健康的(尽pipe报告的好坏)。 SMART的一个问题是,它只会告诉你什么时候磁盘出现了问题。 这可以帮助您确定一个磁盘是否会死掉,并允许您在达到阈值时更换磁盘。 磁盘可以在运行中发生灾难性的机械故障,而不存在以前的问题。 即使SMARTtesting从未显示任何问题(或将其标记为传递),磁盘也会失败。 因此,我总是使用SMARTtesting作为对磁盘历史的洞察,以便在出现问题之前进行抢先式磁盘交换,而不是用于判断磁盘是否良好的方法。

另外,询问SMARTtesting的“可靠性”是多less:如果使用总体健康评分,则得到的平均值不会像手动查看testing的各个组件那样“可靠”,并自行决定需要采取的行动要采取。 例如,我有很多磁盘返回一个健康的SMARTtesting,但经过进一步的检查可以看到,他们在SMARTtesting中有过多的热量触发,不足以标记他们不好,但足够的信息告诉我:a)磁盘有b)如果磁盘仍然在同一个系统,那么也许我应该做一些这方面的工作。

关键在于,无论何时,如果您依赖于自动化的“平均报告”来提供“可靠”的信息,那么您将面临获取不良信息的可能性。