1. 简介
smartctl是Linux系统中常用的磁盘健康检查工具,基于SMART(Self-Monitoring, Analysis and Reporting Technology)技术。SMART是一种现代硬盘普遍支持的自我监测、分析和报告技术,能够提前预警磁盘可能发生的故障。
smartmontools软件包包含两个主要工具:
smartctl:命令行工具,用于控制和监控存储设备
smartd:守护进程,用于自动监控和报告磁盘状态
2. 安装
Ubuntu/Debian系统
| |
CentOS/RHEL系统
| |
启动服务
| |
3. 基本使用
3.1 检查磁盘是否支持SMART
| |
关键查看最后两行输出:
| |
3.2 启用SMART支持(如未开启)
| |
参数说明:
--smart=on:启用SMART功能
--offlineauto=on:启用自动离线测试
--saveauto=on:启用属性自动保存
3.3 检查磁盘健康状况
| |
健康状态显示为"PASSED"表示正常,“FAILED"表示磁盘可能出现问题。
3.4 查看详细SMART信息
| |
4. SMART属性详解
SMART属性表包含以下重要列:
| 列名 | 说明 |
|---|---|
| ID | 属性ID,1-255之间的数字 |
| ATTRIBUTE_NAME | 制造商定义的属性名称 |
| VALUE | 标准化值(1-253),值越高越好 |
| WORST | 历史最低值 |
| THRESH | 故障阈值 |
| TYPE | 属性类型(Pre-fail关键属性/Old_age非关键属性) |
| WHEN_FAILED | 故障状态指示 |
| RAW_VALUE | 原始数值 |
重点关注属性:
5 Reallocated_Sector_Ct:重映射扇区计数
197 Current_Pending_Sector:当前待处理扇区数
198 Offline_Uncorrectable:离线无法校正扇区数
5. 磁盘测试
5.1 短期测试(约2分钟)
| |
5.2 长期测试(全面扫描,时间较长)
| |
5.3 查看测试进度和结果
| |
5.4 中止测试
| |
6. 高级功能
6.1 查看错误日志
| |
6.2 查看测试时间估算
| |
6.3 自动监控配置
编辑/etc/smartd.conf配置文件:
| |
参数说明:
-a:监控所有属性
-o on:开启自动离线测试
-S on:开启属性自动保存
-s:定期测试计划
-m:发送邮件通知
7. 实际应用建议
7.1 定期检查计划
建议将以下命令加入crontab定期执行:
| |
7.2 故障预警指标
当出现以下情况时应立即备份数据:
健康检查结果为"FAILED”
任何Pre-fail属性显示"FAILING_NOW"
Reallocated_Sector_Ct值持续增加
出现大量待处理扇区
7.3 注意事项
RAID阵列中的磁盘可能需要特殊参数(如-d megaraid,N)
USB外接磁盘的SMART支持可能有限
虚拟机中的磁盘可能无法使用SMART功能
8. 总结
smartctl是Linux系统管理员必备的磁盘健康监测工具,通过定期监控可以提前发现磁盘潜在问题,避免数据丢失。结合smartd守护进程,可以实现自动化监控和报警,为系统稳定性提供重要保障。