Ubuntu 14.04服务器smartctl自动监控:检查、告警与配置方案
Ubuntu 14.04 SMART监控全指南
针对你提出的一系列SMART监控相关问题,我来逐一拆解解答,这些都是服务器运维中保障存储健康的关键操作:
1. Ubuntu 14.04服务器默认会自动执行smartctl监控吗?
答案是不会。Ubuntu 14.04默认没有启用定期的SMART自动监控,你需要手动配置smartd(smartmontools套件中的守护进程)来实现自动检测、定期测试和告警。
2. 如何验证SMART监控是否正常运行?
要确认监控是否在正常工作,可以从这几个维度检查:
- 检查
smartd服务状态:运行命令sudo service smartd status,如果输出显示running,说明服务正在运行;如果是stopped,则服务未启动。 - 查看smartd运行日志:Ubuntu 14.04的日志存在
/var/log/syslog中,用命令grep smartd /var/log/syslog过滤相关日志,你能看到设备检测记录、属性变化提示或者测试完成的信息,比如类似Device: /dev/sda, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 100 to 99的条目,这说明监控在工作。 - 确认测试调度配置:虽然
sudo smartctl -a /dev/sda不直接显示系统的测试调度,但你可以查看smartd的核心配置文件/etc/smartd.conf,里面定义了针对每个设备的测试计划和告警规则;另外,sudo smartctl -c /dev/sda可以查看设备本身支持的测试类型和默认自测试周期,但这是设备硬件层面的设置,系统级的调度还是以smartd.conf为准。 - 手动触发测试验证:运行
sudo smartctl -t short /dev/sda触发一次短自测试(通常几分钟完成),之后用sudo smartctl -l selftest /dev/sda查看测试结果,如果能看到本次测试的记录,说明SMART功能和smartd的基础工作流程是正常的。
3. 如何确保出现问题时收到邮件告警?
要实现故障邮件告警,需要完成两部分配置:
- 配置
smartd的邮件通知规则:编辑/etc/smartd.conf,找到默认的DEVICESCAN行(或者针对特定设备的配置),修改为带邮件参数的配置。比如:
其中DEVICESCAN -m your-alert-email@example.com -M exec /usr/share/smartmontools/smartd-runner-m后面填写你的收件邮箱,-M exec指定使用系统自带的脚本发送邮件。如果只针对单个设备(比如/dev/sda),可以写:/dev/sda -m your-alert-email@example.com -M daily-M daily表示每天最多发送一次同类型告警,避免邮件轰炸。 - 确保系统邮件服务正常运行:Ubuntu 14.04默认没有预装邮件服务,你需要安装
postfix或者sendmail。以安装postfix为例:
安装过程中选择"Internet Site",设置服务器的主机名作为邮件域名即可。安装完成后,测试邮件发送:sudo apt-get update && sudo apt-get install postfix
如果能收到这封测试邮件,说明邮件服务配置正常。echo "SMART告警测试邮件" | mail -s "SMART Test Alert" your-alert-email@example.com
4. Ubuntu环境下简单配置SMART监控的方法
既然Ubuntu 14.04默认未启用,那配置步骤非常直接:
- 安装smartmontools套件:
sudo apt-get update && sudo apt-get install smartmontools - 配置smartd规则:编辑
/etc/smartd.conf,注释掉默认的DEVICESCAN行(如果存在),或者修改为符合你需求的配置。比如要启用全设备扫描+邮件告警+定期测试,可以写:
这里DEVICESCAN -m your-alert-email@example.com -s (S/../.././01|L/../../7/02)S代表短测试,每天凌晨1点执行;L代表长测试,每周日凌晨2点执行,时间格式为(测试类型/日/月/周/时)。 - 启动smartd并设置开机自启:
sudo service smartd start sudo update-rc.d smartd defaults
5. 较新Ubuntu LTS版本中smartctl默认设置的变化
在Ubuntu 18.04及后续的LTS版本中,SMART监控的默认配置有不少优化:
- 默认启用smartd:安装smartmontools后,smartd服务会自动启动并设置为开机自启,不需要手动执行启动和自启配置命令。
- 简化的默认配置:默认的
/etc/smartd.conf已经包含DEVICESCAN行,并且启用了基础告警规则,你只需要添加邮件地址就能快速启用告警。 - systemd集成优化:改用
systemctl管理服务,比如用sudo systemctl status smartd查看状态,journalctl -u smartd查看日志,比Ubuntu 14.04的sysvinit更便捷。 - 默认定期测试:部分新版本中,默认配置已经包含了定期短测试和长测试的调度,无需手动添加测试计划。
- 邮件通知更易用:默认集成了更完善的邮件发送脚本,减少了额外配置的步骤。
内容的提问来源于stack exchange,提问作者jdpipe
相关产品推荐
相关产品推荐

