在发生故障的软件 RAID 1 设置上保存数据

在发生故障的软件 RAID 1 设置上保存数据

我的 CentOS 6 服务器正在运行具有两个 1 TB 磁盘的软件 RAID 1 配置。昨天,当服务器非常无响应时,问题开始出现。我检查了日志,发现一大堆与磁盘 IO 有关的连续错误消息。我还注意到第二个磁盘 /dev/sdb 被“踢出”了 RAID 1 设置。它说它已降级,并且当我执行 时显示 [U_] 而不是 [UU] cat /proc/mdstat。输出如下所示:

root@rescue:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] 
md1 : active raid1 sda1[0]
      20971456 blocks [2/1] [U_]

md2 : active raid1 sda2[0]
      955260864 blocks [2/1] [U_]

unused devices: <none>

在联系运行服务器的托管公司并运行 smartctl 检查驱动器后,发现两个磁盘都需要更换。

此时我只能进入救援模式,在该模式下我仍然可以挂载我的分区(/dev/md1 和 /dev/md2)并访问数据。我已经使用 scp 下载了最新的 Plesk 备份。

现在请耐心等待,因为我不是服务器管理员,但我的计划是先更换第二个磁盘 /dev/sdb,然后将其重新添加到 RAID 1 设置中。这样,新的第二个磁盘将与旧磁盘 1 同步。完成后,我可以对磁盘 1 重复该过程,并将新磁盘 1 与新磁盘 2 同步。这可能吗?

此外,我应该采取什么步骤来实现这一点?

  1. 用新磁盘 2 替换故障磁盘 2
  2. 对磁盘 2 进行与磁盘 1 相同的分区:sfdisk -d /dev/sda | sfdisk /dev/sdb
  3. 将新磁盘添加到分区 /dev/md1 和 /dev/md2:mdadm --manage /dev/md1 --add /dev/sdb1并且mdadm --manage /dev/md2 --add /dev/sdb2
  4. 等待同步完成,同时关注 /proc/mdstat 进行验证
  5. 对磁盘 1 重复上述步骤

这看起来还好吗?同步会在第 3 点之后立即开始吗?我在这些步骤中忘记了什么吗?

答案1

如果两个驱动器都需要更换,那么在阵列重建时,您很可能会丢失第一个驱动器。我只想省去麻烦,从备份中恢复。

相关内容