mdadm - устаревший массив и текущий массив имеют одинаковый UUID. Текущий массив не собирается при загрузке

Я редко задаю вопросы, но Google нашел пробел в этом вопросе, так что я здесь.

У меня проблема с моим программным обеспечением mdadm Raid, работающим на Ubuntu 14.04 Server Edition. В частности, мне кажется, что у меня установлено 2 RAID-массива с одинаковым UUID, один из которых старый, а другой новый, что означает, что он не может быть собран при загрузке, что приводит к зависанию загрузки, так как он не может смонтировать некоторые из моих файловых систем.

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

В далеком прошлом, когда у меня был массив Raid1, состоящий из двух дисков по 2 ТБ. Система не находится в этом массиве, у нее есть выделенный диск, так что это чисто для данных.

Я начал исчерпывать пространство, поэтому перенес эти два диска в Raid5. Все идет нормально.

Затем я расширил свой массив, добавив 2 запасных части по 2 ТБ и увеличив массив в эти запасные части. Вот где я думаю, что проблема произошла.

Затем я решил, учитывая размер массива и время перестроения, я бы предпочел запустить Raid6, поэтому я разделил 2 существующих диска емкостью 1 ТБ, чтобы получить Raid0 объемом 2 ТБ, и увеличил Raid 6 на этих дисках. Вот где я сейчас нахожусь: Raid 6, состоящий из 4 дисков по 2 ТБ + 1 X 2 ТБ, Raid 0 (всего 10 ТБ, 6 ТБ используемого пространства, четность 4 ТБ).

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

sudo mdadm --examine --scan -v
ARRAY /dev/md/1 level=raid0 metadata=1.2 num-devices=2 UUID=913834a2:63afa2cd:a84e864a:96353af5 name=fileserver:1
   devices=/dev/sdd1,/dev/sda1
ARRAY /dev/md/0 level=raid5 metadata=1.2 num-devices=2 UUID=18235f5c:bd4892c0:7616a677:626ae2e8 name=team-canfield:0
   spares=2   devices=/dev/sde,/dev/sdf
ARRAY /dev/md/0 level=raid6 metadata=1.2 num-devices=5 UUID=18235f5c:bd4892c0:7616a677:626ae2e8 name=team-canfield:0
   devices=/dev/sdg1,/dev/sdh1,/dev/sde1,/dev/sdf1,/dev/md/1

Видите те 2 /dev/md0 с разными уровнями рейда, но с тем же UUID? Отстой, да? Похоже, что Raid5 с двумя запасными частями остался в конфигурации и не был перезаписан путем увеличения одного и того же массива на эти две запасные части и впоследствии в Raid6. Важно то, что я, возможно, облажался, если мой исходный массив ссылался на целые диски (/dev/sd[ef]), а мой Raid6 ссылался на целые разделы диска (/dev/sd[efgh]1).

В результате я не могу собрать массив, используя:

sudo mdadm --assemble --scan

поскольку он пытается собрать Raid5 с 2 запасными частями и не может завершить. Вместо этого я должен выдать следующее для сборки массива:

sudo mdadm --assemble /dev/md0 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/md1

Это прекрасно работает, и мой Raid6 снова становится доступным в /dev/md0... ОДНАКО, это означает, что мой сервер теперь требует ручного вмешательства, когда он не может смонтировать файловые системы в Raid при загрузке, что невероятно неудобно, так как это означает, что Я должен физически перейти на сервер, чтобы [S] уничтожить неудачное монтирование.

Ниже приведены выходные данные моего conf-файла и другие выходные данные mdadm (пока мой Raid6 успешно работает), чтобы помочь в дальнейшей диагностике решения.

mdstat:

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdg1[0] md1[5] sdf1[3] sde1[4] sdh1[2]
      5860145664 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/5] [UUUUU]

md1 : active raid0 sdd1[1] sda1[0]
      1953522688 blocks super 1.2 512k chunks

unused devices: <none>

mdadm - деталь

sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Sep  4 00:57:56 2015
     Raid Level : raid6
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 1953381888 (1862.89 GiB 2000.26 GB)
   Raid Devices : 5
  Total Devices : 5
    Persistence : Superblock is persistent

    Update Time : Sun Sep 27 14:00:17 2015
          State : clean
 Active Devices : 5
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : team-canfield:0  (local to host team-canfield)
           UUID : 18235f5c:bd4892c0:7616a677:626ae2e8
         Events : 1231852

    Number   Major   Minor   RaidDevice State
       0       8       97        0      active sync   /dev/sdg1
       2       8      113        1      active sync   /dev/sdh1
       4       8       65        2      active sync   /dev/sde1
       3       8       81        3      active sync   /dev/sdf1
       5       9        1        4      active sync   /dev/md/1

