Debian 12 下快速检测硬盘健康状态(RAID 适用版)

适用场景

  • 检测 SAS/SATA HDD/SSD 的健康状态(支持 RAID 控制器管理的磁盘)。
  • 结合 fdisk 确认磁盘容量、分区及物理/虚拟磁盘映射关系。
1. 安装工具
sudo apt update && sudo apt install smartmontools -y
2. 使用 fdisk 确认磁盘信息
(1)列出所有磁盘及型号
sudo fdisk -l | grep "Disk /dev/"
输出示例

关键信息

  • /dev/sda:物理硬盘(no-raid)。
  • /dev/sdb 和 /dev/sdc:PERC RAID 虚拟磁盘(需通过 megaraid,N 访问物理盘)。
  • /dev/sdd:物理 SSD(no-raid
(2)查看磁盘分区详情
sudo fdisk -l /dev/sdX  # 替换为具体设备(如 /dev/sda)
3. 快速获取所有磁盘基本信息
for i in {0..7}; do
  echo "==== megaraid,$i ===="
  sudo smartctl -i -d megaraid,$i /dev/sdb | grep -E "Device Model|Serial|Power_On_Hours"
done

 

4. 核心健康指标检查(通电时间+错误计数)

 

 

关键指标

  • Power_On_Hours:通电时间(>5万小时需警惕)。
  • Reallocated_Sector_Ct:重分配扇区(>10需更换)。
  • Current_Pending_Sector:待映射扇区(>0表示坏道)。
  • Non-medium error count:非介质错误(>10可能为接口问题)。
5. 直接查看附件表格对应数据
序列号 通电时间 温度 读错误 写错误 校验错误 健康建议
WJG0X9GM 39175小时 39°C 0次 0次 0次 正常
WJG0XCGW 38324小时 39°C 0次 0次 0次 正常
WJG0X6AQ 39176小时 38°C 0次 1次 36次 校验错误高,需更换
WJG0XCTL 38324小时 38°C 1次 0次 0次 监控读错误是否增长
6. 重点磁盘处理建议
  1. 序列号 WJG0X6AQ
    • 校验错误36次:可能存在介质老化或接口问题,建议更换。
  2. 序列号 WJG0XCTL
    • 读错误1次:暂时观察,若持续增加需更换。
  3. 通电时间超5万小时的磁盘
    • 如 megaraid,0(71746小时):备份数据并计划更换。
7. 一键生成健康报告
echo "硬盘健康报告 $(date)" > disk_health.txt
for i in {0..7}; do
  echo "==== megaraid,$i ====" >> disk_health.txt
  sudo smartctl -a -d megaraid,$i /dev/sdb | grep -E "Model|Serial|Power_On_Hours|Reallocated|Pending|CRC|Non-medium" >> disk_health.txt
done
查看报告
cat disk_health.txt

8.总结
  • 基础命令:用 smartctl -i 快速列表,用 smartctl -a 查细节。
  • 核心指标:盯紧通电时间、重分配扇区、待映射扇区、错误计数。
  • 附件对照:直接对比表格中的错误次数和温度。
  • 高危磁盘:校验错误多或通电超限的盘优先更换。

只需这4步,5分钟完成全部磁盘健康检查!