恢复 RAID:出了什么问题?

恢复 RAID:出了什么问题?

我必须使用 Linux 恢复我的 md0 RAID 软件。

今天我买了 4 个磁盘,都是新的,类型和大小都相同。

我已经使用以下方法删除了旧磁盘:

mdadm /dev/md0 --fail /dev/sdd2
mdadm /dev/md0 --remove /dev/sdd2

与新的改变:

mdadm /dev/md0 --add /dev/sdd2

等待重建,它可以工作

磁盘 n°3 (sdc2) 也是如此

在 sdb2 更改上,RAID 开始出现很多错误,“扇区读取失败等”,但不是在 sdb2 上,而是在 sdb2 重建时在 sdc2 上!然后系统将我的 ext4 raid 置于 R/O 模式。

所以我以单用户模式重新启动(slackware可以从initrd)并尝试重建,当然是在删除sdc2(故障磁盘)和sdb2(不完整重新同步)之前。

我放入旧的sdb2盘并尝试启动;阵列失败。尝试将 sdb2 添加到阵列中;它失败了,并告诉我停下来重新集合。

我做到了

mdadm --stop /dev/md0 
mdadm /dev/md0 --assemble /dev/sda2 /dev/sdb2 /dev/sdd2

我想从 3 个磁盘开始,然后添加 sdc2 并完成阵列。但考虑到 sda2 和 sdd 没问题,它失败了,但将 sdb2 标记为..已删除。如何读取 sdb2 并重建我的阵列?

答案1

找到解决方案,旧的 sdb2 被标记为有故障,所以唯一的解决方案是:

从 livecd 或 initrd 启动,然后执行以下操作:

mdadm /dev/md0 --stop 
mdadm /dev/md0 --assemble --force /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2

这将添加除“故障”驱动器之外的所有磁盘,但将启动 md0

然后我们将添加缺少的驱动器:

mdadm /dev/md0 --add /dev/sdb2

此时阵列正在重建,系统现在已经可以工作了。

警告:在这个“程序”之后,我丢失了我的lvm,因为lvm不再识别md0,pvscan给出错误(id更改或其他),所以最好的解决方案是..备份。

相关内容