mdadm.conf:

cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# 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

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# 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/1 metadata=1.2 UUID=913834a2:63afa2cd:a84e864a:96353af5 name=fileserver:1
ARRAY /dev/md/0 metadata=1.2 UUID=18235f5c:bd4892c0:7616a677:626ae2e8 name=team-canfield:0

mdadm --examine --scan -vvvv:

sudo mdadm --examine --scan -vvvv
mdadm: No md superblock detected on /dev/md0.
/dev/sdg1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 18235f5c:bd4892c0:7616a677:626ae2e8
           Name : team-canfield:0  (local to host team-canfield)
  Creation Time : Fri Sep  4 00:57:56 2015
     Raid Level : raid6
   Raid Devices : 5

 Avail Dev Size : 3906764976 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : e39fa659:9010941e:034e58b6:f88f7542

    Update Time : Sun Sep 27 14:00:17 2015
       Checksum : 18244273 - correct
         Events : 1231852

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAAAA ('A' == active, '.' == missing)
/dev/sdg:
   MBR Magic : aa55
Partition[0] :   3907027120 sectors at         2048 (type fd)
/dev/sdh1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 18235f5c:bd4892c0:7616a677:626ae2e8
           Name : team-canfield:0  (local to host team-canfield)
  Creation Time : Fri Sep  4 00:57:56 2015
     Raid Level : raid6
   Raid Devices : 5

 Avail Dev Size : 3906764976 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : cc416705:bf6220eb:9201a515:c044aabd

    Update Time : Sun Sep 27 14:00:17 2015
       Checksum : 6af29ee4 - correct
         Events : 1231852

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AAAAA ('A' == active, '.' == missing)
/dev/sdh:
   MBR Magic : aa55
