RAID degraded时需结合/proc/mdstat与SMART数据交叉验证故障盘:先通过[2/1][\_U]等标记定位离线盘,再用smartctl -a检查Reallocated_Sector_Ct、Current_Pending_Sector、Offline_Uncorrect三项原始值,横向对比同组硬盘并辅以dmesg和物理连接排查。

当 mdadm 显示 RAID 处于 degraded 状态(如 [2/1] [_U]),说明至少有一块成员盘已失效或被移出阵列。但“失效”不等于“物理损坏”——可能是临时掉线、连接松动、控制器误判,也可能是硬盘真实老化或坏道累积。要确认哪块盘真坏,不能只看 /proc/mdstat,必须结合 SMART 数据交叉验证。
先定位疑似故障盘
从 /proc/mdstat 输出中识别异常标记:
-
[2/1] [_U]:2块盘参与,仅1块在线;下划线_对应的盘(通常是第一块)已离线 -
[3/2] [UU_]:第3块盘状态为_,即它已不可用 - 同时运行
mdadm --detail /dev/mdX,查看State :行和每块设备后的Faulty、Removed或空状态
对每块成员盘执行 SMART 全面检测
不要只看 smartctl -H /dev/sdX 的 summary,它可能显示 PASSED 却掩盖严重隐患。重点检查以下三项原始值(Raw Value):
- Reallocated_Sector_Ct (ID 5):重映射扇区总数。值 > 0 就需警惕;> 50 基本可判定盘体开始劣化
- Current_Pending_Sector (ID 197 / C5):等待重映射的扇区数。> 0 表示有读取失败扇区,尚未完成重映射,属于高危信号
- Offline_Uncorrect (ID 198 / C6):离线无法纠正错误数。> 0 意味着硬盘在自检时发现坏道但无法修复,是物理损坏的强证据
执行命令:smartctl -a /dev/sdX | grep -E "(Reallocated_Sector_Ct|Current_Pending_Sector|Offline_Uncorrect)"
对比分析:关键看变化趋势与绝对值
同一 RAID 组内各盘应使用同型号、相近服役时间。横向对比更有效:
- 若某盘
Current_Pending_Sector为 32,其余均为 0 → 这块盘正在“挣扎”,极可能即将 Failure - 若某盘
Reallocated_Sector_Ct是 127,其他盘都是 0~3 → 它已启用大量备用扇区,寿命大幅缩短 - 若某盘
Offline_Uncorrect> 0,而其他盘为 0 → 这块盘存在无法修复的物理缺陷,必须更换 - 特别注意:SSD 要额外关注
Media_Wearout_Indicator (ID 233)和Available_Reserve_Space (ID 234),低于 10% 需立即干预
辅助验证:检查系统日志与连接状态
SMART 是静态快照,还需动态佐证:
- 查内核日志:
dmesg | grep -i "sdX\|ata\|raid",找ATA bus error、connection timed out、reset failed等线索 - 检查物理连接:
lsblk确认设备是否还在;lsscsi查 SAS/SATA 链路是否识别正常;拔插后能否重新上线 - 排除控制器问题:同一控制器下其他 RAID 组是否也出现 degraded?如果是,优先怀疑 RAID 卡或背板










