smartd是一个守护进程(一个帮助程序),它能监视拥有自我监视,分析和汇报技术(Self-Monitoring, Analysis, and Reporting Technology - SMART)的硬盘。
SMART系统使得硬盘能监视并汇报自己的运行状况。它的一个重要特性是能够预测失败,使得系统管理员能避免数据丢失。
smartd由kernel-utils包缺省安装。用命令 rpm -ql kernel-utils 可以列出kernel-utils包中的文件。
smartd守护进程通常在系统启动的时候被开启,它的配置文件是/etc/smartd.conf。
比如,假设有两个硬盘被安装,/dev/hda和/dev/hdb。一个是CD_ROM设备,另一个是硬盘。为了检测它们是否支持SMART,使用命令 smartctl -i /dev/hda 和 smartctl -i /dev/hdb:
# /usr/sbin/smartctl -i /dev/hda
smartctl version 5.1-11 Copyright (C) 2002-3 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model: ST380011A
Serial Number: 3JVB672N
Firmware Version: 8.01
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 6
ATA Standard is: ATA/ATAPI-6 T13 1410D revision 2
Local Time is: Fri Aug 20 14:09:16 2004 EST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
”SMART support is: Available - device has SMART capability.“这行说明支持SMART。"SMART support is: Enabled”这行说明SMART已经被打开。
CD-ROM设备和旧式的硬盘不支持SMART,这可以从smartctl -i /dev/hdb的输出看出:
# /usr/sbin/smartctl -i /dev/hdb
smartctl version 5.1-11 Copyright (C) 2002-3 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model: LTN526D
Serial Number: [No Information Found]
Firmware Version: 9S03
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 1
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Fri Aug 20 14:24:43 2004 EST
SMART is only available in ATA Version 3 Revision 3 or greater.
We will try to proceed in spite of this.
SMART support is: Unavailable - device lacks SMART capability.
A mandatory SMART command has failed: exiting. To continue, use the -T
option to set the tolerance level to 'permissive'
注意有些硬盘控制器不支持SMART。比如有些硬件RAID控制器不支持,或者不会传递SMART信息,即使加入的硬盘支持SMART。
可以修改/etc/smartctl.conf文件,使得smartd只监视你想监视的设备。假设只有/dev/hda需要被监视,在该设备上如果有警告信息发生,需要把它发给根用户,那么/etc/smartd.conf需要这样修改:
# /etc/smartd.conf
# Sample configuration file for smartd. See man 5 smartd.conf.
# Home page is: http://smartmontools.sourceforge.net
...
# A very silent check. Only report SMART health status if it fails
# But send an email in this case
/dev/hda -a -m root@localhost.localdomain ...
编辑完/etc/smartd.conf,重启该守护进程:
# /sbin/service smartd restart
Shutting down smartd: [FAILED]
Starting smartd: [ OK ]
要设置smartd在系统启动时候被激活,在根用户下用 chkconfig smartd on 命令。
/etc/smartd.conf文件写的很好,有很多例子可以参考。