mdadm показывает неактивный массив raid0 вместо ухудшенного raid6 после сбоя диска

Я работал с системой Ubuntu 18.04 с 8-дисковым массивом raid 6, который зависал при наличии неисправного диска (я только заметил, что после сбоя был неисправный диск). Массив raid пережил несколько установок Ubuntu, поэтому у меня не первый раз был неисправный диск, и обычно я продолжал работать с массивом, пока не получил заменяющий диск, но на этот раз я не могу запустить его снова (Мой план состоял в том, чтобы сначала запустить его снова и заказывать замену только тогда, когда я уверен, что массив можно восстановить).

Я отключил неисправный диск, и остальные 7 дисков по-прежнему работают, однако mdadm, похоже, считает, что эти 7 дисков являются частью массива raid 0 вместо массива raid 6. Так что на данный момент я не достаточно смел, чтобы попробовать что-нибудь, что может быть разрушительным, по крайней мере, не пытаясь получить какое-то подтверждение того, что есть больше шансов работать, чем уничтожать данные (я делал периодические резервные копии в течение многих лет, но, вероятно, есть некоторые фотографии там, которые еще не были зарезервированы... и да, я знаю, что мне нужна лучшая стратегия резервного копирования, и, как всегда, это будет первое, что я сделаю после того, как эта проблема будет исправлена ​​или окончательно решена),

Когда я бегу mdadm --assemble --scan Я получаю следующий вывод:

mdadm: /dev/md127 assembled from 7 drives - not enough to start the array while not clean - consider --force.

Я бы попробовал --force вариант, но вывод mdadm --detail /dev/md127 как следует:

/dev/md127:
           Version : 1.2
        Raid Level : raid0
     Total Devices : 7
       Persistence : Superblock is persistent

             State : inactive
   Working Devices : 7

              Name : Ares:RaidStorage  (local to host Ares)
              UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
            Events : 1627931

    Number   Major   Minor   RaidDevice

       -       8       32        -        /dev/sdc
       -       8        0        -        /dev/sda
       -       8      112        -        /dev/sdh
       -       8       80        -        /dev/sdf
       -       8       48        -        /dev/sdd
       -       8       16        -        /dev/sdb
       -       8       96        -        /dev/sdg

И с тех пор mdadm --assemble --help Говорит, что --force включает в себя изменение суперблоков, я боюсь, что работает --force перезапишет суперблоки информацией для массива raid 0.

Я позволил mdadm проверить устройства-члены, и они все еще думают, что они являются частью 8-дискового массива raid 6 (что, я надеюсь, означает, что еще есть шанс на восстановление):

