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

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关键指标全解析的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 服务器硬盘健康监测必备:smartctl核心命令与SMART关键指标全解析
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 服务器硬盘健康监测必备:smartctl核心命令与SMART关键指标全解析
微信
支付宝