服务器硬盘健康监测必备:smartctl核心命令与SMART关键指标全解析

AI 概述
smartctl是smartmontools核心工具,用于读取和管理硬盘SMART信息,可预测硬盘故障。SMART持续监控硬盘参数,不同指标有不同危险阈值。smartctl适用于多系统,基本语法为“smartctl [OPTIONS] [DEVICE]”。它功能丰富,可查看硬盘信息、健康状态,执行自检,查看日志等,还支持NVMe设备。文中给出了常用命令示例,并提供了一键检测硬盘健康的监控脚本。建议养成定期检查硬盘健康状态的好习惯,重要服务服务器可结合cron任务自动化监控。
目录
文章目录隐藏
  1. 1. 什么是 SMART?
  2. 2. 安装 smartctl
  3. 3. 基本语法
  4. 4. 常用示例
  5. 5. 硬盘自检功能
  6. 6. 查看错误日志
  7. 7. NVMe 设备支持
  8. 8. 常用命令汇总
  9. 9. 监控脚本(一键检测硬盘健康)

服务器硬盘健康监测必备:smartctl 核心命令与 SMART 关键指标全解析

smartctl 是 smartmontools 软件包中的核心工具,用于读取和管理硬盘的 SMART 信息。SMART 是硬盘内置的自我监控技术,能够预测硬盘故障,是服务器和重要数据存储系统健康监测的必备工具。

1. 什么是 SMART?

SMART(自监测、分析和报告技术)是现代硬盘内置的一种技术,它会持续监控硬盘的各种参数(如温度、重分配扇区数、寻道错误率等),并在检测到潜在问题时发出警告。

SMART 可以监控的关键指标,重点关注以下关键指标(不同厂商标注略有差异):

属性 ID 名称 含义 危险阈值 异常判断
5 Reallocated_Sector_Ct 重映射扇区数(坏道替换计数) <10 数值>0 即有坏道,越大风险越高
9 Power_On_Hours 通电使用时长(小时) 参考:HDD>50000 小时故障率升高
193 Load_Cycle_Count 磁头加载 / 卸载次数(HDD) >10 万 过高易导致磁头磨损
194 Temperature_Celsius 硬盘温度 >55℃ 长期高温缩短寿命
197 Current_Pending_Sector 待映射扇区数(已检测到坏道但未替换) >0 数值>0 需立即备份,可能发展为坏道
198 Offline_Uncorrectable 离线无法校正的扇区数 >0 硬盘物理损坏,数据可能丢失
241 Total_LBAs_Written 总写入数据量(SSD) 接近标称寿命(如 1000TBW)需更换
242 Total_LBAs_Read 总读取数据量(SSD) 参考指标,无直接故障风险

2. 安装 smartctl

  • Debian/Ubuntu
    sudo apt updatesudo apt install smartmontools
  • RHEL/CentOS/Fedora
    sudo dnf install smartmontools
  • Arch Linux
    sudo pacman -S smartmontools

一般现在的机子上系统都有,可以忽略~

3. 基本语法

smartctl [OPTIONS] [DEVICE]

常用选项:

选项 说明
-a, –all 显示所有 SMART 信息
-H, –health 显示硬盘健康状态
-i, –info 显示硬盘基本信息
-l, –log 显示日志信息
-c, –capabilities 显示设备能力
-t, –test 执行测试
-X, –abort 取消正在运行的测试
-s, –smart= 开启/关闭 SMART
-o, –offlineauto= 开启/关闭自动离线测试
-n, –powermode= 设置电源模式

4. 常用示例

4.1 查看硬盘基本信息

smartctl -i /dev/sda

输出示例:

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar Black
Device Model:     WDC WD1002FAEX-00Y9A0
Serial Number:    WD-WMC300000000
LU WWN Device Id: 5 0014ee 200000000
Firmware Version: 05.01D05
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is: SATA 3.0, 6.0 Gb/s
Local Time is:    Tue Mar 11 10:30:00 CST 2025
SMART support is: Available - device has SMART capability
SMART support is: Enabled

4.2 查看完整 SMART 信息

smartctl -a /dev/sda

