Corrupção de arquivos ao copiar arquivos diferentes em raid 1

4

Eu tenho uma configuração RAID 1 de 2 drives de 1TB em uma caixa Fedora 12. A maioria do que está armazenado lá são arquivos de vídeo que são numericamente rotulados. O problema que estou tendo é que eu tive um dos arquivos de vídeo corrompidos. Eu copiei um substituto de um backup e substituí o arquivo ruim e agora ele funciona bem. No entanto, depois de fazer isso, o próximo arquivo numerado passa de 350 MB para 200 KB e todos os cerca de 0,5 segundo de vídeo desaparecem. Se eu substituir esse arquivo, isso acontece com o próximo da linha.

Ex:

Replace corrupt file 1.avi and file 2.avi shrinks to 200KB.
Replace now corrupted 2.avi and it works but 3.avi gets screwed up.

Eu executei testes SMART nas unidades e eles relatam bem. Alguém tem algum teste que eu possa fazer para tentar descobrir o que está acontecendo?

EDIT: É um software de dois discos RAID 1 com um sistema de arquivos ext4

    
por Stephan 06.07.2012 / 23:36

3 respostas

3

Eu não sei quais os testes que você está procurando que lhe dirão qualquer coisa que você ainda não saiba.

O sistema de arquivos está corrompido.

A solução mais fácil será copiar os dados para um sistema diferente (com um sistema de arquivos em funcionamento), verificá-los e, em seguida, eliminar o RAID no sistema existente. Depois de reformatar as unidades individualmente e reconstruir o RAID, você deve estar pronto para voltar ao sistema existente.

Tive a mesma coisa comigo em um sistema Server 2003 que estava usando o software RAID do Server 2003. Uma falha de energia ou uma pane no sistema aconteceu durante uma gravação no array e os discos ficaram fora de sincronia, então o sistema de arquivos exibiu os mesmos sintomas que você está descrevendo. (E, da mesma forma, todos os testes que eu corri me mentiram e disseram que os discos e o array estavam perfeitamente bem, embora obviamente não fosse.) Qualquer coisa copiada depois de um certo ponto no array seria corrompida. Os dados seriam válidos para os primeiros ~ 500KB do arquivo, e eram lixo depois disso. Imagens exibiriam o top x% fine, e então seriam brancas na parte inferior, documentos conteriam algumas páginas ou linhas de dados válidos e então seriam ininteligíveis, etc. E se eu adicionasse arquivos "antes" do ponto corrompido, a corrupção parece passar para o "próximo" arquivo, como se a corrupção foi compensada ~ 500 KB de um determinado ponto na matriz.

Se você puder isolar qual disco na matriz contém a corrupção do sistema de arquivos, talvez seja possível corrigir o problema retirando o disco com os dados corrompidos e forçando a matriz a reconstruir a partir do disco bom. (Assumindo que a corrupção está presente apenas em um disco, como era para mim.) Isso funcionou para mim e foi como recuperei os dados no meu array corrompido. Com apenas um RAID de dois discos espelhados, você pode até forçar uma reconstrução com base em cada disco, ver qual array funciona e qual matriz acaba corrompida.

Eu ainda não confiava nisso, então eu copiei os dados, eliminei a matriz, reformei os discos, reinstalei o sistema operacional e avisei a todos que eu os chutaria em suas partes divertidas se os encontrasse usando o software RAID na minha rede novamente. Eu recomendo que você faça o mesmo. Bem, em relação aos dados, pelo menos. Se você deseja ou não abandonar o RAID do software Linux e ameaçar seus usuários, isso é mais uma preferência pessoal.

    
por 11.07.2012 / 15:12
4

Parece que você tem problemas com o sistema de arquivos. Desmonte o sistema de arquivos e execute fsck -f para ver. O sinalizador -f diz ao fsck para executar mesmo que o sistema de arquivos pareça estar limpo.

    
por 09.07.2012 / 18:04
1

Você pode experimentar o debugfs de Theodore Ts'o.

link

Você pode usá-lo para depurar interativamente seu sistema de arquivos. Para ver quais inodes correspondem a quais arquivos e assim por diante.

    
por 10.07.2012 / 04:15

Tags