falta de arquivos após a remontagem do RAID-5

2

Eu tive que abrir a caixa do meu servidor de arquivos no domingo para substituir um ventilador defeituoso. O que eu não vi foi que um dos cabos sata não estava conectado corretamente. A primeira coisa que fiz depois de uma reinicialização foi uma verificação do status do RAID e mostrou imediatamente que uma unidade estava faltando. Até este momento o dispositivo não foi usado (no entanto, ele foi montado, então eu não estou 100% certo de que o sistema não fez nada). Parei o md0 e liguei novamente o cabo:

mdadm --stop /dev/md0
poweroff

Após outra reinicialização, verifiquei a unidade removida:

 mdadm --examine /dev/sdd1
 ...
       Checksum : 3276bc1d - correct
         Events : 315782

         Layout : left-symmetric
     Chunk Size : 32K

      Number   Major   Minor   RaidDevice State
this     0       8       49        0      active sync   /dev/sdd1

   0     0       8       49        0      active sync   /dev/sdd1
   1     1       8       65        1      active sync   /dev/sde1
   2     2       8       33        2      active sync   /dev/sdc1
   3     3       8       17        3      active sync   /dev/sdb1

Fiquei um pouco surpreso por ter sido mostrado como ativo (mesmo que anteriormente o mdadm tenha dito que esse dispositivo foi removido da matriz) e sua soma de verificação estava OK. Eu recriou o RAID com:

mdadm --assemble /dev/md0 --scan

O comando mdadm --detail /dev/md0 mostrou que todas as unidades estavam em execução e o sistema estava no estado "limpo". Montei o dispositivo md0 e depois veio hic-cup. Eu queria trabalhar em um dos últimos arquivos que eu estava usando antes de toda a situação e não estava lá. Em outro lugar eu perdi todos os arquivos do diretório onde eu estava trabalhando. Tanto quanto eu posso ver a maioria dos arquivos que são mais antigos do que alguns dias estão intactos, mas alguns mais recentes estão faltando.

Agora, a grande questão: qual seria o seu conselho? Existe uma maneira de obter esses dados? Eu pensei em remover a unidade que foi rotulada anteriormente pelo mdadm e reconstruir o array com outro HDD vazio.

Descobri que após a montagem, a unidade "quebrada" está em outro lugar no RAID (antes de ser listada no terceiro lugar e depois no quarto). Isso pode influenciar o processo reconstruído? Se sim, como remontar a matriz corretamente? Tenho certeza de que os cabos SATA estão conectados ainda na mesma ordem para o controlador.

p.s. Por favor, não aconselha como "restaurar a partir do backup". Eu estou fazendo back-ups na noite de domingo e isso aconteceu no final da tarde, então backup não é realmente uma opção para mim.

p.s.s. Eu fiz esta pergunta no Unix & Linux, mas nenhuma resposta surgiu nos últimos dois dias. Estou ficando muito ansioso. Desculpe por duplicar se algum de vocês estiver lendo o outro fórum.

    
por Kris_R 26.06.2013 / 10:54

1 resposta

1

Talvez isso ajude alguém.

Eu não escrevi antes, mas todas as quatro partições tiveram a mesma contagem de eventos

mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd''
mdadm: No md superblock detected on /dev/sda1.
         Events : 315786
         Events : 315786
         Events : 315784
         Events : 315786

Ainda assim, após algumas leituras, decidi remover a unidade "com falha" e reajustar meu dispositivo md0.

mdadm --manage --set-faulty /dev/md0 /dev/sdd1
mdadm /dev/md1 --stop
mdadm --assemble /dev/md0 /dev/sd[bce]1 --force 
mdadm --manage /dev/md0 --add /dev/sdd1

Por favor, não me pergunte por que funcionou. A parte importante para mim é que eu recebi de volta todos os arquivos (a tabela de alocação de arquivos mostra o conteúdo adequado dos diretórios. Todos os arquivos ausentes estão lá.

    
por 06.07.2013 / 19:06

Tags