smartctl命令以及介绍
SMART是一种磁盘自我分析检测技术。
硬盘在运行的时候,都会将自身的若干参数记录下来。
这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等。
硬盘运行了几千小时后,很多内在的物理参数都会发生变化。
某一参数超过报警阈值,则说明硬盘接近损坏。
此时硬盘依然在工作,如果用户不理睬这个报警继续使用。
那么硬盘将变得非常不可靠,随时可能故障。
因此我们可以利用smartctl信息分析磁盘健康状态来判断磁盘是否需要更换。
smartctl工具常在Linux系统下面使用,Windows系统有其他类似的工具使用。
常用命令
1、smartctl -a <device> :显示硬盘SMART的全部信息。检查该设备是否已经打开SMART技术。
2、smartctl -H <device> :查看硬盘的健康状况。一般看不出来问题,没啥用。
root@username:~# smartctl -H /dev/sdc
smartctl 7.1 2019-12-30 r5022 [sw_64-linux-4.19.0-sw64-desktop] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
3、smartctl -l selftest <device> :显示硬盘测试信息。
4、smartctl -l error <device> :显示硬盘历史错误信息。
5、smartctl -A <device> :显示设备SMART厂商属性和值。
6、对硬盘进行检测 手工对硬盘进行测试的方法有以下四种:
smartctl -t short <device> 后台检测硬盘,消耗时间短
smartctl -t long <device> 后台检测硬盘,消耗时间长
smartctl -C -t short <device> 前台检测硬盘,消耗时间短
smartctl -C -t long <device> 前台检测硬盘,消耗时间长
其实就是利用硬盘SMART的自检程序。此时可以用smartctl -X中断后台测试。
7、smartctl -i <device> :显示设备的身份信息,检查硬盘是否打开了SMART支持。
看到有:SMART support is: Enabled,说明硬盘支持SMART。
如果为Disabled,使用:smartctl --smart=on --offlineauto=on --saveauto=on <device>,启用SMART。
8、smartctl -s on <device> 如果没有打开SMART技术,使用该命令打开SMART技术。
smartctl 参数信息说明:
使用smartctl -a /dev/sda 可以查看所有磁盘信息,分析磁盘关键smartctl信息可以直接使用smartctl -A /dev/sda
例如: (主要是SATA盘,SAS盘无法读取这些信息)
FLAG是标记,WHEN_FAILED 代表错误信息,上面显示的WHEN_FAILED纵行是空行,说明硬盘没有故障。如果WHEN_FAILED显示数字,表明硬盘磁道可能有比较大的坏道。
参数说明:
Raw read error rate 错误读取率:记录读取数据错误次数(累计),非0值表示硬盘已经或者可能即将发生坏道;
Reallocated_Sector_Ct 出厂后产生的坏块个数, 初始值为100,如果有坏块,从1开始增加,每4个坏块增加1
reallocated sectors count 重分配扇区计数:硬盘生产过程中,有一部分扇区是保留的。当一些普通扇区读/写/验证错误,则重新映射到保留扇区,挂起该异常扇区,并增加计数。随着计数增加,io性能骤降。如果数值不为0,就需要密切关注硬盘健康状况;如果持续攀升,则硬盘已经损坏;如果重分配扇区数超过保留扇区数,将不可修复;
power-on hours 累计通电时间:指硬盘通电时间累计值。(单位:天/时/分/秒。休眠/挂起不计入,新购入的硬盘应小于100hrs);
power cycle count 电源开关计数:每次加电增加一次计数,新硬盘应小于10次;
Temperature_Celsius 温度:显示磁盘温度。
reallocetion event count 重映射扇区操作次数:上边的重映射扇区还记得吧,这个就是操作次数,成功的,失败的都计数。
throughput performance 磁盘吞吐量:平均吞吐性能(一般在进行了人工 Offline S.M.A.R.T. 测试以后才会有值。);
spinup time 主轴电机到达要求转速时间(毫秒/秒);
start/stop count 电机启动/停止次数(可以当作开机/关机次数,或者休眠后恢复,均增加一次计数。全新的硬盘应该小于10);
seek error rate 寻道错误率:磁头定位错误一次,则技术增加一次。如果持续攀升,则可能是机械部分即将发生故障;
seek timer performance 寻道时间:寻道所需要的时间,越短则读取数据越快,但是如果时间增加,则可能机械部分即将发生故障;
spinup retry count 电机启动失败计数:电机启动到指定转速失败的累计数值。如果失败,则可能是动力系统产生故障;
g-sensor error rate 坠落计数:异常加速度(例如坠落,抛掷)计数——磁头会立即回到landing zone,并增加一次计数;
power-off retract count 异常断电次数:磁头在断电前没有完全回到landing zone的次数,每次异常断电则增加一次计数;
load/unload cycle count 磁头归位次数:指工作时,磁头每次回归landing zone的次数;
current pending sector count 待映射扇区数:出现异常的扇区数量,待被映射的扇区数量。 如果该异常扇区之后成功读写,则计数会减小,扇区也不会重新映射。读错误不会重新映射,只有写错误才会重新映射;
uncorrectable sector count 不可修复扇区数:所有读/写错误计数,非0就证明有坏道,硬盘报废;