Partition[0] :   3907027120 sectors at         2048 (type fd)
/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 18235f5c:bd4892c0:7616a677:626ae2e8
           Name : team-canfield:0  (local to host team-canfield)
  Creation Time : Fri Sep  4 00:57:56 2015
     Raid Level : raid6
   Raid Devices : 5

 Avail Dev Size : 3906764976 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : dbd3c13e:269dde52:0b07e3cf:d8d2e4fc

    Update Time : Sun Sep 27 14:00:17 2015
       Checksum : 583feee - correct
         Events : 1231852

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAAA ('A' == active, '.' == missing)
/dev/sde:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 18235f5c:bd4892c0:7616a677:626ae2e8
           Name : team-canfield:0  (local to host team-canfield)
  Creation Time : Fri Sep  4 00:57:56 2015
     Raid Level : raid5
   Raid Devices : 2

 Avail Dev Size : 3906767024 (1862.89 GiB 2000.26 GB)
     Array Size : 1953381888 (1862.89 GiB 2000.26 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 8089c55e:df3a826b:7df2e4b9:dbff7a97

    Update Time : Sat Sep  5 14:59:00 2015
       Checksum : 7f43d8a - correct
         Events : 514

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : spare
   Array State : AA ('A' == active, '.' == missing)
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 18235f5c:bd4892c0:7616a677:626ae2e8
           Name : team-canfield:0  (local to host team-canfield)
  Creation Time : Fri Sep  4 00:57:56 2015
     Raid Level : raid6
   Raid Devices : 5

 Avail Dev Size : 3906764976 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : de9ae300:e4382032:a5fd89c9:c966255b

    Update Time : Sun Sep 27 14:00:17 2015
       Checksum : feceec37 - correct
         Events : 1231852

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AAAAA ('A' == active, '.' == missing)
/dev/sdf:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 18235f5c:bd4892c0:7616a677:626ae2e8
           Name : team-canfield:0  (local to host team-canfield)
  Creation Time : Fri Sep  4 00:57:56 2015
     Raid Level : raid5
   Raid Devices : 2

 Avail Dev Size : 3906767024 (1862.89 GiB 2000.26 GB)
     Array Size : 1953381888 (1862.89 GiB 2000.26 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 3b86b670:f4812448:e474f7b5:b214454c

    Update Time : Sat Sep  5 14:49:56 2015
       Checksum : a7651675 - correct
         Events : 513

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : spare
   Array State : AA ('A' == active, '.' == missing)
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 913834a2:63afa2cd:a84e864a:96353af5
           Name : fileserver:1
  Creation Time : Thu Sep 10 11:52:39 2015
     Raid Level : raid0
   Raid Devices : 2

 Avail Dev Size : 1953523104 (931.51 GiB 1000.20 GB)
    Data Offset : 16 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 8745a084:7e031e4f:da72b198:e548d755

    Update Time : Thu Sep 10 11:52:39 2015
       Checksum : 48772d61 - correct
         Events : 0

     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AA ('A' == active, '.' == missing)
/dev/sdd:
   MBR Magic : aa55
Partition[0] :   1953523120 sectors at         2048 (type 83)
mdadm: No md superblock detected on /dev/sdc1.
/dev/sdc:
   MBR Magic : aa55
Partition[0] :    976771072 sectors at         2048 (type 83)
mdadm: No md superblock detected on /dev/dm-2.
mdadm: No md superblock detected on /dev/dm-1.
mdadm: No md superblock detected on /dev/dm-0.
mdadm: No md superblock detected on /dev/sdb5.
/dev/sdb2:
   MBR Magic : aa55
Partition[0] :   1953021952 sectors at            2 (type 8e)
mdadm: No md superblock detected on /dev/sdb1.
/dev/sdb:
   MBR Magic : aa55
Partition[0] :       497664 sectors at         2048 (type 83)
Partition[1] :   1953021954 sectors at       501758 (type 05)
/dev/md/1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 18235f5c:bd4892c0:7616a677:626ae2e8
           Name : team-canfield:0  (local to host team-canfield)
  Creation Time : Fri Sep  4 00:57:56 2015
     Raid Level : raid6
   Raid Devices : 5

 Avail Dev Size : 3906783232 (1862.90 GiB 2000.27 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : cc54a0b1:0a5cf703:e7e0b1d2:0bab9231

    Update Time : Sun Sep 27 14:00:17 2015
       Checksum : 60f83822 - correct
         Events : 1231852

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 4
   Array State : AAAAA ('A' == active, '.' == missing)
/dev/sda1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 913834a2:63afa2cd:a84e864a:96353af5
           Name : fileserver:1
  Creation Time : Thu Sep 10 11:52:39 2015
     Raid Level : raid0
   Raid Devices : 2

 Avail Dev Size : 1953523104 (931.51 GiB 1000.20 GB)
    Data Offset : 16 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 8e41dd73:0e90d173:852facd8:f3009a34

    Update Time : Thu Sep 10 11:52:39 2015
       Checksum : 7b252ab0 - correct
         Events : 0

     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA ('A' == active, '.' == missing)
/dev/sda:
   MBR Magic : aa55
Partition[0] :   1953523120 sectors at         2048 (type 83)

Последний показывает диски / dev / sd [ef], являющиеся частью Raid5, в то время как их основной (и единственный) раздел является частью Raid6.

Итак, есть ли способ, не теряя мои данные, я могу уничтожить информацию Raid5? У меня нет места для резервного копирования, чтобы перестроить мой массив и скопировать все обратно.

Я думаю, я мог бы обновить mdadm.conf следующим образом:

DEVICE partitions

и он проигнорирует Raid5, однако, я чувствую, что это просто покрывает трещины, и я, несомненно, снова столкнусь с подобными проблемами в следующий раз, когда я изменю свою конфигурацию Raid. На самом деле, я просто хочу уничтожить все свидетельства этого фантомного Raid5 с тем же UUID, что и у моего активного Raid6. Любой берущий?

Большое спасибо!

1 ответ

Хорошо, я думаю, что исправил это. Я пойду через шаги, которые предпринял, если у кого-то еще возникнет эта проблема. Кроме того, эта техника опасна, так как в настоящее время я использую ухудшенный массив Raid6 из 3 частей по 5.

Остановить массив:

$ sudo mdadm --stop /dev/md0
 mdadm: stopped /dev/md0

Обнулить суперблок с первого диска в устаревшем массиве Raid5

$ sudo mdadm --zero-superblock /dev/sdf

Изучите массивы, чтобы увидеть, удалил ли он его:

$ sudo mdadm --examine --scan -v
ARRAY /dev/md/1 level=raid0 metadata=1.2 num-devices=2 UUID=913834a2:63afa2cd:a84e864a:96353af5 name=fileserver:1
   devices=/dev/sdd1,/dev/sda1
ARRAY /dev/md/0 level=raid5 metadata=1.2 num-devices=2 UUID=18235f5c:bd4892c0:7616a677:626ae2e8 name=team-canfield:0
   spares=1   devices=/dev/sde
ARRAY /dev/md/0 level=raid6 metadata=1.2 num-devices=5 UUID=18235f5c:bd4892c0:7616a677:626ae2e8 name=team-canfield:0
   devices=/dev/sdg1,/dev/sdh1,/dev/md/1

Странно, что я потерял оба раздела (sd[ef]1) из моего Raid6 на этом этапе. Но хорошо, что Raid5 просто шел с одним запасным.

Обнулить оставшийся суперблок:

$ sudo mdadm --zero-superblock /dev/sde

Проверьте еще раз:

$ sudo mdadm --examine --scan -v
ARRAY /dev/md/1 level=raid0 metadata=1.2 num-devices=2 UUID=913834a2:63afa2cd:a84e864a:96353af5 name=fileserver:1
   devices=/dev/sdd1,/dev/sda1
ARRAY /dev/md/0 level=raid6 metadata=1.2 num-devices=5 UUID=18235f5c:bd4892c0:7616a677:626ae2e8 name=team-canfield:0
   devices=/dev/sdg1,/dev/sdh1,/dev/md/1

Устаревший Raid5 теперь исчез. Теперь момент истины, возможно ли восстановить разделы обратно в Raid6:

$ sudo mdadm --assemble /dev/md0 /dev/sdg1 /dev/sdh1 /dev/md1 /dev/sde1 /dev/sdf1 --force
mdadm: cannot open device /dev/sde1: No such file or directory
mdadm: /dev/sde1 has no superblock - assembly aborted

$ sudo mdadm --assemble /dev/md0 /dev/sdg1 /dev/sdh1 /dev/md1 /dev/sdf1 --force
mdadm: cannot open device /dev/sdf1: No such file or directory
mdadm: /dev/sdf1 has no superblock - assembly aborted

Нет, это не так:/ Это плохие новости, и я боюсь худшего за мои данные. Попробуйте собрать 3 оставшихся раздела:

$ sudo mdadm --assemble /dev/md0 /dev/sdg1 /dev/sdh1 /dev/md1  --force
mdadm: /dev/md0 has been started with 3 drives (out of 5).

Уф! Успех!

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdg1[0] md1[5] sdh1[2]
      5860145664 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/3] [UU__U]

md1 : active raid0 sdd1[1] sda1[0]
      1953522688 blocks super 1.2 512k chunks

Хорошо, мы серьезно деградировали, но по крайней мере он построен. Я монтирую массив, чтобы убедиться, что мои данные не повреждены, и с облегчением вздыхаю, когда вижу, что все еще там. NB. На данном этапе может быть не стоит монтировать массив. Я думаю, что это может быть различием между возможностью выпустить --re-add, а не --add позже на этих шагах.

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

Когда он возвращается в интернет, я снова проверяю:

$ sudo mdadm --examine --scan -v
ARRAY /dev/md/1 level=raid0 metadata=1.2 num-devices=2 UUID=913834a2:63afa2cd:a84e864a:96353af5 name=fileserver:1
   devices=/dev/sdd1,/dev/sda1
ARRAY /dev/md/0 level=raid6 metadata=1.2 num-devices=5 UUID=18235f5c:bd4892c0:7616a677:626ae2e8 name=team-canfield:0
   devices=/dev/sdg1,/dev/sdh1,/dev/sdf1,/dev/sde1,/dev/md/1

Может ли это быть? Теперь он видит все 5 разделов Raid6, а Raid5 нигде не видно.

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sdg1[0](S) sdh1[2](S) sde1[4](S) sdf1[3](S)
      7813529952 blocks super 1.2

md1 : active raid0 sdd1[1] sda1[0]
      1953522688 blocks super 1.2 512k chunks

unused devices: <none>

О боже, конечно, это было слишком хорошо, чтобы быть правдой. Мне не хватает раздела из массива, и все присутствующие члены перечислены как запасные.

Ну, у нас это далеко. Давайте остановим массив:

$ sudo mdadm --stop /dev/md0
mdadm: stopped /dev/md0

И попытка собрать скан:

$ sudo mdadm --assemble --scan

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdg1[0] md1[5] sdh1[2]
      5860145664 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/3] [UU__U]

md1 : active raid0 sdd1[1] sda1[0]
      1953522688 blocks super 1.2 512k chunks

Удивительно! Мы снова в сети, и я впервые смог успешно выполнить эту команду с тех пор, как перешел с Raid5 на Raid6. Мы, однако, по-прежнему деградировали, так как /dev/sd[ef]1 нигде не видно.

Я остановлю массив и попытаюсь принудительно собрать его, явно назвав разделы-члены:

$ sudo mdadm --stop /dev/md0
mdadm: stopped /dev/md0

$ sudo mdadm --assemble /dev/md0 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/md1 -v --force
mdadm: looking for devices for /dev/md0
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdg1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdh1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/md1 is identified as a member of /dev/md0, slot 4.
mdadm: added /dev/sdh1 to /dev/md0 as 1
mdadm: added /dev/sde1 to /dev/md0 as 2 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/md1 to /dev/md0 as 4
mdadm: added /dev/sdg1 to /dev/md0 as 0
mdadm: /dev/md0 has been started with 3 drives (out of 5).

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

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdg1[0] md1[5] sdh1[2]
      5860145664 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/3] [UU__U]

