mdadm - Matriz Obsoleta e Matriz atual têm o mesmo UUID. A matriz atual não será montada na inicialização

0

É raro fazer perguntas, mas o Google ficou em branco neste, então aqui estou.

Eu tenho um problema com o meu software mdadm Raid rodando no Ubuntu 14.04 Server edition. Especificamente, pareço ter duas matrizes de Raid configuradas com o mesmo UUID, sendo uma antiga, sendo uma nova, o que significa que ela não pode ser montada na inicialização, fazendo com que a inicialização seja interrompida, pois não é possível montar algumas dos meus sistemas de arquivos.

Vou detalhar o que fiz e onde acho que esta questão se apresentou. O que estou procurando é como esfregar os detalhes da matriz agora obsoleta para que meu Raid seja montado corretamente na inicialização.

Lá atrás, quando eu tinha um Raid1 Array consistente em dois drives de 2TB. O sistema não está neste array, ele tem um disco dedicado, então isso é puramente para dados.

Comecei a ficar sem espaço, então migrei esses dois drives para o Raid5. Até agora tudo bem.

Eu então expandi minha matriz adicionando 2 peças sobressalentes de 2 TB e aumentando o array para essas peças. É aqui que acho que o problema ocorreu.

Eu então decidi, dado o tamanho do Array e o tempo de reconstrução, eu preferiria rodar o Raid6, então eu distribuí dois drives de 1TB existentes para fazer um Raid0 de 2TB e fiz o Raid 6 nesses drives. É aqui que estou agora, um Raid 6 consistindo de 4 X drives de 2 TB + 1 X 2TB de Raid 0 (10 TB no total, 6 TB de espaço útil, 4 TB de paridade).

Em algum momento durante esta atualização parece que eu estraguei alguma coisa. Os resultados do exame do Raid mostram o seguinte:

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

Veja aqueles 2 / dev / md0 com diferentes níveis de Raid, mas o mesmo UUID? É uma merda O que parece é que o Raid5, com 2 peças permaneceu na configuração e não foi sobrescrito, aumentando a mesma matriz para essas 2 peças e, posteriormente, para a Raid6. Crucialmente parece que eu posso ter estragado por ter minha matriz inicial fazendo referência a todos os discos (/ dev / sd [ef]) e meu Raid6 fazendo referência a todas as partições de disco (/ dev / sd [efgh] 1).

O resultado disso é que não consigo montar o array usando:

sudo mdadm --assemble --scan

enquanto tenta montar o Raid5 com 2 peças de reposição e não pode completar. Em vez disso, tenho que emitir o seguinte para montar o array:

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

Que funciona bem e meu Raid6 se torna disponível novamente em / dev / md0 ... No entanto, isso significa que meu servidor agora requer intervenção manual quando não é possível montar os sistemas de arquivos para o Raid na inicialização, o que é incrivelmente inconveniente, como isso significa que eu tenho que ir fisicamente ao servidor para [S] kip a montagem falhada.

Abaixo estão as saídas do meu arquivo conf e outras saídas mdadm (enquanto meu Raid6 está sendo executado com sucesso) para ajudar a diagnosticar ainda mais uma solução.

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 --detail

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)

Este último mostra discos / dev / sd [ef] sendo ambos parte de um Raid5 enquanto sua partição primária (e única) é parte do Raid6

Então, existe uma maneira, sem perder meus dados, eu posso destruir a informação do Raid5? Eu não tenho o espaço de backup para reconstruir minha matriz e copiar tudo de volta.

Eu imagino que eu poderia atualizar o mdadm.conf para o seguinte:

DEVICE partitions

e ele iria ignorar o Raid5, no entanto, eu sinto isso apenas papering sobre as rachaduras, e eu, sem dúvida, acertar problemas semelhantes novamente na próxima vez que eu mudar minha configuração Raid. Realmente, eu só quero destruir todas as evidências deste Raid5 fantasma com o mesmo UUID que o meu Raid6 ativo. Algum tomador?

