无法重新组装RAID10


3

我不确定这是否是要问的社区,但我想我会试一试:

我们通过rocketraid 2470控制器运行14驱动器RAID10的服务器拒绝组装。我们的目标不一定是恢复工作RAID,而是尽可能多地获取数据。

可能由于组装失败,在关闭服务器时,它会卡在引导循环中。所以我目前正在通过USB运行Ubuntu 16.04.1。我已经确定14个磁盘中有2个有故障,并确定它们是哪个。使用本指南,我已经确定了哪些,并试图在没有它们的情况下重新组装。但是,我一直遇到错误:

ubuntu@ubuntu:~$ sudo mdadm --assemble --verbose --force /dev/md0 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdn1 /dev/sdo1 /dev/sdp1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdg1 is identified as a member of /dev/md0, slot 4.
mdadm: /dev/sdh1 is identified as a member of /dev/md0, slot 5.
mdadm: /dev/sdi1 is identified as a member of /dev/md0, slot 6.
mdadm: /dev/sdj1 is identified as a member of /dev/md0, slot 7.
mdadm: /dev/sdk1 is identified as a member of /dev/md0, slot 8.
mdadm: /dev/sdl1 is identified as a member of /dev/md0, slot 9.
mdadm: /dev/sdm1 is identified as a member of /dev/md0, slot 10.
mdadm: /dev/sdn1 is identified as a member of /dev/md0, slot 11.
mdadm: /dev/sdo1 is identified as a member of /dev/md0, slot 12.
mdadm: /dev/sdp1 is identified as a member of /dev/md0, slot 13.
mdadm: added /dev/sdd1 to /dev/md0 as 1
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: added /dev/sdf1 to /dev/md0 as 3
mdadm: added /dev/sdg1 to /dev/md0 as 4
mdadm: added /dev/sdh1 to /dev/md0 as 5
mdadm: added /dev/sdi1 to /dev/md0 as 6
mdadm: added /dev/sdj1 to /dev/md0 as 7
mdadm: added /dev/sdk1 to /dev/md0 as 8
mdadm: added /dev/sdl1 to /dev/md0 as 9
mdadm: added /dev/sdm1 to /dev/md0 as 10
mdadm: added /dev/sdn1 to /dev/md0 as 11 (possibly out of date)
mdadm: added /dev/sdo1 to /dev/md0 as 12 (possibly out of date)
mdadm: added /dev/sdp1 to /dev/md0 as 13 (possibly out of date)
mdadm: added /dev/sdc1 to /dev/md0 as 0
mdadm: /dev/md0 assembled from 11 drives - not enough to start the array.

这是mdadm --examine调用的输出。

ubuntu@ubuntu:~$ sudo mdadm --examine /dev/sd[c-p]1 | egrep 'Events | /dev/sd'
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 21988
   Events : 560
   Events : 21944
   Events : 560

很明显,最后三个驱动器已经过时了。驱动器11和13可能永远不会真正活跃,但由于它们只是raid 1中的伙伴,因此阵列直到现在才受到影响。我希望如果我可以重新组装第12个驱动器,那么我将能够恢复大部分数据。有谁知道我能做些什么呢?我也试过没有“非活动”驱动器,但它仍然没有组装驱动器12.我知道我可以尝试使用--run,但我不确定我是否会以这种方式丢失数据。我也犹豫是否将超级街区归零,因为我一直听说这是最后的选择。

请注意,因为我从USB运行它通常cat /proc/mdstat不会返回数组。另外,我不知道数组的结构(如果我这样做会更容易)。

在此先感谢您的帮助。

Answers:


0

如果您只想尝试恢复数据,那么您应该能够组装一个降级的,有点损坏的数组

sudo mdadm --assemble --verbose --force /dev/md0 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1 /dev/sdo1

注意糟糕出过期的遗漏/dev/sdn1/dev/sdp1驱动器。将阵列置于只读模式

sudo mdadm --readonly /dev/md0

并激活它

sudo mdadm --run /dev/md0

现在您可以挂载文件系统并尝试恢复数据。请注意,由于阵列处于只读模式,因此您可能需要传递mount选项以禁止日志重放或其他初始写入等操作。

由于/dev/sdo1是过时的,并用大概配对/dev/sdn1或者/dev/sdp1,你不会是能够恢复的一切。希望阵列仍然处于足够好的状态,您可以安装它并恢复一些数据。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.