如何在RAID5中重新添加意外删除的硬盘


14

我在Ubuntu Server上有一个NAS,它的RAID 5中有4个2TB硬盘。几个星期前,其中一个硬盘坏了,但是我的RAID可以工作了,尽管性能下降了。幸运的是,它仍然处于保修期内,并向我发送了今天安装的新硬盘。但是,当尝试将新的硬盘驱动器添加到RAID时,它没有重建。因此,我拔下硬盘驱动器并重新启动了计算机。但是,我不小心将RAID中的其他OTHER硬盘之一设置为失败,并使用mdadm将其删除。

现在它说我的RAID有两个卸下的硬盘驱动器。我的第3硬盘驱动器上的所有数据仍然完好无损,但是我不知道如何将其重新添加回RAID阵列中,因此它又恢复了良好的状态(尽管已降级),因此我可以继续添加第四个硬盘驱动器并重建阵列。是否可以让Ubuntu意识到第3个硬盘驱动器拥有我的数据,并且又将其再次识别为阵列的一部分?

当我尝试运行时:

sudo mdadm --manage /dev/md127 --re-add /dev/sdd1 

它说:

mdadm: --re-add for /dev/sdd1 to dev/md127 is not possible

请大家提供任何帮助,将不胜感激。


1
我认为我能够使它恢复到降级状态。我能够在文档中使用mdadm --assemble --force命令,并且我相信它可以恢复到4个驱动器中至少3个正在工作的情况。对于将来遇到此问题的任何人,这是我使用的命令(假设3个工作驱动器是sdb,sdc,sdd,每个驱动器都具有sdb1,sdc1,sdd1的单个分区:代码:sudo mdadm --assemble-强制/ dev / md127 / dev / sdb1 / dev / sdc1 / dev / sdd1(根据您的情况,可能不需要sudo)
Chunky56 2013年

Answers:


5

您可能需要只做一个--add而不是一个--re-add。如果您阅读了手册页,--re-add则它说明了在事件计数接近其余设备时重新添加设备。您可以--examine用来找出答案。

$ mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd'
mdadm: No md superblock detected on /dev/sda1.
/dev/sdb1:
         Events : 992655
/dev/sdd1:
         Events : 992655
/dev/sde1:
         Events : 992655
/dev/sdf1:
         Events : 992655
/dev/sdg1:
         Events : 158
/dev/sdh1:
         Events : 992655
/dev/sdj1:
         Events : 992655

如您所见,我的/dev/sdh1设备已经不在阵列中一段时间​​了,并且--re-add无法正常工作,您将必须执行--add并恢复阵列。

您可以mdadm --detail /dev/md126用来观察正在发生的事情,在完成所有操作之后再执行任何操作可能不是一个坏主意!

$ mdadm --detail /dev/md126
/dev/md126:
        Version : 1.2
  Creation Time : Tue Jun 24 05:17:47 2014
     Raid Level : raid6
     Array Size : 14650158080 (13971.48 GiB 15001.76 GB)
  Used Dev Size : 2930031616 (2794.30 GiB 3000.35 GB)
   Raid Devices : 7
  Total Devices : 7
    Persistence : Superblock is persistent

    Update Time : Thu Nov  6 05:47:56 2014
          State : clean, degraded, recovering
 Active Devices : 6
Working Devices : 7
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

 Rebuild Status : 0% complete

           Name : omegacentauri:0  (local to host omegacentauri)
           UUID : 9fdcacc0:14f7ef3c:a6931b47:bfb8b4a1
         Events : 992656

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       49        1      active sync   /dev/sdd1
       2       8       65        2      active sync   /dev/sde1
       3       8       81        3      active sync   /dev/sdf1
       4       8       97        4      active sync   /dev/sdg1
       5       8      145        5      active sync   /dev/sdj1
       7       8      113        6      spare rebuilding   /dev/sdh1

或者您也可以使用此:

$ cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md126 : active raid6 sdh1[7] sdg1[4] sdj1[5] sdf1[3] sdd1[1] sde1[2] sdb1[0]
      14650158080 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUUU_]
      [>....................]  recovery =  0.9% (26657536/2930031616) finish=1162.5min speed=41624K/sec

md127 : active (auto-read-only) raid1 sdi[1] sdc[0]
      1465007360 blocks super 1.2 [2/2] [UU]

我对您丢失的任何数据概不负责。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.