Recuperando a imagem do disco guest KVM em execução

2

Estou executando vários convidados do KVM em um host Ubuntu 10.04. Devido ao descuido, as imagens qcow2 dos hosts em execução foram apagadas. Eles ainda estão funcionando e respondendo corretamente, assim como leitura / escrita, etc. Se você parar um convidado, ele se recusará a inicializar devido a uma imagem ausente.

Estou curioso para saber onde esses arquivos são gravados e lidos atualmente. Está na memória? A questão do bônus é: é possível recuperar os dados de volta para uma imagem qcow2? Isso não é um dado de missão crítica, então estou feliz em experimentar aqui. Na maioria das vezes seria apenas uma economia de tempo se eu não precisasse resgatar os dados e recriar cada convidado.

    
por roktechie 11.05.2012 / 22:42

3 respostas

5

Ter um descritor de arquivo aberto e ter uma entrada de diretório é diferente, coisas um pouco relacionadas. Enquanto o KVM tiver os arquivos qcow2 abertos, eles ainda existirão no disco nos mesmos blocos que eles fizeram antes. No Linux, você pode recuperar os arquivos de /proc/[pid]/fd/[file descriptor] usando o método descrito neste pergunta SuperUser .

    
por 11.05.2012 / 23:06
1

Quando o back-end desaparece, as coisas são armazenadas em cache na memória ou na troca. Então, se você quer apenas recuperar dados, você ainda pode ssh, então rsync para algum outro servidor que é importante para você.

Você tenta dd se e canaliza para ssh para dd de para outra imagem. Isto pode ou não funcionar. Portanto, a primeira ordem deve ser a economia de dados e, se você tiver tempo sobrando, poderá tentar replicar uma imagem.

    
por 11.05.2012 / 22:46
1

Eu fiz algo parecido em esx há algum tempo. A resposta do suporte era que o arquivo ainda existia no disco e tinha sido desvinculado da tabela do sistema de arquivos. Ao fechar o arquivo, o identificador aberto cai e a tentativa de usar a tabela para procurar o arquivo falha.

Se bem me lembro, usamos o lsof para rastrear a alça aberta e puxá-la do disco para um arquivo recriado. Isso foi há muito tempo atrás.

    
por 11.05.2012 / 23:14