Posso montar meia partição ext4

3

Eu tinha uma matriz de raid de hardware, um disco falhou durante a migração e o controlador foi ignorado e não conseguiu recuperar. Escrevi um pequeno script python que mapeou corretamente o estado do array como está atualmente (cerca de 160 GB foram migrados dos 5. os que ainda não foram migrados) e estou prestes a usar essas informações para reconstruir o arquivo sistema em um novo disco. Este processo provavelmente levará um tempo LOOOOONNNNGGGG.

Então minha pergunta é, se eu recuperar dizer os primeiros 250GB posso montar este sistema de arquivos parcial e verificar se o script está fazendo a coisa certa (por exemplo, se eu tiver a ordem de bloqueio / faixa incorreta, o resultado será lixo ) antes de processar toda a matriz? Se sim, quais comandos de montagem precisarei executar para montá-lo.

Como um aparte, eu suponho que eu só preciso do sistema de arquivos e não da tabela de partições?

Editar: Alguns detalhes mais específicos sobre a falha: Eu tive um 4 disco raid 5, eu fiz uma expansão de capacidade on-line para 5 discos, o novo disco falhou.

O que eu fiz até agora é calcular o ponto em que a migração chegou (usando A xor B xor C == D, true para array antigo false para novo, ignorando resultados do espaço vazio)

Calculado o 'espaço vazio' entre as matrizes usando o tamanho da faixa antiga, o novo tamanho da faixa e o tamanho migrado; verifiquei novamente esse resultado comparando os blocos no final do espaço vazio com o final do bloco migrado até encontrar correspondências.

Agora estou escrevendo algum código para reconstruir as listras, cole as duas metades da matriz e as grave em novos discos. Idealmente, gostaria de poder verificar o resultado desse código sem ter que escreva a matriz completa de 6 TB. Escrevendo os primeiros 250 GB ou mais, posso verificar e refinar o procedimento para recuperar toda a matriz sem ter que esperar vários dias para que a recuperação seja concluída.

    
por user999305 11.04.2015 / 18:58

3 respostas

1

Você não pode montar metade de uma partição. Metade de uma partição não é um contêiner que contém metade dos arquivos no sistema de arquivos, é basicamente inutilizável. Alcançar um arquivo requer atravessar vários diretórios e inodes que podem estar espalhados por toda a partição.

No entanto, você pode verificar o início da partição para ver se ela parece ter um cabeçalho de sistema de arquivos válido. Isso requer apenas que o começo da partição (os primeiros kilobytes) esteja ok. file -s /dev/something dirá se esse dispositivo em particular parece conter uma partição (supondo que você já tenha uma entrada de dispositivo para a matriz RAID que está sendo remontada).

    
por 12.04.2015 / 02:46
0

Descreva sua migração em mais detalhes. Você aumentou ou reduziu o array, adicionou ou removeu discos ou o quê? Você não deseja a meta de erro. Em vez disso, use linear e instantâneo para que haja uma camada virtual na qual você possa fazer experiências como fsck , debugfs e semelhantes sem ter que criar outra cópia para cada experimento. Use um método semelhante ao descrito no link

A montagem provavelmente não é uma boa maneira de "verificar se a ordem do bloco / tarja está incorreta" etc. Se a matriz estava crescendo para um disco adicional, deveria haver uma área em que a nova e antiga representação de dados se sobrepõe. pode ser possível.

    
por 11.04.2015 / 23:56
0

Você deve apenas tentar, mas com métodos somente leitura. Se o superbloco do sistema de arquivos ainda estiver acessível, você poderá montá-lo. Em seguida, explorar o sistema de arquivos provavelmente criará muitos erros de E / S e imprimirá nomes e conteúdos de arquivos com erros, mas é o melhor que você pode obter (exceto o testdisk de ferramentas que varre tipos de arquivos específicos).

Eu tentaria:

  • tune2fs -l <blockdevice> : se isso funcionar, você deve ser capaz de montá-lo
  • 'mount -o ro / mnt / recovery
por 12.04.2015 / 17:19

Tags