root@Ares:/# for i in a b c d f g h; do mdadm --examine /dev/sd$i; done
/dev/sda:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
           Name : Ares:RaidStorage  (local to host Ares)
  Creation Time : Mon Jun 25 18:19:09 2012
     Raid Level : raid6
   Raid Devices : 8

 Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
     Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
  Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=944 sectors
          State : active
    Device UUID : 1e104c8a:529eb411:a7fd472a:5854d356

    Update Time : Fri Mar  1 21:50:02 2019
       Checksum : 712f8115 - correct
         Events : 1627931

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
           Name : Ares:RaidStorage  (local to host Ares)
  Creation Time : Mon Jun 25 18:19:09 2012
     Raid Level : raid6
   Raid Devices : 8

 Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
     Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
  Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=944 sectors
          State : active
    Device UUID : d3bb43b7:9f39be47:102328fa:2bab3f5e

    Update Time : Fri Mar  1 21:50:02 2019
       Checksum : ab7d4456 - correct
         Events : 1627931

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
           Name : Ares:RaidStorage  (local to host Ares)
  Creation Time : Mon Jun 25 18:19:09 2012
     Raid Level : raid6
   Raid Devices : 8

 Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
     Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
  Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=944 sectors
          State : active
    Device UUID : 325a0adf:3d917a47:977edea3:db21d42a

    Update Time : Fri Mar  1 21:50:02 2019
       Checksum : 494b0c89 - correct
         Events : 1627931

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
           Name : Ares:RaidStorage  (local to host Ares)
  Creation Time : Mon Jun 25 18:19:09 2012
     Raid Level : raid6
   Raid Devices : 8

 Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
     Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
  Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=944 sectors
          State : active
    Device UUID : 6c0200a0:37b50833:683a868b:ebfb9e94

    Update Time : Fri Mar  1 21:50:02 2019
       Checksum : 47416ea1 - correct
         Events : 1627931

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
           Name : Ares:RaidStorage  (local to host Ares)
  Creation Time : Mon Jun 25 18:19:09 2012
     Raid Level : raid6
   Raid Devices : 8

 Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
     Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
  Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=944 sectors
          State : active
    Device UUID : b91d04d3:3f1508ad:687bb30f:7d6fc687

    Update Time : Fri Mar  1 21:50:02 2019
       Checksum : 6b999e8b - correct
         Events : 1627931

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 4
   Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdg:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
           Name : Ares:RaidStorage  (local to host Ares)
  Creation Time : Mon Jun 25 18:19:09 2012
     Raid Level : raid6
   Raid Devices : 8

 Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
     Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
  Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1960 sectors, after=944 sectors
          State : active
    Device UUID : 64ba7519:7d47e97c:21c5622a:18df9eca

    Update Time : Fri Mar  1 21:50:02 2019
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : df7c2710 - correct
         Events : 1627931

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 5
   Array State : AAAAAAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdh:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1
           Name : Ares:RaidStorage  (local to host Ares)
  Creation Time : Mon Jun 25 18:19:09 2012
     Raid Level : raid6
   Raid Devices : 8

 Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
     Array Size : 17581590528 (16767.11 GiB 18003.55 GB)
  Used Dev Size : 5860530176 (2794.52 GiB 3000.59 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=944 sectors
          State : active
    Device UUID : 493cfa55:b00800db:40c8fbc4:c94dabbb

    Update Time : Fri Mar  1 21:50:02 2019
       Checksum : 5b4dbb3 - correct
         Events : 1627931

         Layout : left-symmetric
     Chunk Size : 512K

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

Для полноты картины, вот также вывод некоторых других команд, которые, вероятно, имеют отношение:

root@Ares:/# mdadm --examine --scan
ARRAY /dev/md/RaidStorage  metadata=1.2 UUID=8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1 name=Ares:RaidStorage

root@Ares:/# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>

root@Ares:/# cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# !NB! Run update-initramfs -u after updating this file.
# !NB! This will ensure that initramfs has an uptodate copy.
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/RaidStorage  metadata=1.2 UUID=8f7270c4:ec9e19f5:afa4d7c7:2fcb1ee1 name=Ares:RaidStorage

# This configuration was auto-generated on Mon, 01 Oct 2018 20:35:13 +0200 by mkconf

Чтобы исключить возможность неправильной конфигурации в моей установке Kubuntu, я также попытался mdadm --assemble --scan с USB-флешки Kubuntu, но это имело тот же эффект, что и запуск с моей обычной установки.

Итак, мои вопросы таковы:

  1. как это возможно, что все диски считают, что они являются частью моего 8-дискового массива raid 6, но mdadm --assemble --scan все еще приводит к неактивному массиву raid 0?
  2. могу ли я безопасно позвонить mdadm --assemble --scan --force?
  3. Если нет на 2: как я могу убедить mdadm видеть мои 7 дисков как часть 8-дискового рейда 6?

1 ответ

Это сработало для меня:

  • войти в /etc/mdadm/mdadm.conf
  • отредактируйте строку для вашего массива и добавьте уровень рейда и номера дисков. Мой был

    level=raid6 num-devices=6
    

    очевидно, вам нужно сказать 8 устройств:)

Похоже, моя система сильно перегрелась - две коробки в стесненных условиях и диски сошли с ума. Один диск выпал, который, я думал, облажался, а другой просто исчез, но когда я проверил события, у меня было 5 дисков с одинаковыми, и первый, который выпал, был позади.

После настройки mdadm.conf, Я перезапустил систему и проверил все диски были обнаружены assemble Команде нужен был --force вариант (страшно), но работал нормально и начал проверять себя. Затем добавили обратно на первый диск, чтобы он выпал, и, похоже, он только что обновил его, и теперь все чисто.

Другие вопросы по тегам