linux – 无法从失败的RAID中恢复

前端之家收集整理的这篇文章主要介绍了linux – 无法从失败的RAID中恢复前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的情况与 this one不同.

我有一个带有3个硬盘的CentOS系统,以及以下软件RAID阵列:

/boot on RAID 1 over 2 disks
/ on RAID 5 over 3 disks
swap on RAID 0 over 2 disks (I believe)

我的第3次开车失败了一开始没什么大不了的,阵列还在运转.但是在1天之后,当我准备交换坏磁盘时,系统无法再使用新磁盘启动:

md: md2: raid array is not clean -- starting background reconstruction
raid5: cannot start dirty degraded array for md2
raid5: Failed to run raid set md2
[...]
Kernel panic

它停在那里.我没有壳.我试过但是在Rescue磁盘上,但我不知道怎么去那里:我的阵列没有看到,所以我无法重建它们.如果我使用2个磁盘启动,或者使用坏磁盘作为我的第3个驱动器,则完全相同的问题.

现在我有一个新驱动器,如何修复阵列?

解决方法

不知怎的,你已经设法将阵列停止在脏状态(这意味着RAID系统无法确定所有磁盘上的奇偶校验是否正常).如果机器突然断电或其他一些写入空穴引发事件,就会发生这种情况.

我怀疑使用–force选项从救援CD手动重新组装阵列可能会起作用,如下所示:

mdadm --assemble --force /dev/md2 /dev/sda2 /dev/sdb2 missing

(用构成RAID-5阵列的现有设备替换/ dev / sd …).假设这有效并且/ proc / mdstat显示已组装的数组(处于降级状态),那么您可以添加新分区,如下所示:

mdadm /dev/md2 --add /dev/sdc2

如果最初的强迫组装不能解决问题,那么你就是在小溪的深处.几分钟与谷歌发现http://www.linuxforums.org/forum/servers/77867-eeek-cant-assemble-degraded-dirty-raid6-array.html似乎处理类似的问题,所以它可能值得尝试在那里工作(echo“clean”> / sys / block / md0 / md / array_state)但是这是一种稍微丑陋的做事方式.

无论您如何设置将RAID设置重新组合在一起,它是脏的和降级的事实意味着内容实际上不再受信任.文件系统可能有元数据损坏(fsck应修复),或者一个或多个文件内容可能已损坏(如果不验证分区上所有文件内容,您将无法知道).

原文链接:https://www.f2er.com/linux/396762.html

猜你在找的Linux相关文章