首页/系统/信创系统运维速查/smartctl 磁盘健康检查
服务与运维65 条

smartctl 磁盘健康检查

SMART 数据用于判断磁盘是否亚健康:-H 看健康状态,-A 关注重分配扇区、待映射扇区、命令超时等属性;定期巡检加告警能提前于故障发现。

信创系统运维速查系统更新于 2026-10-13

SMART 检查怎么做

SMART 是磁盘自带的健康监测数据,smartctl 负责读取与触发自检。-H 给出总体健康判定,-A 列出各项属性与原始值,其中重分配扇区、待映射扇区、不可纠正错误等与故障强相关。定期巡检加阈值告警,能在盘彻底坏掉之前安排更换。

基本信息

所属包smartmontools(RPM 系与 DEB 系同包名)
总体状态smartctl -H /dev/sdX
属性明细smartctl -A /dev/sdX
自检smartctl -t short 或 -t long
NVMe 盘smartctl -a /dev/nvme0

典型使用场景

  • 阵列掉盘或读写报错时确认盘的健康状态
  • 定期巡检:纳入监控脚本按周采集关键属性
  • 更换计划:重分配扇区非零时安排替换
  • 温度监控:机房散热异常时确认盘温是否超标
  • 自检演练:确认盘能否完成读写自检

常用命令

常用命令
dnf install -y smartmontools            # 安装工具包,DEB 系用 apt
smartctl -H /dev/sda                     # 总体健康状态
smartctl -A /dev/sda | grep -Ei 'Reallocated|Pending|Uncorrectable|Power_On|Temperature'
smartctl -a /dev/sda | head -40          # 完整信息
smartctl -t short /dev/sda               # 触发短自检
smartctl -l selftest /dev/sda            # 查看自检结果
smartctl -a /dev/nvme0                   # NVMe 盘用同样思路查看

关键属性

属性含义处置建议
Reallocated_Sector_Ct已重分配扇区数非零即列入更换计划
Current_Pending_Sector待映射扇区数非零说明写入已受影响
Offline_Uncorrectable离线不可纠正错误非零通常意味着坏块
Power_On_Hours累计通电时长结合寿命曲线评估更换
Temperature_Celsius盘体温度长期偏高加速老化
接在 RAID 卡后面的盘需要加接口参数(常见形式是 -d megaraid,N),直接对成员盘做读写类操作会干扰阵列;操作前先确认拓扑再执行。
自检分短检与长检:短检只检查关键区域,消耗时间短;长检会遍历全盘,建议安排在业务低峰执行。

巡检落地

  • 写脚本按周采集关键属性
  • 把非零的坏块计数接入告警
  • 记录每次采集结果以便看趋势
  • 更换前后记录序列号与物理位置
  • 阵列环境按控制器参数采集

易错点

  • 等重分配扇区归零再观察:这类计数通常只增不减,非零就该进入更换与备份流程
  • 用固定阈值判断温度与坏块:不同介质与厂商标准不同,以厂商手册和趋势变化为准
  • 在阵列成员盘上直接跑自检:可能影响阵列性能甚至触发掉盘,先在业务低峰安排
  • 只做巡检不下发告警:数据采到但没人看等于没有监控,应接入监控平台并设定阈值
  • 只看总体健康判定就放心:判定通过但属性持续恶化的盘并不少见,必须看属性明细与趋势

数据来源与参考

  • smartmontools 官方文档(smartctl)
  • man 8 smartctl
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