md1 : active raid0 sdd1[1] sda1[0]
      1953522688 blocks super 1.2 512k chunks

unused devices: <none>

$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Sep  4 00:57:56 2015
     Raid Level : raid6
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 1953381888 (1862.89 GiB 2000.26 GB)
   Raid Devices : 5
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Thu Oct  1 23:57:14 2015
          State : clean, degraded
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : team-canfield:0  (local to host team-canfield)
           UUID : 18235f5c:bd4892c0:7616a677:626ae2e8
         Events : 1231860

    Number   Major   Minor   RaidDevice State
       0       8       97        0      active sync   /dev/sdg1
       2       8      113        1      active sync   /dev/sdh1
       2       0        0        2      removed
       3       0        0        3      removed
       5       9        1        4      active sync   /dev/md/1

Итак, они вернулись в удаленном состоянии. Давайте попробуем добавить их заново:

$ sudo mdadm --manage /dev/md0 --re-add /dev/sd[ef]1
mdadm: --re-add for /dev/sde1 to /dev/md0 is not possible

$ sudo mdadm --manage /dev/md0 --re-add /dev/sdf1
mdadm: --re-add for /dev/sdf1 to /dev/md0 is not possible

Блин конечно нет. Что ж, давайте рассмотрим события в разделах, чтобы увидеть, действительно ли они распознаются как часть массива:

