Назад | Перейти на главную страницу

Восстановление массива RAID5 после обнуления неправильного суперблока

У меня есть массив raid5 на 4 диска, sda1, sdb1, sdd1 и sde1. sdd1 был удален, но это исправный диск. Пытаясь повторно добавить его, я случайно обнуил суперблок для sdb1.

Данные sdb1 согласуются с sda1 и sde1, только отсутствует суперблок.

Можно ли восстановить суперблок на этом устройстве и собрать массив (деградированный) без потери данных?

Ниже приведен вывод 'mdadm -E / dev / sd {a, d, e} 1'.

Правильно ли я читаю вывод, если sde1 - это устройство 0, sdd1 - это устройство 2, а sda1 - это устройство 3? Тогда это будет означать, что sdb1 был устройством 1. Могу ли я воссоздать массив с помощью следующей команды без потери данных:

$ sudo mdadm --create /dev/md0 --assume-clean --level=5 --raid-devices=4 /dev/sde1 /dev/sdb1 missing /dev/sda1

/dev/sda1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 81a36846:cf4f0489:219e2546:b1f5b90e
           Name : cowbell:0
  Creation Time : Sun Sep 25 20:24:46 2011
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3907025920 (1863.02 GiB 2000.40 GB)
     Array Size : 5860538880 (5589.05 GiB 6001.19 GB)
    Data Offset : 1024 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : a0abbc72:f8bb1e2b:e8f81f5c:ed62a979

Internal Bitmap : 8 sectors from superblock
    Update Time : Tue Jul 23 18:05:09 2013
       Checksum : 9f46a56 - correct
         Events : 717820

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AA.A ('A' == active, '.' == missing)
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 81a36846:cf4f0489:219e2546:b1f5b90e
           Name : cowbell:0
  Creation Time : Sun Sep 25 20:24:46 2011
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3907027053 (1863.02 GiB 2000.40 GB)
     Array Size : 5860538880 (5589.05 GiB 6001.19 GB)
  Used Dev Size : 3907025920 (1863.02 GiB 2000.40 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : active
    Device UUID : 79f5632d:46d5c083:a1c0130c:b83b0654

Internal Bitmap : 8 sectors from superblock
    Update Time : Tue Jul 23 17:42:02 2013
       Checksum : a78d6f5b - correct
         Events : 717392

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAA ('A' == active, '.' == missing)
/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 81a36846:cf4f0489:219e2546:b1f5b90e
           Name : cowbell:0
  Creation Time : Sun Sep 25 20:24:46 2011
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3907027053 (1863.02 GiB 2000.40 GB)
     Array Size : 5860538880 (5589.05 GiB 6001.19 GB)
  Used Dev Size : 3907025920 (1863.02 GiB 2000.40 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 6abd9160:c8ae382c:e6c73d01:37ac057b

Internal Bitmap : 8 sectors from superblock
    Update Time : Tue Jul 23 18:05:09 2013
       Checksum : 9f5d8fa6 - correct
         Events : 717820

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA.A ('A' == active, '.' == missing)

В дополнение к резервным копиям вы также можете подумать о создании полного dd копии дисков перед попыткой восстановления.

При этом, похоже, вы на правильном пути к восстановлению без потери данных. Вы правильно интерпретируете номера устройств. Эта команда выглядит как то, что вам нужно.

Смотрите мой ответ Вот - эти вещи на удивление устойчивы к потере данных, и разрушение суперблока не повреждает возможность перестроить массив в той же геометрии (см. тест 4 в этом ответе).

Я бы попытался убедиться, что основные физические диски синхронизированы, прежде чем продолжить воссоздание MD-устройства, предполагая, что оно чистое. Вы можете сделать это с помощью

mdadm -E /dev/sd[abc]1 | grep Event
Events : 0.53120
Events : 0.53108
Events : 0.53120

Выходные данные показывают, что sda и sdc синхронизируются, пока sdc задерживается.