问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

SMART关键指标解析:如何通过解读SMART信息预测硬盘故障

创作时间:
作者:
@小白创作中心

SMART关键指标解析:如何通过解读SMART信息预测硬盘故障

引用
CSDN
1.
https://blog.csdn.net/MrSate/article/details/88564764

在Linux系统中,如何通过解读SMART信息来预测硬盘故障?本文将详细介绍SMART技术的定义、问题分析以及解决方案,重点介绍如何使用smartctl工具来监控硬盘状态,并提供具体的SMART属性值及其意义的解释。

说明

本文档介绍磁盘 S.M.A.R.T信息,在Linux上如何根据smartctl的输出判断磁盘是否快要损坏(即使此时smartctl给出磁盘状态依然是PASSED),就像Windows上很多软件做的那样。即如何预先判断磁盘可能失败的情况,注意此文章只针对机械硬盘。

内容

定义

Wiki中的定义:(https://zh.wikipedia.org/wiki/S.M.A.R.T.)
S.M.A.R.T.,全称为“Self-Monitoring Analysis and Reporting Technology”,即“自我监测、分析及报告技术”,是一种自动的硬盘状态检测与预警系统和规范。通过在硬盘硬件内的检测指令对硬盘的硬件如磁头、盘片、马达、电路的运行情况进行监控、记录并与厂商所设定的预设安全值进行比较,若监控情况将或已超出预设安全值的安全范围,就可以通过主机的监控硬件或软件自动向用户作出警告并进行轻微的自动修复,以提前保障硬盘数据的安全。除一些出厂时间极早的硬盘外,现在大部分硬盘均配备该项技术。

问题

下面两张图分别是同一块磁盘在Windows HDtune输出和Linux上的"smartctl -x /dev/sdb"的输出,通过对比两张图片可以发现,同一块盘,相同的S.M.A.R.T.属性值(197属性raw value值为8),Windows上HDtune判断为警告状态,但是Linux上的S.M.A.R.T仍然为PASSED状态,显然Linux上smartctl工具对于磁盘的状态监控是不够敏感的。

实际上当磁盘出现一些“可以控制”错误的时候,S.M.A.R.T.并不会报告硬盘状态“FAILED”,即使是这些“可以控制”很有可能引起进一步的“不可以控制”错误,当S.M.A.R.T.报告硬盘状态“FAILED”即“不可以控制”的错误发生的时候,磁盘可能已经无法使用了。所以为了提前预计磁盘可能的失效,我们应该通过S.M.A.R.T.的输出来预计磁盘的状态,即使S.M.A.R.T.报告硬盘状态“PASSED”的值。

实际上,很多Windows上的磁盘监控软件中的S.M.A.R.T.属性监控软件(例如上面的HDtune)就是这么做的,但是相关的软件却并没有Linux支持命令行输出的的版本来让程序使用,所以需要我们自行判断。

那么在Linux上应该如何向Windows上的软件(如HDtune)那样根据具体的输出SAMRT数值进行可能失效的判断呢?

解决方案

资料

首先要了解S.M.A.R.T.的各个属性值的意义,可以参照有详细的介绍:

但是S.M.A.R.T.有非常多的属性,并且各个属性的意义不尽相同,并且其判断方式也不进相同,那么应该选取那几个属性值进行监控并且判断呢?

这里可以参照著名的备份厂商backblaze的文章中的建议
https://www.backblaze.com/blog/hard-drive-smart-stats/

backblaze建议主要监控以下五个属性的RAW_VALUE的值:

  • SMART 5 – Reallocated_Sector_Count.
  • SMART 187 – Reported_Uncorrectable_Errors.
  • SMART 188 – Command_Timeout.
  • SMART 197 – Current_Pending_Sector_Count.
  • SMART 198 – Offline_Uncorrectable.

如果发现该五项值中有大于0的情况,就说明该磁盘应该对它进行持续的关注了,因为根据其经验这5项S.M.A.R.T.指标的增长表明即将发生磁盘驱动器故障。

那么通过这5项属性,可以有多大把握预测到磁盘失效呢?

根据其文章:
https://www.backblaze.com/blog/what-smart-stats-indicate-hard-drive-failures/

其运营的磁盘中有4.2%的磁盘会出现上述5个S.M.A.R.T. RAW_VALUE大于零的情况,并且其中有76.7%的磁盘在之后真的出现了故障。当然还有23.3%的磁盘的故障无法通过这5个指标提前预测到。

实际上值得关注的参数还有一个即

结论

根据上文在Linux上,通过smartcl命令输出中这五项指标(也可以再添加一个SMART 10 Spin_Retry_Count):

  • SMART 5 – Reallocated_Sector_Count.
  • SMART 187 – Reported_Uncorrectable_Errors.
  • SMART 188 – Command_Timeout.
  • SMART 197 – Current_Pending_Sector_Count.
  • SMART 198 – Offline_Uncorrectable.

RAW_VALUE的值大于零为依据,即可以有7成的机率提前预测磁盘的失效。但是这些属性的RAW_VALUE值出现了大于零的数值,并不代表这些盘一定会损坏,有可能磁盘已经自动修复了这些错误。所以这些值可以作为判断的依据,是否要更换磁盘还需要将管理员自行判断。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号