Recuperar partição JFS com referências de bloco duplicadas

3

Após uma falha desagradável no servidor, não consegui montar uma partição JFS no Linux. A ferramenta jfs_fsck retorna

Duplicate block references have been detected in Metadata.  CANNOT CONTINUE.
processing terminated:  <date> <time>  with return code: 10060  exit code: 4.

A partição de 12 TB contém resultados de cálculos científicos que podem ser reproduzidos em questão de algumas semanas e não são armazenados em backup. Embora eu não possa excluir a possibilidade de alguns dados não reproduzíveis por causa de negligência do usuário.

Meu plano para recuperar a partição foi o seguinte:

  1. Reproduzir novamente o diário e montar a partição somente leitura
  2. Copie os arquivos que podem ser lidos para outro sistema de arquivos
  3. Identifique o bloco com referências duplicadas usando jfs_fsck -v
  4. Identifique os inodes correspondentes a esses blocos com jfs_debugfs
  5. Localize os objetos do sistema de arquivos correspondentes aos inodes usando find -inum
  6. Desvincular os objetos usando jfs_debugfs
  7. Execute jfs_fsck novamente e espere que ele seja concluído sem um erro

Este plano funcionou apenas nos passos (1) a (4). Primeiro, falhou na etapa (5), em que find não pareceu obter um único inode depois de ser executado por várias horas e pode estar em execução indefinidamente. Ao copiar arquivos, descobri que alguns dos diretórios tinham suas árvores B + transformadas em gráficos com loops, portanto, não era impossível que um diretório traversal não fosse finalizado.

Eu pulei direto para o passo (6) e desvinculei primeiro os diretórios onde eu encontrava estruturas corrompidas. Mas isso não ajudou a executar jfs_fsck até a conclusão. Em seguida, removi todos os diretórios, exceto a entrada do diretório raiz. Ainda jfs_fsck ainda não completou.

Eu acho que tenho que editar não apenas a estrutura de diretórios, mas também os mapas de alocação de blocos. No entanto, não consegui encontrar uma maneira de fazer isso com jfs_debugfs .

Existem ferramentas que podem ajudar a tornar uma partição com referências de bloco duplicadas passíveis de recuperação?

    
por Dmitri Chubarov 21.12.2012 / 18:57

1 resposta

0

Se você puder montar o R / O do disco, provavelmente poderá tentar copiar os dados que puder. Se o diário estiver corrompido, pode ser que apenas as últimas alterações no arquivo sejam perdidas. Assim, você pode tentar obter os arquivos.

No entanto, se o arquivo for dados, como você saberia se está correto ou se não foi corrompido.

Claro, uma corrupção de diário também pode estar ocultando um problema de disco mais sério.

Neste ponto, meus pensamentos seriam que, para garantir a integridade dos dados, você provavelmente terá que executar novamente as simulações.

    
por 21.12.2012 / 19:34

Tags