$ sudo mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd'
mdadm: No md superblock detected on /dev/sdb1.
mdadm: No md superblock detected on /dev/sdc1.
/dev/sda1:
         Events : 0
/dev/sdd1:
         Events : 0
/dev/sde1:
         Events : 1231852
/dev/sdf1:
         Events : 1231852
/dev/sdg1:
         Events : 1231860
/dev/sdh1:
         Events : 1231860

Хорошо, очевидно, всего 8 событий из 1.2m достаточно, чтобы сделать --re-add невозможным. Это позор, и, вероятно, я установил рейд, чтобы проверить, что он все еще не поврежден ранее, в противном случае, похоже, мне действительно удалось обнулить суперблоки с удаленных дисков, оставив при этом суперблоки и данные на разделах нетронутыми (Я, очевидно, на самом деле не знаю, как работают суперблоки).

Что ж, на данный момент нет другого выбора, кроме как добавить два раздела обратно в массив и позволить ему перестроить:

$ sudo mdadm --manage /dev/md0 --add /dev/sd[ef]1
mdadm: added /dev/sde1
mdadm: added /dev/sdf1

Отлично! Теперь давайте проверим прогресс:

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdf1[7] sde1[6] sdg1[0] md1[5] sdh1[2]
      5860145664 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/3] [UU__U]
      [>....................]  recovery =  0.0% (84312/1953381888) finish=1930.4min speed=16862K/sec

md1 : active raid0 sdd1[1] sda1[0]
      1953522688 blocks super 1.2 512k chunks

День постройки не так уж и плох, поскольку для перехода с Raid5 на Raid6 потребовалось 7 дней. Это будет страшно 24 часа, так как я молюсь, чтобы ничего не случилось с моим массивом во время процесса восстановления, но похоже, что это успех.

Итак, мы узнали:

  • Raid6, как и ожидалось, прекрасно работает, когда теряет 2 раздела из 5
  • Не смешивайте ваши диски и разделы при использовании mdadm.
Другие вопросы по тегам