raid故障恢复核心是“先标记、再移除、后替换”,需严格按mdadm顺序操作:先cat /proc/mdstat和mdadm --detail定位故障盘,再--fail标记、--remove移除,最后分区设为linux raid auto类型并--add加入,重建完成确认active sync且更新mdadm.conf。

RAID 故障恢复的核心是“先标记、再移除、后替换”,整个过程不中断业务(RAID1/5/10 均支持),关键在于用对 mdadm 的管理命令,且操作顺序不能颠倒。
确认故障盘并标记为损坏
不要直接拔盘或格式化。先查状态,定位问题设备:
- 运行
cat /proc/mdstat快速看整体状态,关注是否出现(F)或faulty - 执行
mdadm --detail /dev/md0查详细信息,确认哪块设备标为failed或faulty(例如/dev/sdc1) - 用
mdadm --manage /dev/md0 --fail /dev/sdc1主动标记故障——这会让阵列停止向该盘写入,并触发降级状态(如从clean变为degraded)
从阵列中安全移除故障盘
标记后需显式移除,否则新盘加入时可能冲突:
- 执行
mdadm --manage /dev/md0 --remove /dev/sdc1 - 再次运行
mdadm --detail /dev/md0,应看到该设备已变为removed,Failed Devices计数归零,Working Devices减少一个 - 此时阵列仍在运行(RAID5/10 允许单盘失效;RAID1 仍可读写镜像盘),业务不受影响
替换新盘并重新加入阵列
新硬盘需分区且类型设为 RAID 成员,再加入:
- 物理更换硬盘后,用
fdisk /dev/sdc或gdisk /dev/sdc创建分区(如/dev/sdc1) - 分区类型必须设为
Linux RAID auto(fdisk中用t→fd;gdisk中用t→fd00) - 执行
mdadm --manage /dev/md0 --add /dev/sdc1 - 观察
cat /proc/mdstat:状态会显示recovery或spare rebuilding,表示正在同步数据
验证重建完成与持久化配置
重建耗时取决于阵列大小和负载,完成后需保存配置以防重启丢失:
- 等待
cat /proc/mdstat显示active sync且无recovery字样 - 运行
mdadm --detail /dev/md0确认所有设备状态为active sync,State回到clean - 执行
mdadm --detail --scan >> /etc/mdadm/mdadm.conf更新配置文件(若使用 systemd,还需update-initramfs -u或dracut -f)











