将数据保存在失败的软件RAID 1设置中

我的CentOS 6服务器正在运行带有两个1 TB磁盘的软件RAID 1configuration。 昨天,当服务器非常反应时,麻烦开始发生。 我检查了日志,注意到一大堆连续的错误信息与磁盘IO有关。 我还注意到,第二个磁盘/ dev / sdb被“踢出”RAID 1设置。 它说,当我做一个cat /proc/mdstat时候,它已经退化了,并且显示[U_]而不是[UU]。 输出如下所示:

 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> 

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

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

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

我应该采取什么措施来做到这一点?

  1. 用新磁盘2replace故障磁盘2
  2. 分区磁盘2与磁盘1相同: sfdisk -d /dev/sda | sfdisk /dev/sdb sfdisk -d /dev/sda | sfdisk /dev/sdb
  3. 将新磁盘添加到分区/ dev / md1和/ dev / md2: mdadm --manage /dev/md1 --add /dev/sdb1mdadm --manage /dev/md2 --add /dev/sdb2
  4. 等待同步完成,以关注/ proc / mdstat来validation
  5. 对磁盘1重复上述步骤

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

如果两个驱动器都需要更换,那么随着arrays重build,您很可能会失去第一个驱动器。 我只是省下头痛,从备份恢复。