Os dois últimos pontos indicam o problema. Sua suspeita de bloqueios ruins parece bem fundamentada.
- Erro de arquivo ao tentar mover a VM
- Badblocks falham sempre no mesmo lugar.
Enquanto o servidor está em execução, despeje os bancos de dados em um arquivo no sistema operacional host. Como o servidor está travando e você não sabe exatamente qual tabela, banco de dados ou registro está acessando quando ele cai, reserve um tempo para despejar cada banco de dados, talvez até mesmo cada tabela, separadamente. Espero que os blocos ruins não ocorram dentro dos seus dados, mas dentro de algum arquivo que o sistema está tentando usar. Em qualquer caso, se um dos dumps disparar uma falha, duas vezes, se você quiser verificar novamente, considere essa tabela ou banco de dados como suspeito e revise-o à mão da melhor maneira possível.
Em seguida, crie uma nova VM, em um disco físico diferente , com todas as instalações necessárias. Importe os dados despejados, incluindo a versão inspecionada de quaisquer dados suspeitos. Em todas as tabelas, faça algumas verificações de sanidade aleatórias com os dados, especialmente para as tabelas criadas a partir de qualquer dump suspeito. Em seguida, faça o nível de teste que julgar apropriado para garantir que a nova VM e o banco de dados estejam funcionando corretamente e tenham dados válidos.
Torne a nova VM o servidor "ativo", retire a VM antiga e inicie o backup / recuperação para o restante da unidade física que continha a VM do servidor com falha. Depois de recuperar todos os dados desse disco, ou todos os disponíveis, você poderá determinar sua integridade (suspeita) e se deseja ou não confiar nele com mais dados importantes. Talvez ele possa ser usado como um local para colocar seu diretório /tmp
, ou outras estruturas transitórias, ou como espaço de troca, liberando espaço em outro disco, presumivelmente bom, para dados importantes.