mdadm:阵列故障,如何尽可能地恢复?

mdadm:阵列故障,如何尽可能地恢复?

我的 PC 上有 4 个磁盘的 RAID5。之前所有磁盘(以及 RAID 本身)都运行正常。

我尝试安装 Windows 8.1,它会自动创建此“SystemReserved”分区。安装程序无需询问用户就决定将该分区放在其中一个 RAID 设备上。(甚至不会开始抱怨......)

所以我只能使用:3 个完全没问题的 RAID 设备。(就我所想,理论上是合理的)1 个具有分区表和 350MB 的 NTF 分区的 RAID 设备。

我所做的是:将所述磁盘设置为“故障”

   mdadm -f /dev/md0 /dev/sdc

删除了 RAID 的磁盘

   mdadm -r /dev/md0 /dev/sdc

然后我尝试在 gparted 的帮助下删除分区,这样它就回到了“未使用空间”,因为我在这些磁盘上没有分区。乍一看还不错。

删除了超级块,因此它看起来像一个新的驱动器

    mdadm --zero-superblock /dev/sdc

然后我将磁盘重新添加到 RAID

    mdadm --manage -a /dev/md0 /dev/sdc

检查 /proc/mdstat 似乎一切恢复正常并且正在同步 sdc。

但是当我尝试安装时我得到:

    mount: Stale NFS file handle

dmseg 告诉我:

    EXT3-fs (md0): error: get root inode failed

现在我再次启动 gparted,结果很奇怪:sdc 仍然有这个 350MB 的分区。此外,当我查看 md0-RAID 时,gparted 有一个分区:/dev/md0p1(未知文件系统,350MB)

其余部分标记为未分配。

上面有非常宝贵的数据(童年时期的个人数据等),我很高兴不会丢失它们。所以你可能明白我现在非常害怕自己做任何事情......我现在将 sdc 重新设置为故障,所以至少我仍然可以保留 3 个设备上剩余的大部分数据......

我的问题:您知道为什么 md0 现在有一个分区吗?这不应该发生吧?因为那只发生在 sdc 上,而不是整个 raid 上,而且 windows 无法看到 RAID,只能看到单个设备。第二个问题:我该如何解决这个问题?我的意思是,您知道怎样才能将损失降到最低吗?

如果您需要任何日志或更多信息,请直接询问!非常感谢!

编辑:/proc/mdstat 的输出:

 Personalities : [raid6] [raid5] [raid4] 
 md0 : active raid5 sdd[1] sdc[4](F) sde[3] sdf[2]
  4395415488 blocks level 5, 64k chunk, algorithm 2 [4/3] [_UUU]

 unused devices: <none>

相关内容