Как повторно добавить случайно удаленный жесткий диск в RAID5

14

У меня есть NAS на Ubuntu Server с 4 жесткими дисками по 2 ТБ в RAID 5. Пару недель назад один из жестких дисков умер, но мой RAID работал, хотя и ухудшился. К счастью, он все еще был на гарантии, и мне прислали новый жесткий диск, который я сегодня установил. Однако при попытке добавить новый жесткий диск в RAID он не восстанавливался. Поэтому я отключил жесткий диск и перезагрузил компьютер. Тем не менее, я случайно установил один из моих ДРУГИХ жестких дисков в RAID на сбой и удалил его с помощью mdadm.

Теперь он говорит, что мой RAID имеет два удаленных жестких диска. У меня все еще есть 3-й жесткий диск со всеми моими данными, но я не знаю, как повторно добавить его обратно в массив RAID, поэтому он вернулся в хорошее (хотя и ухудшенное) состояние, поэтому я могу продолжать добавлять 4-й жесткий диск и перестроить массив. Можно ли просто заставить Ubuntu понять, что на 3-м жестком диске есть мои данные, и просто снова распознать их как часть массива?

Когда я пытаюсь бежать:

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

Это говорит:

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

Пожалуйста, любая помощь, которую кто-либо может оказать, будет очень, очень ценится.

Chunky56
источник
1
Я думаю, что смог вернуть его в деградированное состояние. Мне удалось использовать команду mdadm --assemble --force в документации, и я верю, что она вернулась к ситуации, когда по крайней мере 3 из 4 дисков работают. Для тех, кто сталкивается с этой проблемой в будущем, я использовал эту команду (предполагая, что 3 рабочих диска - это sdb, sdc, sdd, каждый из которых имеет отдельные разделы sdb1, sdc1, sdd1: Код: sudo mdadm --assemble - force / dev / md127 / dev / sdb1 / dev / sdc1 / dev / sdd1 (sudo может не понадобиться в зависимости от вашей ситуации)
Chunky56

Ответы:

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]

Я не несу ответственности за любые ваши потерянные данные.

lockwobr
источник