硬盘监控和分析工具:Smartctl
Smartctl(S.M.A.R.T自监控,分析和报告技术)是类Unix下实施SMART任务命令行套件或工具,它用于打印SMART自检和错误日志,启用并禁用SMRAT自动检测,以及初始化设备自检。
Smartctl对于Linux物理服务器非常有用,在这些服务器上,可以智能的对磁盘进行错误检查,并将硬件RAID相关的磁盘信息摘录下来。
在Linux上很早就有了SMART支持了。如果把Linux装在VMware等虚拟机上,在系统启动时可以看到有个服务启动报错:smartd
这个服务就是smart的daemon进程(因为VMware虚拟机的硬盘不支持SMART,所以报错)
首先通过dmesg工具,确认一下硬盘的设备符号
hdb中的h代表IDE,如果显示位sdb,则代表SATA和SCSI。
最后一个字幕b代表Primary总线,第二块硬盘即Slave位置
下面是一些常用的smartctl命令:
命令 | 描述 |
---|---|
-i | 指定设备 |
-d | 指定设备类型,例如:ata,scsi,marvell,sat,3ware,N |
-a或A | 显示所有信息 |
-l | 指定日志类型,例如:TYPE:error,selftest,selecttive,directory,background,scttemp[sts,hist] |
-H | 查看硬盘健康状态 |
-t short | 后台检测硬盘,消耗时间短 |
-t long | 后台检测硬盘,消耗时间长 |
-C -t short | 前台检测硬盘,消耗时间短 |
-C -t long | 前台检测硬盘,消耗时间长 |
-X | 中断后台检测硬盘 |
-l selftest | 显示硬盘检测日志 |
在hi用上述命令前,首先应确认硬盘是否打开了SMART支持 smartctl -i /dev/sda
[root@localhost# smartctl -i /dev/sdb
smartctl 5.39.1 2010-01-28 r3054 [i386-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
Device: SEAGATE ST373453LC Version: 0006
Serial number: 3HW07M7K00007340AX57
Device type: disk
Transport protocol: Parallel SCSI (SPI-4)
Local Time is: Tue Nov 6 16:54:06 2012 CST
Device supports SMART and is Enabled
Temperature Warning Enabled
如果看到不支持这需要我们手动开启支持
[root@localhost]# smartctl --smart=on --offlineauto=on --saveauto=on