有没有好的方法来恢复raid5数据

有没有好的方法来恢复raid5数据

我现在正在尝试恢复突袭数据。

我已经使用 3 * 8TB HDD 作为 RAID5。

其中可能有一两个已经损坏。

在这种情况下,我遇到了 mdadm 和 pvscan、lvscan 用例。

我所做的是如下这样的。

root@ubuntu:~# cat /proc/mdstat 
Personalities : [raid1] 
md127 : inactive sdf2[2](S)
      523760 blocks super 1.2

md0 : inactive sdg1[1](S) sdd1[4](S) sde1[0](S)
      12570624 blocks super 1.2

md1 : inactive sdb2[2](S)
      523760 blocks super 1.2

然后激活每个驱动器。

mdadm -R /dev/md0
mdadm -R /dev/md1
mdadm -R /dev/md127

所有驱动器均已激活。

root@ubuntu:~# cat /proc/mdstat 
Personalities : [raid1] 
md127 : active (auto-read-only) raid1 sdf2[2]
      523712 blocks super 1.2 [3/1] [__U]

md0 : active (auto-read-only) raid1 sdg1[1] sde1[0](F)
      4190208 blocks super 1.2 [4/1] [_U__]

md1 : active (auto-read-only) raid1 sdb2[2]
      523712 blocks super 1.2 [3/1] [__U]

然后我尝试 pvscan 但是出现这些错误。我下一步该怎么做才能恢复我的数据?请给我任何帮助。

sudo pvscan

  /dev/md0: read failed after 0 of 4096 at 0: input/output error
  /dev/md0: read failed after 0 of 4096 at 4290707456: input/output error
  /dev/md0: read failed after 0 of 4096 at 4290764800: input/output error
  /dev/md0: read failed after 0 of 4096 at 4096: input/output error
  /dev/md1: read failed after 0 of 4096 at 0: input/output error
  /dev/md1: read failed after 0 of 4096 at 536215552: input/output error
  /dev/md1: read failed after 0 of 4096 at 536272896: input/output error
  /dev/md1: read failed after 0 of 4096 at 4096: input/output error
  /dev/md127: read failed after 0 of 4096 at 0: input/output error
  /dev/md127: read failed after 0 of 4096 at 536215552: input/output error
  /dev/md127: read failed after 0 of 4096 at 536272896: input/output error
  /dev/md127: read failed after 0 of 4096 at 4096: input/output error
  No matching physical volumes found

答案1

正如上面的评论所说,如果您使用的是 Raid5,您的数据将丢失。Raid5 只能容忍一个驱动器的丢失。丢失两个驱动器会破坏阵列。

然而,您的配置表明您使用的是 Raid1(镜像)而不是 Raid5(条带化 + 奇偶校验)。您的数据应该仍然没问题。

注意 /proc/mdstat 的输出:

md127 : active (auto-read-only) **raid1** sdf2[2]
      523712 blocks super 1.2 [3/1] [__U]

md0 : active (auto-read-only) **raid1** sdg1[1] sde1[0](F)
      4190208 blocks super 1.2 [4/1] [_U__]

md1 : active (auto-read-only) **raid1** sdb2[2]
      523712 blocks super 1.2 [3/1] [__U]

用 * 表示强调。这些错误表明您已丢失每个阵列中的多个驱动器。鉴于这是镜像集,您的数据仍然完好无损,但您的系统将像垃圾一样运行,直到更换故障磁盘。

注意每个卷旁边的数字。[3/1] 表示这是一个 3 磁盘阵列,但只有一个磁盘可用。__U 表示阵列中的第一个和第二个磁盘已关闭。

根据此输出判断,您需要替换不少于 7 个卷。md127 中两个,md0 中三个,md1 中两个。运行适当命令的完整指南可在此处找到。

请注意,您现在在这两组中都没有冗余。如果在任一阵列中再丢失一个驱动器,您的数据将丢失。我会立即关闭此服务器,直到可以找到替换驱动器为止。

另外一个选择:

我不知道你的系统出了什么问题,但 7 个驱动器同时损坏似乎是一个过高的故障率,尤其是当它们同时出现时。这可能表明存储控制器有问题,而不是硬盘驱动器有问题。如果服务器有任何类型的板载诊断程序来诊断驱动器所连接的控制器,你应该运行它们。

相关内容