记录一下那天晚上的排查过程。监控告警阵列降级,cat /proc/mdstat 显示方括号里是下划线和 U 的组合,两块盘只剩一块在跑,业务没受影响但冗余已经没有了。

把日志和配置对完,能解释这个现象的基本就这几处。一块盘出现连续坏道,被内核从阵列里直接踢了出去。也可能是云盘热插拔后设备名变化,阵列认不到原来的成员设备。

另外,重建过程中又掉了一块,阵列会彻底失效。

上来先确认阵列状态和成员设备

cat /proc/mdstat && mdadm --detail /dev/md0

再往下把故障盘标记并移除

新盘分区后加入阵列

mdadm /dev/md0 --add /dev/vdc1

盯住重建进度直到完成

watch -n 5 cat /proc/mdstat

这类问题以前遇到过,但这次的触发条件和上次不一样。

怎么算真的好了,看的是同一批现象。/proc/mdstat 显示两个 U,mdadm –detail 里状态是 clean,重建进度的字段消失。

这里还有个坑。重建期间 IO 压力很大,别再叠加备份任务;盘位编号一定要写进文档,换错盘会直接把阵列毁掉。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189