有没有办法在 mdraid5 设置中仅重建部分磁盘?

有没有办法在 mdraid5 设置中仅重建部分磁盘?

昨晚我不小心dd覆盖了 RAID5 阵列中驱动器的前约 20GB。当我注意到时,我修复了阵列

$ mdadm --fail /dev/md127 /dev/sdb
$ mdadm --remove /dev/md127 /dev/sdb
$ mdadm --zero-superblock /dev/sdb
$ mdadm --add /dev/md127 /dev/sdb

但花了一些时间,因为它是 3TB 磁盘。由于dd打印出复制的字节数,我确切地知道需要重建多少驱动器。有没有办法只修复这些字节?

答案1

理论上是的:您可以创建一个自定义的写入意图位图,或者告诉mdadm仅从磁盘的开头组装一个数组,或者可能是一些我没有想到的技巧。

实际上,尝试这样做会带来很高的数据丢失风险:您绕过了系统的保护措施,因此它无法保护您免受磁盘混淆、错误指定阵列开始位置或其他用户错误的影响。让正常的重建过程运行更安全。

相关内容