mdadm: / dev / md0 montado a partir de 3 drives - não é suficiente para iniciar o array

2

Eu tive uma unidade no meu raid5 falha um tempo atrás. Eu acredito que o problema foi devido a uma falha de energia no momento, mas originalmente pensei que poderia ser os controladores de disco rígido na placa-mãe (este é um sistema que eu mesmo montei).

Desde então, construí um sistema de substituição e transferi as unidades e tentei inicializá-las. O que estou recebendo agora é que uma unidade ainda não é boa para o sistema iniciar.

Aqui está o que eu recebo ao tentar montar:

[root@localhost ~]# mdadm --assemble --force /dev/md0 /dev/sdf1 /dev/sde1 /dev/sdd1 /dev/sda1 -v
mdadm: looking for devices for /dev/md0
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sda1 is identified as a member of /dev/md0, slot 3.
mdadm: added /dev/sde1 to /dev/md0 as 1
mdadm: added /dev/sdd1 to /dev/md0 as 2
mdadm: added /dev/sda1 to /dev/md0 as 3 (possibly out of date)
mdadm: no uptodate device for slot 8 of /dev/md0
mdadm: added /dev/sdf1 to /dev/md0 as 0
mdadm: /dev/md0 assembled from 3 drives - not enough to start the array.

Quando eu examino as unidades, percebo isso:

[root@localhost ~]# mdadm --examine /dev/sd[a-z]1
/dev/sda1:
          Magic : a92b4efc
        Version : 1.1
    Feature Map : 0x1
     Array UUID : 491fdb85:372da78e:8022a675:04a2932c
           Name : kenya:0
  Creation Time : Wed Aug 21 14:18:41 2013
     Raid Level : raid5
   Raid Devices : 5

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 7813527552 (7451.56 GiB 8001.05 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 0 sectors
   Unused Space : before=262072 sectors, after=1024 sectors
          State : clean
    Device UUID : 879d0ddf:9f9c91c5:ffb0185f:c69dd71f

Internal Bitmap : 8 sectors from superblock
    Update Time : Thu Feb  5 06:05:09 2015
       Checksum : 758a6362 - correct
         Events : 624481

         Layout : left-symmetric
     Chunk Size : 512K

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

mdadm: No md superblock detected on /dev/sdb1.

/dev/sdd1:
          Magic : a92b4efc
        Version : 1.1
    Feature Map : 0x1
     Array UUID : 491fdb85:372da78e:8022a675:04a2932c
           Name : kenya:0
  Creation Time : Wed Aug 21 14:18:41 2013
     Raid Level : raid5
   Raid Devices : 5

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 7813527552 (7451.56 GiB 8001.05 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 0 sectors
   Unused Space : before=262072 sectors, after=1024 sectors
          State : clean
    Device UUID : 3a403437:9a1690ea:f6ce8525:730d1d9c

Internal Bitmap : 8 sectors from superblock
    Update Time : Thu Feb  5 06:07:11 2015
       Checksum : 355d0e32 - correct
         Events : 624485

         Layout : left-symmetric
     Chunk Size : 512K

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

/dev/sde1:
          Magic : a92b4efc
        Version : 1.1
    Feature Map : 0x1
     Array UUID : 491fdb85:372da78e:8022a675:04a2932c
           Name : kenya:0
  Creation Time : Wed Aug 21 14:18:41 2013
     Raid Level : raid5
   Raid Devices : 5

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 7813527552 (7451.56 GiB 8001.05 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 0 sectors
   Unused Space : before=262072 sectors, after=1024 sectors
          State : clean
    Device UUID : 7d7ec5fe:b4b55c4e:4e903357:1aa3bae3

Internal Bitmap : 8 sectors from superblock
    Update Time : Thu Feb  5 06:07:11 2015
       Checksum : da06428d - correct
         Events : 624485

         Layout : left-symmetric
     Chunk Size : 512K

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

/dev/sdf1:
          Magic : a92b4efc
        Version : 1.1
    Feature Map : 0x1
     Array UUID : 491fdb85:372da78e:8022a675:04a2932c
           Name : kenya:0
  Creation Time : Wed Aug 21 14:18:41 2013
     Raid Level : raid5
   Raid Devices : 5

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 7813527552 (7451.56 GiB 8001.05 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 0 sectors
   Unused Space : before=262072 sectors, after=1024 sectors
          State : clean
    Device UUID : c091025f:8296517b:0237935f:5cc03cfc

Internal Bitmap : 8 sectors from superblock
    Update Time : Thu Feb  5 06:07:11 2015
       Checksum : 8819fa93 - correct
         Events : 624485

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAA.. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdg1:
   MBR Magic : aa55
Partition[0] :       808960 sectors at            0 (type 17)

e depois tem isto:

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

Reuni essa informação da inicialização para a recuperação. O sistema é centos 6.2. Eu aprendi com alguma ajuda irc que o drive sda está fora de sincronia com o resto deles. Eu acredito que a unidade que falhou agora está listada como sdg, mas não tenho certeza disso. Eu também sei que a ordem para as unidades agora é feda (sdf, sde, sdd, sda).

Eu tenho um drive de substituição para o morto pronto para inserção quando eu conseguir o resto disso. Eu estava indo originalmente para tentar listá-lo como removido da matriz, mas não posso obter esse status para tomar.

Minha tentativa de me inscrever e usar a lista de discussão do linux-raid me deixou imaginando se ela está ativa. ("a entrega para [email protected] falhou permanentemente.") a ajuda do canal centos irc sugeriu obter mais ajuda dessa fonte. Agora estou tentando aqui.

Eu também li este post, mas queria perguntar em outro fórum por uma opinião mais específica antes de tentar qualquer uma das sugestões para o final do tópico: link .

Se houver um segmento de e-mail em funcionamento para o mdadm ou o linux-raid, estou disposto a postar lá. Se mais dados sobre esta situação puderem ser fornecidos, por favor me avise.

    
por mock 20.09.2015 / 02:19

1 resposta

2

Primeiro, o fato de você estar fazendo o backup das unidades usando dd é uma coisa boa - uma ação inicial muito sensata.

Você pode ver a partir do contador de eventos e do último registro de data e hora da atualização que sda saiu da matriz, mas não mudou muito quando caiu e o último acesso. Você também pode ver os estados do dispositivo em sda, digamos que 0–3 estão ativos, 4 ausentes (mdadm conta de 0); nos outros drives, 0-2 ativo, 3 & 4 desaparecidos Então você sofreu uma segunda falha de disco no RAID5, que obviamente parou o array.

Então, basicamente, você precisa perguntar a mdadm para ignorar o fato de que o sda está desatualizado e montar o array de qualquer maneira. Qual é o --force - de modo que deveria ter funcionado. É possível que você só precise adicionar --run (ou use --scan ). Eu acho que é o que está acontecendo aqui.

Outra possibilidade é que os scripts de inicialização tenham montado a matriz pela metade, tornando os dispositivos ocupados. Verifique (por exemplo, cat ou less ) /proc/mdstat para garantir que isso não aconteceu e mdadm --stop de quaisquer matrizes indesejadas presentes.

Você também pode adicionar --verbose para ter uma idéia melhor do motivo pelo qual o mdadm não está montando o array.

Uma vez que a matriz é montada, você pode usar mdadm -a para adicionar seu novo disco a ela, e uma reconstrução deve começar imediatamente. Você também deve considerar a substituição de sda, pois parece ser escamosa (caiu antes).

Em qualquer caso, zerar um superbloco é uma abordagem drástica, quase da última vez, para recuperar um array. Não deveria ser necessário aqui.

    
por 23.09.2015 / 20:37