
Eu tenho uma matriz RAID5 de software com 4 + 1 discos nos quais 2 dos discos falharam. Espero que, com alguma manutenção percussiva, eu possa fazer com que um dos discos com falha funcione novamente por tempo suficiente para fazer uma cópia em nível de bloco para remover a imagem.
O plano seria fazer imagens de 4 (ou todos os 5) discos com dd e, em seguida, tentar reconstruir o array nessas imagens.
Existe algo logo de cara que eu perdi que tornaria isso impossível? Se não, como eu:
- Copie uma imagem de cada dispositivo para um arquivo
- Monte estes
- Reconfigure o mdadm para usar essas imagens como dispositivos
Obviamente, muitas coisas podem ter acontecido que corromperam os dados, mas há razões para pensar que os dados reais podem estar intactos nos 4 discos:
- A falha do segundo disco pode ter sido devido à perda de energia
- Os dados que estou interessado em recuperar não foram gravados após a primeira falha
Responder1
Em geral, esta abordagem funcionaria. Contanto que você tenha discos funcionando (e não espere que eles falhem), você também poderáuse o mapeador de dispositivos para criar instantâneos de sobreposiçãoem vez de copiar completamente os dados dos discos (embora possa ser bom ter as cópias como backup).
Depois de ter os arquivos de imagem, você precisará criar dispositivos de bloco de loopback a partir deles
losetup /dev/loopX /path/to/imagefileX
depois de feito isso, você podemontarsua matriz usando os dispositivos de bloco de loopback. Se você não conseguir recuperar o disco com falha mais recente, os carimbos de data e hora na imagem do disco de redundância serão diferentes dos demais, a matriz se recusará a ser montada. Contanto que você estejarealmenteinteressado apenas em dados escritos antes das falhas, dê uma olhada no"Recuperando um RAID de software com falha"seção da documentação do Kernel RAID. Deve ajudá-lo a montar o array com pelo menos alguns dos dados recuperáveis.