Muito obrigado!

    
por Torz77 27.09.2015 / 15:17

1 resposta

0

Ok, acho que consertei. Eu vou seguir os passos que dei caso alguém mais tenha esse problema. Além disso, essa técnica é arriscada, já que estou executando um Raid6 Array degradado de 3 partions de 5.

Pare o Array:

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

Zerar o superbloco do primeiro disco na matriz Raid5 obsoleta

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

Examine as matrizes para ver se ela foi removida:

$ 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

Estranhamente eu perdi ambas as partições (sd [ef] 1) do meu Raid6 neste momento. Mas a coisa boa foi que o Raid5 estava apenas indo com um sobressalente.

Zere o superbloco restante:

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

Verifique novamente:

$ 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

Obsoleto Raid5 desapareceu agora. Agora, o momento da verdade, é possível recuperar as partições de volta ao 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

Não, não é: / Esta é uma má notícia e temo o pior pelos meus dados. Tente montar as 3 partições restantes:

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

Ufa! Sucesso!

$ 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

Ok, estamos seriamente degradados, mas pelo menos é construído. Eu montei o array para ter certeza de que meus dados estão intactos e respirei um enorme suspiro de alívio quando vejo que ainda está tudo lá. NB: Pode ser sábio não montar o array neste momento. Eu acho que isso pode ser a diferença entre ser capaz de emitir um --re-add ao invés de um --add mais tarde nestes passos.

Eu sinto que seria uma boa ideia reiniciar, então eu faço. Eu ainda tenho um jeito na inicialização, mas isso não é surpresa, pois minha matriz está degradada.

Quando voltar a ser on-line, eu examino novamente:

$ 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

Poderia ser isso? Agora, vê todas as 5 partições do Raid6 e o Raid5 não está em lugar algum.

$ 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>

Oh querida, claro que isso era bom demais para ser verdade. Estou perdendo uma partição da matriz e todos os membros presentes estão listados como peças de reposição.

Bem, chegamos até aqui. Vamos parar o array:

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

E tente montar a verificação:

$ 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

Incrível! Estamos on-line novamente e é a primeira vez que consegui emitir esse comando com sucesso desde que fiz o upgrade de Raid5 para Raid6. No entanto, ainda estamos degradados com / dev / sd [ef] 1 em lugar nenhum para ser visto.

Vou parar o array e tentar reunir uma força para nomear explicitamente as partições membro:

$ 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).

Ok, isso é uma ótima notícia. Aparentemente, o superbloco ainda existe nessas partições, mesmo que as duas partições não possam ser adicionadas em um estado ativo no momento.

$ 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

Então eles voltaram em um estado removido. Vamos tentar adicioná-los novamente:

$ 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

Porra, claro que não. Bem, vamos examinar os eventos nas partições para ver se eles não são realmente reconhecidos como parte da matriz:

$ 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

Ok, aparentemente apenas 8 eventos de 1.2m são suficientes para tornar um --re-add impossível. Isso é uma vergonha, e é provavelmente de mim montar o ataque para verificar se ele ainda estava intacto no início do processo, caso contrário, parece que eu realmente consegui zerar os superblocos dos discos periféricos enquanto deixo os superblocos e dados nas partições intactos (Eu obviamente não sei como superblocos funcionam).

Bem, a essa altura, não há escolha real além de adicionar as duas partições de volta ao array e deixá-lo reconstruir:

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

Excelente! Agora vamos verificar o progresso:

$ 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

Um dia para compilar não é muito ruim, já que levou 7 dias para migrar de Raid5 para Raid6. Isso vai ser assustador às 24 horas, já que não rezo para que nada aconteça ao meu array durante o processo de reconstrução, mas parece que é um sucesso.

Então aprendemos:

  • Raid6 é, como esperado, perfeitamente funcional quando perde 2 partições de 5
  • Não misture suas unidades e partições ao usar o mdadm.
por Torz77 02.10.2015 / 02:13