配置Smartctl和Smartd实现实时监控 首先,编辑smartctl的配置文件(/etc/default/smartmontools)以便在系统启动时启动smartd,并以秒为单位指定间隔时间(如7200 = 2小时)。 - start_smartd=yes
- smartd_opts="--interval=7200"
下一步,编辑smartd的配置文件(/etc/smartd.conf),添加以下行内容。 - /dev/sda -m myemail@mydomain.com -M test
- -m :指定发送测试报告到某个电子邮件地址。这里可以是系统用户比如root,或者如果服务器已经配置成发送电子邮件到系统外部,则是类似于myemail@mydomain.com的邮件地址。
- -M :指定发送邮件报告的期望类型。
- once:为检测到的每种磁盘问题只发送一封警告邮件。
- daily:为检测到的每种磁盘问题每隔一天发送一封额外的警告提醒邮件。
- diminishing:为检测到的每种问题发送一封额外的警告提醒邮件,开始是每隔一天,然后每隔两天,每隔四天,以此类推。每个间隔是前一次间隔的2倍。
- test:只要smartd一启动,立即发送一封测试邮件。
- exec PATH:取代默认的邮件命令,运行PATH路径下的可执行文件。PATH必须指向一个可执行的二进制文件或脚本。当检测到一个问题时,可以指定执行一个期望的动作(闪烁控制台、关闭系统等等)。
保存改动并重启smartd。
smartd发送的邮件应该是这个样子。 
在上图中,没有检测到错误。如果实际上检测到了错误,那么错误会出现在“下列警告/错误由smartd守护进程写入日志”这一行的下面。
最后,可以使用“-s”标志和形如“T/MM/DD/d/HH”的正则表达式按照想要的调度方案执行测试,其中:
正则表达式中的T代表测试的类型: - L:长测试
- S:短测试
- C:传输测试(仅限ATA)
- O:离线测试(仅限ATA)
其它的字符代表测试执行的日期和时间: - MM是一年中的月份。
- DD是一月中的天份。
- HH是一天中的小时。
- d是一个星期中的某天(从1=周一到7=周日)。
- MM、DD和HH使用两位十进制数字表示。
在上述表达中的小圆点表示所有可能的值。形如'(A|B|C)'在圆括号里的表达式表示三个可能值A、B和C中的任意一个。形如[1-5]在方括号中的表达式表示1到5的范围(包含5).
例如,想要在每个工作日的下午一点为所有的磁盘执行一次长测试,在/etc/smartd.conf中添加如下行内容。确保编辑完重启smartd。
- DEVICESCAN -s (L/../../[1-5]/13)
总结 无论你想要快速查看磁盘的电子和机械性能,还是对整个磁盘执行一次长时间扫描测试,都不要让自己陷入日复一日地执行命令中而忘记了定期检测磁盘的健康状态。多关注磁盘的健康状况,你会受益的!
via: http://xmodulo.com/check-hard-disk-health-linux-smartmontools.html 作者:Gabriel Cánepa 译者:KayGuoWhu 校对:wxy 本文由 LCTT 原创翻译,Linux中国 荣誉推出 |