关于我们    服务条款    新闻动态    帮助中心    购物车
+852-56430022注册 登录

CentOS7 硬盘检测

一、测试硬盘健康状态

安装相关工具:yum -y install smartmontools

SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及每一块硬盘(包括IDE、SCSI),在运行的时候都会将自身的若干参数记录下来,这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等。硬盘运行了几千小时后,很多内在的物理参数都会发生变化,某一参数超过报警阈值,则说明硬盘接近损坏,此时硬盘依然在工作,如果用户不理睬这个报警继续使用,那么硬盘将变得非常不可靠,随时可能故障。
启用SMART
SMART是和主板BIOS上相应功能配合的,要使用SMART,必须先进入到主板BIOS设置里边启动相关设置。一般从Pentium2级别起的主板,都支持SMART,BIOS启动以后,就是操作系统级别的事情了(Windows没有内置SMART相关工具,需要安装第三方工具软件),好在Linux上很早就有了SMART支持了,如果把Linux装在VMware等虚拟机上,在系统启动时候可以看到有个服务启动报错:smartd。这个服务器就是smart的daemon进程(因为vmware虚拟机的硬盘不支持SMART,所以报错)。smartd是一个守护进程(一个帮助程序),它能监视拥有自我监视,分析和汇报技术(Self-Monitoring, Analysis, and Reporting Technology - SMART)的硬盘。SMART体系使得硬盘能监视并汇报自己的运行状况.它的一个重要特性是能够预测失败,使得系统管理员能避免数据丢失。

1、smartctl -i <device> :显示设备的身份信息,检查硬盘是否打开了SMART支持。
看到有:

SMART support is: Enabled

说明硬盘支持SMART。

如果为Disabled,使用:

smartctl --smart=on --offlineauto=on --saveauto=on <device>

启用SMART。

2、smartctl -H <device> :查看硬盘的健康状况。


=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

PASSED表示硬盘健康状态良好,如果为Failure那就要立刻更换硬盘。

3、smartctl -A <device> :显示设备SMART厂商属性和值。

      我们关心的几个参数:

    • SMART 005(0x05) - Reallocated Sectors Count:是并被成功重新分配了的坏扇区计数。每个厂家的不同型号硬盘都可能会有一个保留扇区池,这个池中会有不同数量的扇区以供重分配,如果池中所有的都被使用了,那么再有坏扇区就无法分配。这个数值太大就会有问题。

    • SMART 187(0xBB) - Reported_Uncorrectable_Errors:对于读取的区块的硬件ECC校验错误的计数。一般应该为0,如果非零,就该考虑换硬盘了。
      SMART 188(0xBC) - Command_Timeout:硬盘命令超时而放弃的计数。正常值应该是0,如果远大于0,那么可能是电源或者数据线有问题。

    • SMART 197(0xC5) - Current Pending Sector Count:这些“不稳定”扇区,有可能使用写操作使其恢复读写校验正常,这样他们就会被从这个技术中减去。如果写操作也失败,那么固件程序就可能会对其重分配。

    • SMART 198(0xC6) - Offline_Uncorrectable:读写扇区数据错误的总计数。正常值为0,否则说明此硬盘的磁盘表面或者机械可能出现问题。

4、smartctl -l error <device> :显示硬盘历史错误信息。

5、smartctl --test=TEST <device> :硬盘自测。
TEST可取值:offline, short, long, conveyance, select,M-N, pending,N, afterselect,[on|off], scttempint,N[,p]
此时可以用smartctl -X中断后台测试。

6、smartctl -l selftest <device> :显示硬盘测试信息。

7、smartctl -a <device> :显示硬盘SMART的全部信息。

 

 

二 、测试硬盘读写速度

安装相关工具:yum -y install hdparm

1、hdparm -Tt <device> :测试读取速度

 

其它测试读写速度方法:

测试写速度:dd if=/dev/zero bs=1k count=1000000 of=1Gb.file

测试读速度:dd if=1Gb.file bs=64k |dd of=/dev/null