raid5 阵列重新组装为 raid0

raid5 阵列重新组装为 raid0

我在这里发现类似的问题:断电后丢失的 mdadm raid5 阵列重新组装为 raid0,但我的有点不同。

这里我的 raid5 也重新组装为 raid0,但我在 mdadm -E /dev/sdX1 输出中没有看到任何标记为备用的设备:

/dev/sdb1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 9b244d41:0b94c8f7:0da323ac:f2a873ec
           Name : bekap:0  (local to host bekap)
  Creation Time : Wed Oct  9 16:03:25 2013
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 5860268032 (2794.39 GiB 3000.46 GB)
     Array Size : 5860267008 (5588.79 GiB 6000.91 GB)
  Used Dev Size : 5860267008 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : active
    Device UUID : f8405c86:85d8bade:8a74b0f5:fec08e3f

    Update Time : Sat Jan 16 04:41:05 2016
       Checksum : da1a9cb2 - correct
         Events : 134111

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 9b244d41:0b94c8f7:0da323ac:f2a873ec
           Name : bekap:0  (local to host bekap)
  Creation Time : Wed Oct  9 16:03:25 2013
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 5860268032 (2794.39 GiB 3000.46 GB)
     Array Size : 5860267008 (5588.79 GiB 6000.91 GB)
  Used Dev Size : 5860267008 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : active
    Device UUID : d704efde:067523c1:a6de1be2:e752323f

    Update Time : Sat Jan 16 04:41:05 2016
       Checksum : 124f919 - correct
         Events : 134111

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 9b244d41:0b94c8f7:0da323ac:f2a873ec
           Name : bekap:0  (local to host bekap)
  Creation Time : Wed Oct  9 16:03:25 2013
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 5860268032 (2794.39 GiB 3000.46 GB)
     Array Size : 5860267008 (5588.79 GiB 6000.91 GB)
  Used Dev Size : 5860267008 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : c52383f7:910118d3:e808a29f:b4edad2c

    Update Time : Mon Dec 28 10:46:40 2015
       Checksum : d69974b5 - correct
         Events : 52676

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAA ('A' == active, '.' == missing, 'R' == replacing)

但它们在 /proc/mdstat 中被标记为 S(据我所知代表备用)(并且 md0 没有个性):

Personalities : 
md0 : inactive sdb1[0](S) sdd1[3](S) sdc1[1](S)
      8790402048 blocks super 1.2

unused devices: <none>

这是 mdadm -D /dev/md0 输出:

/dev/md0:
        Version : 1.2
     Raid Level : raid0
  Total Devices : 3
    Persistence : Superblock is persistent

          State : inactive

           Name : bekap:0  (local to host bekap)
           UUID : 9b244d41:0b94c8f7:0da323ac:f2a873ec
         Events : 134111

    Number   Major   Minor   RaidDevice

       -       8       17        -        /dev/sdb1
       -       8       33        -        /dev/sdc1
       -       8       49        -        /dev/sdd1

所以我有点困惑为什么它不能重新组装这个阵列,如果它有三个中的两个(我会说好的设备)。我不确定 mdadm -D /dev/md0 是否在失败后将其显示为 raid0,或者我是否只是在尝试重新组装阵列时搞砸了(我尝试了 mdadm --stop /dev/md0 和 mdadm --assemble - -scan --verbose 和 mdadm --assemble --scan --verbose /dev/md0 /dev/sdb1 /dev/sdc1 或类似的东西 - 如果有必要,我可以尝试获取确切的命令)。

所以,我的问题是:我可以从数组中删除 sdd1,然后在没有它的情况下组装 md0,然后再次添加 sdd1 吗?或者我应该使用--assemble --force --run 如链接问题中所述?或者是其他东西?我对 linux raid 和 mdadm 非常缺乏经验。

多谢。

答案1

好吧,只是总结一下 - 基本上,该链接中所说的内容有所帮助,这是我的确切命令:

  • mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1
  • mdadm --add /dev/md0 /dev/sdd1 (--re-add 不起作用),此后它开始重新同步 - 花了大约 20 小时

然后,由于lvm结束了:

  • lvchange -ay 数据/数据
  • fsck /dev/数据/数据

感谢帮助。

相关内容