mdadm: Reativando a matriz RAID6 após o desligamento incorreto

0

Eu tenho um array RAID6 de sete discos em um servidor de arquivos. O servidor sofreu uma falha e uma reinicialização forçada foi necessária, resultando em um desligamento incorreto. Observe que a atividade de E / S provavelmente estava ocorrendo na matriz no momento, portanto, suponho que a matriz precise ser verificada para resolver possíveis inconsistências. Eu reiniciei o servidor e, de acordo com o / proc / mdstat, o array está inativo, mas todos os drives aparecem nele com um (S) ao lado deles. (Spares?) De qualquer forma, qual é a ação apropriada a ser tomada para reativar e verificar o array? (É claro que, assim que o array estiver funcionando e consistente novamente, eu verificarei o sistema de arquivos no array, mas eu só preciso de ajuda para descobrir o caminho certo para fazer o array funcionar novamente.)

/ proc / mdstat

Personalities : 
md0 : inactive sdf1[4](S) sdh1[1](S) sdg1[3](S) sdc1[7](S) sdd1[8](S) sdb1[6](S) sda1[5](S)
      13674579968 blocks super 1.2

unused devices: <none>

mdadm --examin / dev / sd {a, b, c, d, f, g, h} 1

/dev/sda1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 05e69c50:388afb83:1418f18e:a393cb21
           Name : dende:0  (local to host dende)
  Creation Time : Sat May 26 17:14:56 2012
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB)
     Array Size : 9767554560 (9315.07 GiB 10001.98 GB)
  Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=1024 sectors
          State : active
    Device UUID : 14691340:39f90733:090f8d1d:992b9aa7

    Update Time : Sun Nov 23 18:20:24 2014
       Checksum : cd065d9e - correct
         Events : 63764

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 6
   Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 05e69c50:388afb83:1418f18e:a393cb21
           Name : dende:0  (local to host dende)
  Creation Time : Sat May 26 17:14:56 2012
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB)
     Array Size : 9767554560 (9315.07 GiB 10001.98 GB)
  Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=1024 sectors
          State : active
    Device UUID : 01c26529:75542d96:c966fe26:f580dcdf

    Update Time : Sun Nov 23 18:20:24 2014
       Checksum : 5b31bee5 - correct
         Events : 63764

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 5
   Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 05e69c50:388afb83:1418f18e:a393cb21
           Name : dende:0  (local to host dende)
  Creation Time : Sat May 26 17:14:56 2012
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB)
     Array Size : 9767554560 (9315.07 GiB 10001.98 GB)
  Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=1024 sectors
          State : active
    Device UUID : 24aa47a3:9f0a123e:f0ce78b2:774359bd

    Update Time : Sun Nov 23 18:20:24 2014
       Checksum : e5ef87dc - correct
         Events : 63764

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 4
   Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 05e69c50:388afb83:1418f18e:a393cb21
           Name : dende:0  (local to host dende)
  Creation Time : Sat May 26 17:14:56 2012
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB)
     Array Size : 9767554560 (9315.07 GiB 10001.98 GB)
  Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=1024 sectors
          State : active
    Device UUID : e2983a0c:0bc3b3d4:b8d018c7:fb547dff

    Update Time : Sun Nov 23 18:20:24 2014
       Checksum : 3c484254 - correct
         Events : 63764

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 05e69c50:388afb83:1418f18e:a393cb21
           Name : dende:0  (local to host dende)
  Creation Time : Sat May 26 17:14:56 2012
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB)
     Array Size : 9767554560 (9315.07 GiB 10001.98 GB)
  Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=1024 sectors
          State : active
    Device UUID : 82f35d80:31b62631:22102161:dda95f56

    Update Time : Sun Nov 23 18:18:13 2014
       Checksum : fdc823df - correct
         Events : 63764

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdg1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 05e69c50:388afb83:1418f18e:a393cb21
           Name : dende:0  (local to host dende)
  Creation Time : Sat May 26 17:14:56 2012
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB)
     Array Size : 9767554560 (9315.07 GiB 10001.98 GB)
  Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=1024 sectors
          State : active
    Device UUID : 2612c125:cb5d4712:4777122a:46b5e6c7

    Update Time : Sun Nov 23 18:20:24 2014
       Checksum : bec55d2b - correct
         Events : 63764

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdh1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 05e69c50:388afb83:1418f18e:a393cb21
           Name : dende:0  (local to host dende)
  Creation Time : Sat May 26 17:14:56 2012
     Raid Level : raid6
   Raid Devices : 7

 Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB)
     Array Size : 9767554560 (9315.07 GiB 10001.98 GB)
  Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=1024 sectors
          State : active
    Device UUID : 8cb08975:ff61e873:997d5d58:0559d0f9

    Update Time : Sun Nov 23 18:20:24 2014
       Checksum : d063a9d5 - correct
         Events : 63764

         Layout : left-symmetric
     Chunk Size : 512K

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

Eu vejo que / dev / sdf1 tem um estado de matriz diferente dos outros dispositivos, o que se destaca para mim como algo que deve ser significativo, mas quanto a qual significado é , não tenho pista. Eu realmente aprecio qualquer ajuda que vocês gentis senhoras e senhores possam oferecer. : -)

EDIT: Tentei o conselho no comentário abaixo sobre parar o array e montagem. O mdadm relata que iniciou com sucesso o / dev / md0 com 7 drives, e de acordo com o / proc / mdstat, o array agora está ressincronizando (o que obviamente levará um tempo). Eu estou supondo que isso significa que viu um dispositivo estava um pouco desatualizado e está restaurando-o usando os outros dispositivos? E isso significa que as coisas devem estar bem no lado do RAID agora? (Ainda será verificar o sistema de arquivos antes de fazer qualquer coisa com o array.)

    
por nonoitall 24.11.2014 / 08:04

1 resposta

1

Aparentemente, no momento em que o array foi montado, a personalidade necessária do RAID 6 ainda não estava disponível, devido ao módulo raid456 não ter sido carregado ainda.

Parar a matriz montada incorretamente, carregar o módulo e montá-lo novamente deve ajudar:

mdadm --stop md0
modprobe raid456
mdadm --assemble --uuid=05e69c50:388afb83:1418f18e:a393cb21

O UUID é o que está listado como Array UUID na saída mdadm --examine .

Dependendo de como o seu sistema inicializa, você provavelmente precisará garantir que o módulo raid456 seja carregado antes da montagem do array md.

Dica: em matrizes maiores, pode ser útil adicionar um bitmap de intenção de gravação ao dispositivo para que, após uma falha como a que você experimentou, a matriz inteira não precise ser ressincronizada; apenas aquelas partes que estão desatualizadas. Você pode fazer isso com o seguinte comando:

mdadm --grow --bitmap internal /dev/md0

O bitmap também pode ser especificado durante a criação, o comando acima é para adicionar um bitmap após o fato. Um bitmap pode ser removido especificando none em vez de internal .

    
por 25.11.2014 / 11:54