Como reativo minha matriz MDADM RAID5?

22

Acabei de mudar de casa, que envolvia desmontar meu servidor e reconectá-lo. Desde então, uma das minhas matrizes MDADM RAID5 aparece como inativa:

root@mserver:/tmp# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md1 : active raid5 sdc1[1] sdh1[2] sdg1[0]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : inactive sdd1[0](S) sdf1[3](S) sde1[2](S) sdb1[1](S)
      3907039744 blocks

unused devices: <none>

Parece-me que ele encontrou todos os discos, mas por algum motivo não quer usá-los.

Então, o que os rótulos (S) significam e como posso dizer ao MDADM para começar a usar a matriz novamente?

[Editar] Eu apenas tentei parar e montar a matriz com -v:

root@mserver:~# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

root@mserver:~# mdadm --assemble --scan -v
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/sdd1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdd1 to /dev/md0 as 0 (possibly out of date)
mdadm: added /dev/sdb1 to /dev/md0 as 1 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: /dev/md0 assembled from 1 drive - not enough to start the array.

..e entrar no gato /proc/mdstatnão parece diferente.

[Edit2] Não tenho certeza se isso ajuda, mas este é o resultado da análise de cada disco:

root @ mserver: ~ # mdadm --examine / dev / sdb1

/dev/sdb1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71a3 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     1       8       17        1      active sync   /dev/sdb1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

root @ mserver: ~ # mdadm --examine / dev / sdd1

/dev/sdd1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sat Apr 20 18:37:23 2013
          State : active
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c812869 - correct
         Events : 955205

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     0       8      113        0      active sync   /dev/sdh1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm --examine / dev / sde1

/dev/sde1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun Apr 21 14:00:43 2013
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c90cc70 - correct
         Events : 955219

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     2       8       97        2      active sync   /dev/sdg1

   0     0       0        0        0      removed
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm --examine / dev / sdf1

/dev/sdf1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71b7 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     3       8       33        3      active sync   /dev/sdc1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

Tenho algumas anotações que sugerem que as unidades foram montadas originalmente da seguinte maneira:

md0 : active raid5 sdb1[1] sdc1[3] sdh1[0] sdg1[2]
      2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

[Editar3]

Observando o log, parece que aconteceu o seguinte (com base Update Timenos --examineresultados):

  1. sdb e sdf foram eliminados algum tempo depois das 13:22 no dia 20
  2. sdd foi nocauteado algum tempo depois das 18:37 no dia 20
  3. o servidor foi desligado algum tempo depois das 14:00 no dia 1

Dado que dois discos caíram (aparentemente) simultaneamente, acho que deveria ser razoavelmente seguro supor que a matriz não teria sido gravada depois desse ponto (?) E, portanto, deve ser relativamente seguro forçá-lo a reinstalar no ordem correta? Qual é o comando mais seguro para fazer isso e existe uma maneira de fazê-lo sem escrever nenhuma alteração?

Jon Cage
fonte

Respostas:

28

Os Srótulos significam que o disco é considerado "sobressalente". Você deve tentar parar e reiniciar a matriz:

  mdadm --stop /dev/md0
  mdadm --assemble --scan

para remontar a matriz e, se isso não funcionar, talvez seja necessário atualizar o seu mdadm.conf, consulte, por exemplo, esta pergunta para obter detalhes sobre como fazer isso.

Stefan Seidel
fonte
Tentei isso (e acrescentou -vpara ver o que estava acontecendo), mas todos os discos que devem ser adicionados obter as respostas ao longo das seguintes linhas: mdadm: /dev/sdb1 is busy - skipping.
Jon gaiola
basta parar md0 e re-montar a matriz
Krizna
tentei isso - ainda sem sorte (ver a minha edição)
Jon gaiola
2
Ok, parece que o RAID não foi desligado corretamente, se você tiver certeza de que não foi, tente -Rou -f. Se isso também falhar, recrie a matriz usando mdadm create /dev/md0 --assume-clean <original create options> /dev/sd[dbfe]1. Esteja avisado: todas essas opções podem destruir seus dados.
Stefan Seidel
3
Bem, eu fui para isso e mdadm --assemble --scan --forcetrabalhei. A matriz é voltar a funcionar e eu tenho acesso a meus dados :)
Jon gaiola
9

Essa pergunta é um pouco antiga, mas a resposta pode ajudar alguém que enfrenta uma situação semelhante. Observando as contagens de eventos da saída mdadm --examine que você forneceu, elas parecem próximas o suficiente (955190 - para sdb1 e sdf1, 955219 para sde1 e para sdd1 você tem 955205). Se eles estão abaixo de 40-50, isso é OK e, nesse caso, o curso de ação recomendado é montar sua matriz manualmente, forçando o mdadm a aceitar as unidades, apesar da diferença na contagem de eventos:

Pare a matriz:

mdadm --stop /dev/md0

Em seguida, tente remontar a matriz manualmente:

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1

Verifique o status da matriz para examinar se a lista / estrutura da unidade está OK (parte inferior da saída do comando mostrará qual unidade está em qual status e em qual posição da matriz):

mdadm --detail /dev/md0

Se a estrutura estiver correta, verifique o progresso da reconstrução:

cat /proc/mdstat
Milen
fonte
0

Você pode ativar o Raid md0 com o comando abaixo

mdadm -A /dev/md0

e este comando para atualizar o arquivo mdadm.conf

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
krizna
fonte