mdadm在重新同步期间从备用磁盘重新组合

当raid-1 / dev / md2与/ dev / sda3 + / dev / sdb3从/ dev / sdb3重新同步到/ dev / sda3时,服务器崩溃。 可悲的是,由于硬件故障,/ dev / sdb完全丢失。

我现在只剩下/ dev / sda3,它是/ dev / md2的一部分,但不适合。

mdadm --assemble --scan --verbose [..] mdadm: /dev/sda3 is identified as a member of /dev/md2, slot 2. mdadm: No suitable drives found for /dev/md2 

检查输出:

 mdadm -E / dev / sda3
的/ dev / sda3的:
          魔术:a92b4efc
        版本:0.90.00
            UUID:e5249c1c:02d996e3:776c2c25:004bd7b2(本地到主机救援)
  创build时间:Wed May 4 13:48:24 2011
     团队副本:raid1
  使用的开发尺寸:730202368(696.38 GiB 747.73 GB)
     数组大小:730202368(696.38 GiB 747.73 GB)
    RAID设备:2
  设备总数:2
优先轻微:2

    更新时间:星期五6月7日22:06:35 2013
          状态:干净
 有源器件:1
工作设备:2
 失败的设备:0
  备用设备:1
       校验和:d56f21ea  - 正确
         事件:13242378


      数量主要次要RaidDevice状态
这个2 8 3 2备用/ dev / sda3

    0 0 0 0 0删除
    1 1 8 19 1活动同步/ dev / sdb3
    2 2 8 3 2备用/ dev / sda3

有没有任何select从sda3单独重新组装md2,使其再次合适吗?

(当然,也可以select将其挂载为ext3,将文件复制到备用磁盘并重新创buildRAID,但如果可能,我想重新使用已经存在的磁盘。)

元数据可能知道“这个磁盘是否属于一个数组?”的几个步骤。 我不熟悉这些细节。 我只是假设它与文件系统的脏标志相似。 当你把一个新的磁盘插入一个arrays时,它可能被标记为备用,直到它完全同步。 之后,元数据可能会更改为“是arrays的完整成员”。

最好的解决scheme的确是创build一个新的arrays并从备份恢复。

如果你想给磁盘一个机会(知道“截断”会使文件系统变得非常糟糕),那么你应该从这个磁盘创build一个新的数组:

 mdadm --create /dev/md2 --metadata=0.90 --raid-devices=2 --level=raid1 /dev/sda3 missing