21.19. 替换 RAID 中失败的磁盘
您可以使用剩余的磁盘从失败磁盘重建数据。RAID 级别和磁盘总数决定了成功重建数据所需的最小剩余磁盘量。
在此过程中,/dev/md0 RAID 包含四个磁盘。/dev/sdd 磁盘失败,您需要将它替换为 /dev/sdf 磁盘。
先决条件
- 用于替换的备用磁盘。
-
已安装
mdadm
软件包。
流程
检查失败的磁盘:
查看内核日志:
# journalctl -k -f
搜索类似如下的消息:
md/raid:md0: Disk failure on sdd, disabling device. md/raid:md0: Operation continuing on 3 devices.
-
按 Ctrl+C 键退出
journalctl
程序。
将失败的磁盘标记为故障:
# mdadm --manage /dev/md0 --fail /dev/sdd
可选:检查失败的磁盘是否已正确标记:
# mdadm --detail /dev/md0
输出末尾是 /dev/md0 RAID 中的磁盘列表,其中磁盘 /dev/sdd 具有 faulty 状态 :
Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc - 0 0 2 removed 3 8 64 3 active sync /dev/sde 2 8 48 - faulty /dev/sdd
从 RAID 中删除失败的磁盘:
# mdadm --manage /dev/md0 --remove /dev/sdd
警告如果您的 RAID 无法与另一个磁盘失败,在新磁盘有 active sync 状态前不会删除任何磁盘。您可以使用
watch cat /proc/mdstat
命令监控进度。在 RAID 中添加新磁盘:
# mdadm --manage /dev/md0 --add /dev/sdf
/dev/md0 RAID 现在包括新磁盘 /dev/sdf,
mdadm
服务将自动从其他磁盘将数据复制到其中。
验证
检查阵列的详情:
# mdadm --detail /dev/md0
如果这个命令显示 /dev/md0 RAID 中的磁盘列表,其中新磁盘在输出末尾具有 spare rebuilding 状态,则数据仍会从其他磁盘复制到其中:
Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 4 8 80 2 spare rebuilding /dev/sdf 3 8 64 3 active sync /dev/sde
数据复制完成后,新磁盘会处于 active sync 状态。
其他资源