如何从软件 RAID 5 磁盘分区恢复数据

如何从软件 RAID 5 磁盘分区恢复数据

我的电脑上有 CentOS 5.8,有 5 个 1TB 硬盘。

我使用了软件 RAID。(RAID 1 作为启动分区 md0,RAID 0 作为根分区 md1,RAID 5 作为 /home 分区 md3)。

不幸的是,其中一个硬盘最近出现故障,我想更换一个新的。

我想知道是否有可能在不丢失数据的情况下更换这个硬盘?

重要分区是 RAID 5,因此理论上如果其中一个硬盘出现故障,我应该能够毫无问题地恢复其数据。但实际上我该怎么做呢?

答案1

该位置的工作人员实际上将物理磁盘的序列号映射到单独的名称,以帮助识别 RAID 阵列中的磁盘。他们为此使用了 UDEV 规则。这消除了猜测,因为序列号通常写在磁盘纸质标签上。

在以下链接中,您将找到 RAID6 设置 (+) 和恢复中真正的 2 个驱动器故障。看一看。您可能能够以类似的方式识别需要拔出哪个驱动器。

问候,

RAID 6 + XFS + MDADM

RAID 6 UDEV 命名

答案2

它应该是这样的

mdadm --add /dev/md3 /dev/<disk>

…其中,形式<disk>sda1,,,等。sdb1sdc1

答案3

假设您的磁盘设置如下: 根据注释构建的磁盘布局

使用:
sda1 和 sdb1 作为 md1(镜像)根
sda2 和 sdb2 作为 md0(条带化)启动
sda3、sdb3、sdc1、sdd1 和 sde1 作为 md2(RAID5)/home

由于您丢失了驱动器 2 (sdb),因此您:

  • 您丢失了 md0。条带需要其**所有*驱动器。您需要从备份中恢复它或重新安装它。
  • 您丢失了 md1 中的一个驱动器。由于它是一个镜像,因此它仍可工作。(目前没有冗余)
  • 您丢失了 md2 中的一个驱动器。由于这是 RAID5,因此即使丢失一个驱动器也可以工作。您仍然应该能够访问所有数据。

我的第一步是检查我的备份。修复 RAID 阵列时应该不会出错。但最好还是安全一点,做好备份。由于 / 和 /home 在降级模式下仍可读,我建议从备份开始。

然后取出损坏的驱动器(磁盘 2,又名 sdb),用新驱动器替换它并对驱动器进行分区。我从您的评论中了解到它使用与第一个驱动器相同的设置。这意味着您可以从您的笔记中正确配置它,或者在 sda 上“监视”。

接下来修复三个损坏的 RAID 阵列。

md0 丢失。您需要重新创建它并从备份中恢复。

md1 可能适用于mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1

md2 可能适用于mdadm --assemble /dev/md2 /dev/sda3 /dev/sdb3 /dev/sdc1 /dev/sdd1 /dev/sde1

可能。我是使用硬件 RAID 卡的 BSD 用户(不是 Linux 用户)。在执行这些命令之前,请仔细检查所有内容。这包括检查您的备份。

相关内容