输出示例:

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar Black
Device Model:     WDC WD1002FAEX-00Y9A0
Serial Number:    WD-WMC300000000
Firmware Version: 05.01D05
User Capacity:    1,000,204,886,016 bytes [1.00 TB]

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x0027   100   253   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   084   084   000    Old_age   Always       -       32765
 10 Spin_Retry_Count        0x0028   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       1234
187 Reported_Uncorrect      0x0022   200   200   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   200   200   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   108   108   000    Old_age   Always       -       38
196 Reallocation_Event_Ct   0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector   0x0022   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0028   200   200   000    Old_age   Always       -       0
199 UDMA_CRC_Error_Count     0x000a   200   200   000    Old_age   Always       -       0

4.3 查看硬盘健康状态(最常用)

smartctl -H /dev/sda

输出示例:

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

⚠️ 注意:如果显示 FAILED,说明硬盘已经出现严重问题,应立即备份数据!

4.4 开启/关闭 SMART

# 开启 SMART
smartctl -s on /dev/sda
# 关闭 SMART
smartctl -s off /dev/sda

4.5 查看设备能力

smartctl -c /dev/sda

5. 硬盘自检功能

smartctl 提供了三种自检模式:

5.1 短自检

smartctl -t short /dev/sda

耗时:约 2 分钟,耐心等等~

5.2 扩展自检

smartctl -t long /dev/sda

耗时:约 30 分钟 到 数小时(取决于硬盘容量),多点耐心等等吧~

5.3 传输自检

smartctl -t conveyance /dev/sda

用于检测运输过程中的损坏。

5.4 查看自检结果

smartctl -l selftest /dev/sda

5.5 取消正在进行的测试

smartctl -X /dev/sda

6. 查看错误日志

smartctl -l error /dev/sda

输出示例:

SMART Error LogVersion: 1
No Errors Logged

如果出现错误,会显示具体的错误信息,帮助诊断硬盘问题。

7. NVMe 设备支持

对于 NVMe 固态硬盘,smartctl 也可以使用:

# 查看 NVMe 设备信息
smartctl -i /dev/nvme0n1
# 查看 NVMe 健康状态
smartctl -H /dev/nvme0n1
# 查看 NVMe 错误日志
smartctl -l error /dev/nvme0n1

8. 常用命令汇总

# 1. 查看基本信息
smartctl -i /dev/sda
# 2. 查看健康状态(最常用)
smartctl -H /dev/sda
# 3. 查看完整 SMART 数据
smartctl -a /dev/sda
# 4. 执行短自检
smartctl -t short /dev/sda
# 5. 执行长自检
smartctl -t long /dev/sda
# 6. 查看自检日志
smartctl -l selftest /dev/sda
# 7. 查看错误日志
smartctl -l error /dev/sda
# 8. 查看设备能力
smartctl -c /dev/sda
# 9. 开启 SMART
smartctl -s on /dev/sda
# 10. 开启自动离线测试(建议开启)
smartctl -o on /dev/sda
# 11. 监控所有硬盘(适合脚本)
smartctl -H -d ata /dev/sd[a-z]

9. 监控脚本(一键检测硬盘健康)

#!/bin/bash
# 检测指定硬盘 SMART 健康状态并输出关键指标
DEVICE="/dev/sda"
# 检查 SMART 是否开启
if ! smartctl -i $DEVICE | grep -q "SMART support is: Enabled"; then
    echo "错误:$DEVICE 未开启 SMART 功能!"
    exit 1
fi
# 输出健康状态
echo "=== 硬盘健康状态 ==="
smartctl -H $DEVICE | grep "SMART overall-health"
# 输出关键 SMART 属性
echo -e "\n=== 关键 SMART 指标 ==="
smartctl -A $DEVICE | grep -E "5|9|193|194|197|198"

最后小编提出点建议:

养成好习惯,定期检查硬盘健康状态,可以预防:

  • 提前发现硬盘故障;
  • 预测硬盘剩余寿命;
  • 避免数据丢失;
  • 监控系统健康。

对于运行重要服务的服务器,建议定期(如每周)使用 smartctl 检查硬盘状态,或结合 cron 任务实现自动化监控。

以上关于服务器硬盘健康监测必备:smartctl核心命令与SMART关键指标全解析的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

15

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 服务器硬盘健康监测必备:smartctl核心命令与SMART关键指标全解析

发表回复