如何修复损坏的 raid10 阵列

如何修复损坏的 raid10 阵列

我有一个由 4x3TB 驱动器组成的 RAID 10。它已降级(sdd 已掉线)。我以为我已经修复了它并且它正在重建,但现在(我认为)sde 似乎造成了问题。

root@tower:~# mdadm -A --force /dev/md127 /dev/sd[b-e]
mdadm: /dev/md127 assembled from 2 drives and  1 rebuilding - not enough to start the array.

这很奇怪 - 我谷歌搜索的所有内容都表明我应该在这里看到设备名称 /dev/md127,但没有:

root@tower:~# mdadm --examine --scan
ARRAY /dev/md/4x3TB metadata=1.2 UUID=acaef996:1ea7102b:9cd52d00:af0ef09e name=omv:4x3TB

有人能推荐一个合适的解决方案吗?以下是每个设备的输出:

/dev/sdb:
          魔法:a92b4efc
        版本:1.2
    特征图:0x0
     数组 UUID:acaef996:1ea7102b:9cd52d00:af0ef09e
           名称:omv:4x3TB
  创建时间:2012 年 12 月 12 日星期三 13:48:21
     突袭级别:raid10
   突袭设备:4

 可用开发大小:5860531120 (2794.52 GiB 3000.59 GB)
     数组大小:5860530176(5589.04 GiB 6001.18 GB)
  已使用设备大小:5860530176 (2794.52 GiB 3000.59 GB)
    数据偏移:2048 个扇区
   超级偏移:8 个扇区
          状态:干净
    设备 UUID:08ee73a5:86c62890:3dba03bb:522093e8

    更新时间:2015年6月7日星期日17:44:09
       校验和:d282c882-正确
         活动:2589917

         布局:near=2
     区块大小:512K

   设备角色 :活动设备 0
   数组状态:AA。?('A' == 活动,'.' == 缺失)
/dev/sdc:
          魔法:a92b4efc
        版本:1.2
    特征图:0x0
     数组 UUID:acaef996:1ea7102b:9cd52d00:af0ef09e
           名称:omv:4x3TB
  创建时间:2012 年 12 月 12 日星期三 13:48:21
     突袭级别:raid10
   突袭设备:4

 可用开发大小:5860531120 (2794.52 GiB 3000.59 GB)
     数组大小:5860530176(5589.04 GiB 6001.18 GB)
  已使用设备大小:5860530176 (2794.52 GiB 3000.59 GB)
    数据偏移:2048 个扇区
   超级偏移:8 个扇区
          状态:干净
    设备 UUID:05c34f6d:8bead38f:99a01f60:e6518283

    更新时间:2015年6月7日星期日17:44:09
       校验和:da150f20-正确
         活动:2589917

         布局:near=2
     区块大小:512K

   设备角色 : 活动设备 1
   数组状态:AA。?('A' == 活动,'.' == 缺失)
/dev/sdd:
          魔法:a92b4efc
        版本:1.2
    特征图:0x12
     数组 UUID:acaef996:1ea7102b:9cd52d00:af0ef09e
           名称:omv:4x3TB
  创建时间:2012 年 12 月 12 日星期三 13:48:21
     突袭级别:raid10
   突袭设备:4

 可用开发大小:5860531120 (2794.52 GiB 3000.59 GB)
     数组大小:5860530176(5589.04 GiB 6001.18 GB)
  已使用设备大小:5860530176 (2794.52 GiB 3000.59 GB)
    数据偏移:2048 个扇区
   超级偏移:8 个扇区
恢复偏移:670607488 扇区
          状态:干净
    设备 UUID:6d632b5f:5a22a515:5c63d798:f1b590ef

    更新时间:2015年6月7日星期日17:44:09
       校验和:1e80b6bc-正确
         活动:2589917

         布局:near=2
     区块大小:512K

   设备角色 : 活动设备 3
   数组状态:AA。?('A' == 活动,'.' == 缺失)
/dev/sde:
          魔法:a92b4efc
        版本:1.2
    特征图:0x0
     数组 UUID:acaef996:1ea7102b:9cd52d00:af0ef09e
           名称:omv:4x3TB
  创建时间:2012 年 12 月 12 日星期三 13:48:21
     突袭级别:raid10
   突袭设备:4

 可用开发大小:5860531120 (2794.52 GiB 3000.59 GB)
     数组大小:5860530176(5589.04 GiB 6001.18 GB)
  已使用设备大小:5860530176 (2794.52 GiB 3000.59 GB)
    数据偏移:2048 个扇区
   超级偏移:8 个扇区
          状态:活跃
    设备 UUID:e6a95b56:6541b0e1:6f3b9ce7:a392ceb9

    更新时间:2015年6月7日星期日14:06:33
       校验和:d2c1c56c-正确
         活动:2589703

         布局:near=2
     区块大小:512K

   设备角色 : 活动设备 3
   数组状态:AA.A('A' == 活动,'.' == 缺失)
猫/proc/mdstat
个性:[线性] [多路径] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 :非活动 sdb[4](S) sdd[5](S) sdc[1](S)
      8790796680 块超级 1.2

未使用的设备:

答案1

重大警告:

您对阵列所做的任何事情(包括我建议的事情)都可能导致数据完全丢失。如果有真正有价值的(恢复成本高昂的)未备份数据,请让经验丰富的人为您处理这种情况。包括制作所有四个驱动器的二进制副本。

从你的输出来看你似乎有

   Device Role : Active device 3

输出中出现两次--examine。这表明尝试恢复,但操作错误。

/proc/mdstat表面上看,您的阵列已组装,但未运行。有一些非常奇怪的设备编号(4,5,1),而您的驱动器应该是0,1,2,3。这也表明,元数据中存在差异。

另一个值得关注的点是Events驱动器元数据中的计数器。这些计数器对于 是一致的sd[b-d],但似乎落后于sde。您确定那sdd是掉线的驱动器吗?因为这更倾向于指出sde它脱离阵列一段时间。

您可以尝试在不掉线驱动器(mdadm -A -R /dev/md127 /dev/sd[bcd]mdadm -A --force -R /dev/md127 /dev/sd[bce])的情况下组装阵列。这样做可以避免冲突。如果可行,即使可行,也不要向阵列写入任何内容,备份数据,然后尝试sdd重新添加为热备用。

如果它不起作用,您可以尝试使用mdadm -D /dev/md127组装数组后的输出来更新您的问题(实际上两种建议的方式)。

答案2

看起来您丢失了 Raid10 的整个子阵列(驱动器 sdd、sde 以前是镜像?!) - 如果是这种情况,您的数据就会丢失。

相关内容