首页 > 代码库 > SMART 硬盘状态检测

SMART 硬盘状态检测

SMART 简介

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

smartmontools

  • 项目主页:http://www.smartmontools.org/
  • 功能描述:smartmontools是一款开源的磁盘控制,监视工具,可以运行在 Linux,Unix,BSD,Solaris,Mac OS,OS/2,Cygwin和Windows上,同时它还可以从启动光盘或启动软盘运行,支持ATA/ATAPI/SATA-3(到-8)位的硬盘和 SCSI硬盘,另外还支持磁带设备,它主要包括了两个实用程序:smartctl和smatd。

  它监控的硬盘必须有S.M.A.R.T特性,目前所有硬盘都有这个特性,但默认情况下通常没有开启这个功能,有两种 方法来开启这个特性:

  • 通过BIOS设置选项
  • 通过smartctl命令。利用它可以测试硬盘的健康状况,并在发生故障前进行预警。

smartctl的基本使用

  • smartctl –scan
  • smartctl -i /dev/sda
  • smartctl -H /dev/sda
  • smartctl -a /dev/sda
  • smartctl -A /dev/sda

SMART 属性概述

SMART的属性分为Critical Attributes和Informative attributes两类,关键属性和信息属性。
其中关键属性包括了有关硬盘健康的最重要的数据,而信息属性所提供的数据一般只是辅助性的。区分它们的方法是看threshold(阈值/极限值),值为非零代表关键属性,为零代表信息属性。

SMART的值的说明

* Value           当前值  
* Worst           最坏值,可以理解为某项出现过的峰值  
* Raw Values/Data 和某个属性有关联的数据总值 
* Threshold       阈值/极限值:如果某个属性超过threshold规定的极限值时,就表示你的硬盘出现了问题。
* status          状态:
                   OK: Value is normal/OK:Always passing代表正常;
                   Warning、Pre-Failure表示可能会发生故障
                   Bad、Failed表示已经有故障了。

每个驱动器制造商定义了一组属性,并设置阈值,超过此属性不应在正常操作下通过。每个属性都有一个原始值,其含义是完全由驱动器制造商(但通常对应于计数或物理单位,如摄氏度或秒)归一化值,取值范围为1~253(一般来说 1代表最坏的情况下和253代表最好)和最差值,它代表了最低记录,归一化值。根据不同的生产厂家,100或200的值往往会被选为初始标准值。已在各种产品中实现至少一个SMART属性的制造商包括三星,希捷,IBM(日立),富士通,迈拓,东芝,英特尔,STEC公司,西部数据与易拓科技。

重要的关键属性

一般来说,如果下面这10项指标开始明显变化,说明硬盘开始进入不稳定的状态,甚至有随时停止工作的可能性

编号 十六进制值 名称 最优状态 中文名称
01 0x01 Read Error Rate 越低越好 底层数据读取错误率
05 0x05 Reallocated Sectors Count 越低越好 重新分配的扇区统计值
10 0x0A Spin Retry Count 越低越好 起转重试次数
184 0xB8 End-to-End error / IOEDC 越低越好 端到端错误
188 0xBC Command Timeout 越低越好 命令超时
196 0xC4 Reallocation Event Count 越低越好 重映射操作记数
197 0xC5 Current Pending Sector Count 越低越好 当前等待中扇区计数
198 0xC6 Offline Uncorrectable 越低越好 无法修正的扇区总数
201 0xC9 Soft Read Error Rate 越低越好 软读写错误率
230 0xE6 Drive Life Protection Status 越越高好 驱动器寿命保护状态

参考文档

  • http://zh.wikipedia.org/wiki/S.M.A.R.T.
  • http://en.wikipedia.org/wiki/Comparison_of_S.M.A.R.T._tools
  • http://en.wikipedia.org/wiki/Self-Monitoring%2C_Analysis%2C_and_Reporting_Technology
  • http://www.hdsentinel.com/smart/

SMART 硬盘状态检测