![有没有办法在 mdraid5 设置中仅重建部分磁盘?](https://linux22.com/image/78550/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%9C%A8%20mdraid5%20%E8%AE%BE%E7%BD%AE%E4%B8%AD%E4%BB%85%E9%87%8D%E5%BB%BA%E9%83%A8%E5%88%86%E7%A3%81%E7%9B%98%EF%BC%9F.png)
昨晚我不小心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
仅从磁盘的开头组装一个数组,或者可能是一些我没有想到的技巧。
实际上,尝试这样做会带来很高的数据丢失风险:您绕过了系统的保护措施,因此它无法保护您免受磁盘混淆、错误指定阵列开始位置或其他用户错误的影响。让正常的重建过程运行更安全。