跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

硬盘健康监测_使用smartmontools检查磁盘状态

smartmontools是用于评估硬盘物理健康状况的开源工具集,通过安装、识别设备、验证SMART支持、执行短自检及分析属性值等步骤,可全面检测磁盘状态。

如果您需要评估硬盘的物理健康状况,smartmontools 是一个开源工具集,可用于读取和解析磁盘内置的 S.M.A.R.T. 数据。以下是使用 smartmontools 检查磁盘状态的具体操作步骤:

一、安装 smartmontools

在大多数 Linux 发行版中,smartmontools 并未默认安装,需通过系统包管理器手动安装。该工具包含 smartctl(命令行核心)和 smartd(后台监控守护进程)。

1、在 Debian 或 Ubuntu 系统上执行:sudo apt update && sudo apt install smartmontools 2、在 CentOS 或 RHEL 8+ 系统上执行:sudodnfinstall smartmontools 3、在 Arch Linux 系统上执行:sudo pacman -S smartmontools

二、识别待检测磁盘设备名

运行 smartctl 前必须确认目标磁盘的设备路径(如 /dev/sda、/dev/nvme0n1),错误指定设备可能导致无法获取数据或误操作。

1、列出所有块设备及其型号:

lsblk -d -o NAME,MODEL,SIZE,TRAN 2、筛选出 ATA/SATA 接口磁盘:sudo smartctl --scan 3、查看 NVMe 设备列表:sudo nvme list

三、获取磁盘基本信息与 S.M.A.R.T. 支持状态

此步骤用于验证磁盘是否启用 S.M.A.R.T. 功能,并确认其是否支持健康数据读取,避免后续操作无效。

1、检查 /dev/sda 是否支持并启用了 S.M.A.R.T.:sudo smartctl -i /dev/sda Trae linux Trae Linux 官方版本现已全面上线,开发者可直接访问 Trae 官网(trae.cn 国内版或 trae.ai 国际版)获取专属安装包。该版本完美适配主流 Linux 发行版,提供 .deb(适配 Ubuntu/Debian)、.rpm(适配 RHEL/Fedora)以及通用 .tar.gz 格式,并全面支持 x64 与 ARM64 架构。

下载

2、若输出中显示

SMART support is: Available - device has SMART capability和SMART support is: Enabled

,则可继续;否则需启用:

sudo smartctl -s on /dev/sda

四、执行短自检与读取详细健康报告

短自检(Short Self-Test)通常耗时 2 分钟以内,可快速发现常见故障迹象;结合详细属性表(-a 参数)可综合判断磁盘当前状态。

1、启动短自检:

sudo smartctl -t short /dev/sda 2、等待自检完成(约 120 秒)后,读取完整 S.M.A.R.T. 报告:sudo smartctl -a /dev/sda

3、重点关注输出中的

SMART overall-health self-assessment test result: PASSED行;若为 FAILED,则磁盘存在严重风险。

五、监控关键属性值与阈值告警

S.M.A.R.T. 属性表中多个原始值(RAW_VALUE)对应磁盘磨损、重映射扇区、校验错误等物理指标,需比对临界值(THRESH)判断是否异常。

1、提取 ID 5(Reallocated_Sector_Ct)、ID 187(Reported_Uncorrect)、ID 198(Offline_Uncorrect)三项关键属性:sudo smartctl -A /dev/sda | grep -E "^(5|187|198)"2、若任一属性的 RAW_VALUE 非零且 VALUE 小于 THRESH,则表示该指标已触发预警;例如:5 Reallocated_Sector_Ct 0x0033 099 099 010 PREFAIL Always - 12中 RAW_VALUE=12 表明已有 12 个扇区被重映射。

3、检查当前自检日志摘要:

sudo smartctl -l selftest /dev/sda

相关文章