mdadm недостаточно устройств для запуска массива - возможно ли восстановление?

mdadm недостаточно устройств для запуска массива - возможно ли восстановление?

Массив MD raid5, похоже, внезапно перестал работать. Симптомы немного похожи наЭта проблемав том, что я получаю ошибки, говорящие о недостаточном количестве устройств для запуска массива, однако в моем случае счетчики событий на всех трех дисках равны. Это массив raid 5, который должен иметь 2 активных диска и один четный, однако mdadm --examine на каждом диске показывает, что два из них имеют роль, указанную как запасной, и только один как активный диск.

я пробовалmdadm --стоп /dev/md1с последующимmdadm --assemble /dev/md1(включая попытки с флагами --force и --run).

Данные SMART не указывают на какие-либо проблемы с дисками (а текущие счетчики ожидающих и переназначенных секторов равны нулю), я попробовалруководство raid.wiki.kernel.orgссылка ниже от frostschutz с описанием шагов, включающих настройку сопоставленных наложенных устройств.

Затем я предположил бы, что выполнение следующей команды создаст raid-массив, который я затем мог бы попытаться смонтировать в режиме только для чтения и посмотреть, приведет ли это к читаемой файловой системе или просто к искаженному беспорядку (т. е. чтобы определить, была ли моя догадка о том, что sdf1 является диском четности, или мне следует повторить попытку с sde1) - но вместо этого выдается ошибка, показанная ниже (также пробовал с соответствующими петлевыми устройствами согласноlosetup --list, с тем же результатом).

mdadm --create /dev/md2 --assume-clean --level=5 --chunk=64K --metadata=1.2 --data-offset=261888s --raid-devices=3 отсутствует /dev/mapper/sdh1 /dev/mapper/sdf1

mdadm: super1.x cannot open /dev/mapper/sdh1: Device or resource busy
mdadm: /dev/mapper/sdh1 is not suitable for this array.
mdadm: super1.x cannot open /dev/mapper/sdf1: Device or resource busy
mdadm: /dev/mapper/sdf1 is not suitable for this array.
mdadm: create aborted

Также, в то время какmdadm --detail /dev/md1ранее давал вывод (далее) ниже, теперь он дает:

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

             State : inactive
   Working Devices : 3

              Name : bob:1  (local to host bob)
              UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
            Events : 373364

    Number   Major   Minor   RaidDevice

       -     253       11        -        /dev/dm-11
       -     253       10        -        /dev/dm-10
       -     253        9        -        /dev/dm-9

Еще я заметилстатус dmsetupпредоставляет одну и ту же информацию для всех трех наложений и имеет число, которое выглядит подозрительно, как будто оно относится к размеру исходного RAID-массива (16 ТБ), а не к отдельному диску (8 ТБ) — не уверены, так ли это должно быть?

sde1: 0 15627528888 snapshot 16/16777216000 16
sdh1: 0 15627528888 snapshot 16/16777216000 16
sdf1: 0 15627528888 snapshot 16/16777216000 16

Не уверен, как двигаться дальше, вплоть до попытки создать устройство, смонтировать и проверить файловую систему, чтобы подтвердить, угадал ли я правильное устройство четности или нет, используя оверлей, чтобы предотвратить запись чего-либо на реальные диски.

ОБНОВЛЯТЬ: Согласно предложению frostschutz ниже, массив каким-то образом находился в состоянии, когда --stop необходимо было выдать до того, как можно было что-либо сделать с базовыми дисками. Ранее я исключил такую ​​возможность, так каккот /proc/mdstatотображал массив как неактивный, что, как я предполагал, означало, что он не мог быть причиной блокировки дисков, но на самом деле это было не так (я также ранее запускал --stop, но, похоже, что-то было сделано после этого, что вызвало возврат в не остановленное состояние). После получения правильного порядка дисков (не с первой попытки, рад, что использовал оверлеи) массив прошел проверку fsck без сообщений об ошибках итеперь работает как ни в чем не бывало.


Результат выполнения других диагностических команд:

кот /proc/mdstat:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md1 : inactive sdh1[1](S) sde1[3](S) sdf1[0](S)
      23440900500 blocks super 1.2

mdadm --detail /dev/md1:

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

             State : inactive
   Working Devices : 3

              Name : bob:1  (local to host bob)
              UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
            Events : 373364

    Number   Major   Minor   RaidDevice

       -       8      113        -        /dev/sdh1
       -       8       81        -        /dev/sdf1
       -       8       65        -        /dev/sde1

строки, появляющиеся в dmesg при попыткеmdadm --assemble /dev/md1:

md/raid:md1: device sdh1 operational as raid disk 1
md/raid:md1: not enough operational devices (2/3 failed)
md/raid:md1: failed to run raid set.
md: pers->run() failed ..

иmdadm --исследоватьс

/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
           Name : bob:1  (local to host bob)
  Creation Time : Mon Mar  4 22:10:29 2019
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
     Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
  Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
    Data Offset : 261888 sectors
   Super Offset : 8 sectors
   Unused Space : before=261808 sectors, after=312 sectors
          State : clean
    Device UUID : e856f539:6a1b5822:b3b8bfb7:4d0f4741

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun May 30 00:22:45 2021
  Bad Block Log : 512 entries available at offset 40 sectors
       Checksum : 9b5703bc - correct
         Events : 373364

         Layout : left-symmetric
     Chunk Size : 64K

   Device Role : spare
   Array State : .AA ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
           Name : bob:1  (local to host bob)
  Creation Time : Mon Mar  4 22:10:29 2019
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
     Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
  Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
    Data Offset : 261888 sectors
   Super Offset : 8 sectors
   Unused Space : before=261800 sectors, after=312 sectors
          State : clean
    Device UUID : 7919e56f:2e08430e:95a4c4a6:1e64606a

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun May 30 00:22:45 2021
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : d54ff3e1 - correct
         Events : 373364

         Layout : left-symmetric
     Chunk Size : 64K

   Device Role : spare
   Array State : .AA ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdh1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
           Name : bob:1  (local to host bob)
  Creation Time : Mon Mar  4 22:10:29 2019
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
     Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
  Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
    Data Offset : 261888 sectors
   Super Offset : 8 sectors
   Unused Space : before=261800 sectors, after=312 sectors
          State : clean
    Device UUID : 0c9a8237:7e79a439:d4e35b31:659f3c86

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun May 30 00:22:45 2021
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 6ec2604b - correct
         Events : 373364

         Layout : left-symmetric
     Chunk Size : 64K

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


решение1

Выглядит странно. Возможно, вам придетсяmdadm --create с наложениямидля этого (с правильным смещением данных, размером фрагмента и порядком дисков). И, возможно, с отсутствием первого диска, поскольку он, похоже, вышел из строя первым...

По сути, нет способа восстановить обычными средствами, если диск больше не помнит свою роль устройства. Оба говорят, что они «запасные», поэтому неизвестно, была ли у диска роль 0, или роль 2, или вообще ничего (некоторые конфигурации raid5 на самом деле используют запасные по какой-то причине). Поэтому неясно: есть ли на них вообще полезные данные, и если да, то в каком порядке они будут. Вы должны определить сами.

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

Связанный контент