RAID1:如何“标记为已删除”的驱动器“失败”?

我有一个RAID 1arrays(2个磁盘镜像),其中一个磁盘sda失败。 所以我用一个新磁盘replace了坏磁盘,但似乎停滞在如何让第二个磁盘备份并作为arrays的一部分运行。

系统运行Ubuntu Server 9.04,configuration如下:

MD0 => sda1,sdb1

MD1 => sda3,sdb3

MD2 => sda2,sdb2

mdadm --detail /dev/md0 

显示两个驱动器:

 0 /dev/sdb1 "Active Sync" 1 [nothing] "Removed" 

MD1和MD2看起来一样。

我发现的教程说,使用该命令将每个分区标记为失败:

 mdadm --manage /dev/md0 --fail /dev/sda1 

但是,由于驱动器不在那里,我得到:

 mdadm: cannot find /dev/sda1: No such file or directory 

我可以跳过失败的步骤吗? 还是有其他的方式来失败一个不再存在的分区? 或者,如果我从旧的驱动器复制分区表到新的,它会自动拿起它是替代?

我是新来的,不想把它搞砸。 🙂

你不应该让他们失败。 因为当你第一次注意到这个问题时,它们应该已经失败了,RAID成员现在被移除了。 只需几个步骤即可恢复运行。

  1. 在replace磁盘上设置分区。 这些分区的大小应该与失败和当前活动磁盘的大小相同,并且应该标记为分区types“Linux RAID Autodetect”(0xFD)。 您可以通过使用sfdisk复制分区表来简化此操作。

     sfdisk -d /dev/sdb | sfdisk /dev/sda 
  2. 如果以前使用过磁盘,则可能需要确保在再次开始之前删除现有的任何软RAID信息。

     mdadm --zero-superblock /dev/sda 
  3. 将MBR安装到新磁盘上,以便可启动。 从grubshell做到这一点。 假定/dev/sda是第一个磁盘。

     root (hd0,0) setup (hd0) quit 
  4. 将新分区添加回arrays。

     mdadm --add /dev/md0 /dev/sda1 mdadm --add /dev/md1 /dev/sda3 mdadm --add /dev/md2 /dev/sda2 
  5. 通过查看/proc/mdstat监视重build状态。 你可以用这个自动化。

     watch -n10 cat /proc/mdstat