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

mdadm raid5: весь диск отображается как запасной

У меня были отключены вилки питания для 2 из 4 дисков моего raid 5. С тех пор он не запускается. Даже с --run --force, --readwrite и т.д. Я быстро увидел это, поэтому данные не должны быть (слишком сильно) повреждены.

Вот подробности:

/dev/md2:
           Version : 1.2
     Creation Time : Mon Oct 28 14:46:16 2019
        Raid Level : raid5
     Used Dev Size : 243138560 (231.88 GiB 248.97 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Apr  9 20:37:49 2020
             State : active, FAILED, Not Started
    Active Devices : 0
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 4

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : unknown

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       -       0        0        1      removed
       -       0        0        2      removed
       -       0        0        3      removed

       -       8       50        3      spare rebuilding   /dev/sdd2
       -       8       34        1      spare rebuilding   /dev/sdc2
       -       8       18        2      spare rebuilding   /dev/sdb2
       -       8        2        0      spare rebuilding   /dev/sda2

Теперь я могу просто воссоздать массив с помощью sudo mdadm --create / dev / md2 --level = 5 --raid-devices = 4 --chunk = 512 / dev / sdd2 / dev / sdb2 / dev / sda2 / dev / sdc2? Я должен заботиться о порядке дисков, верно?

Как и просили, вывод --examine:

/dev/sda2:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x8b
     Array UUID : 0956b1a2:4ed1052a:016155a1:940db446
           Name : raspberrypi3:2
  Creation Time : Mon Oct 28 14:46:16 2019
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 486277120 (231.88 GiB 248.97 GB)
     Array Size : 729415680 (695.63 GiB 746.92 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
Recovery Offset : 36416 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : clean
    Device UUID : da9f05d3:64d47a14:78eedb5e:dd69151c

Internal Bitmap : 8 sectors from superblock
    Update Time : Thu Apr  9 20:37:49 2020
  Bad Block Log : 512 entries available at offset 72 sectors - bad blocks present.
       Checksum : ccf72dc4 - correct
         Events : 8802

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb2:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x8b
     Array UUID : 0956b1a2:4ed1052a:016155a1:940db446
           Name : raspberrypi3:2
  Creation Time : Mon Oct 28 14:46:16 2019
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 486277120 (231.88 GiB 248.97 GB)
     Array Size : 729415680 (695.63 GiB 746.92 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
Recovery Offset : 36416 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : active
    Device UUID : e709a92a:c10f1949:c9868538:f5cc2acc

Internal Bitmap : 8 sectors from superblock
    Update Time : Thu Apr  9 20:37:49 2020
  Bad Block Log : 512 entries available at offset 72 sectors - bad blocks present.
       Checksum : e2f7ce99 - correct
         Events : 8802

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc2:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x8b
     Array UUID : 0956b1a2:4ed1052a:016155a1:940db446
           Name : raspberrypi3:2
  Creation Time : Mon Oct 28 14:46:16 2019
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 486277120 (231.88 GiB 248.97 GB)
     Array Size : 729415680 (695.63 GiB 746.92 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
Recovery Offset : 36416 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : active
    Device UUID : e1c4f361:af07c81c:1e6b8f72:962869a5

Internal Bitmap : 8 sectors from superblock
    Update Time : Thu Apr  9 20:37:49 2020
  Bad Block Log : 512 entries available at offset 72 sectors - bad blocks present.
       Checksum : 139c176 - correct
Events : 8801

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd2:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x8b
     Array UUID : 0956b1a2:4ed1052a:016155a1:940db446
           Name : raspberrypi3:2
  Creation Time : Mon Oct 28 14:46:16 2019
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 486277120 (231.88 GiB 248.97 GB)
     Array Size : 729415680 (695.63 GiB 746.92 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
Recovery Offset : 36416 sectors
   Unused Space : before=262056 sectors, after=0 sectors
          State : active
    Device UUID : ce27edb8:365853c7:e0434b32:5ae01e33

Internal Bitmap : 8 sectors from superblock
    Update Time : Thu Apr  9 20:37:49 2020
  Bad Block Log : 512 entries available at offset 72 sectors - bad blocks present.
       Checksum : 50300573 - correct
         Events : 8801

         Layout : left-symmetric
     Chunk Size : 512K

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

Итак, после недели различных попыток, ответом стал плохой черный список. Перед жестким отказом массив raid начал добавлять весь доступ к базовым дискам как плохие блоки. Так что даже при сборке диска можно заставить массив начинаться с «echo [X, Y, Z, W] | sudo tee / sys / block / md2 / md / dev-sd [a, b, c, d] 2 / slot "это привело бы к ошибке ввода-вывода при доступе к / dev / mdX.

Поэтому я заставил массив начать игнорировать список блоков с помощью "sudo mdadm --assemble --update = force-no-bbl / dev / md2 / dev / sda2 / dev / sdd2 / dev / sdc2 / dev / sdb2". Что безумно, так это то, что нет никакого ключа к разгадке причины. У меня только что была «Ошибка ввода-вывода буфера на dev md2, логический блок 0, чтение асинхронной страницы». И это ни к чему не приводит в сети ...