QEMU / KVM Não consigo inicializar minha VM após salvar / restaurar

1

Eu tive que reiniciar o servidor host, mas eu não queria parar uma das minhas VMs em execução lá. Então o que eu fiz:

virsh save VM para salvar o estado da vm e restaurá-lo mais tarde com: %código%. Tudo funcionou bem, então eu poderia acessar minha vm novamente. Enquanto isso, apaguei o arquivo criado quando você executa virsh restore VM desde que pensei (e ainda acho) que, uma vez que a VM é restaurada, ela não é mais necessária.

Após uma hora, minha VM congelou e não consegui inicializá-la novamente. Qual é o caminho certo para salvar e restaurar VMs em execução?

    
por edgarstack 23.11.2017 / 19:59

1 resposta

0

Portanto, com sua pergunta, "Qual é a maneira correta de salvar e restaurar as VMs em execução?" você praticamente acertou na cabeça. Salvar com virsh save VM e restaurar com virsh restore VM fará o que você queria - salvar a memória no disco e interromper a VM (veja a primeira seção de este link ).

Quando sua VM congelou, acredito que você poderia restaurar se não tivesse excluído o arquivo de estado (dependendo da causa raiz da falha da VM, em primeiro lugar).

Eu geralmente não salvo memória para arquivos de estado porque meu caso de uso executa serviços persistentes e sem estado que não dependem da memória. Se eu precisar desligar, normalmente corro virsh destroy VM e depois inicio conforme necessário. Mas tudo depende do seu próprio caso de uso.

Você também pode querer fazer o backup de sua VM com instantâneos, se estiver desconfiado de perder sua máquina novamente. Algo como:

virsh snapshot-create-as --domain {VM-NAME} --name "{SNAPSHOT-NAME}"

Veja o NixCraft para mais detalhes.

Em qualquer caso, para que sua VM funcionasse depois que ela se congelasse, você poderia simplesmente ter indefinido a VM quebrada e anexado novamente a imagem original existente a uma nova VM, atualizando o documento de configuração XML da VM recém-criada. Primeiro, derrube a VM original:

:~$ virsh destroy OriginalVM
:~$ virsh undefine OriginalVM

Depois disso, construa a nova VM, pare e acesse a configuração:

:~$ virt-install --virt-type kvm --name NewVM --memory 4096 --disk size=1 --vcpus 4 --location /yadda/yadda.iso --network bridge=br0 --os-type=linux --so-on-and-so-forth
:~$ virsh destroy NewVM
:~$ virsh edit NewVM

Em seguida, ao editar o arquivo XML, pesquise por "disco" digitando /disk e atualize o caminho para o arquivo de origem:

 <disk type='file' device='disk'>
  <driver name='qemu' type='raw'/>
  <source file='/update_to/path_of/OriginalVM.img'/>

Depois de salvar e sair ( :w , :q ou simplesmente :x ) você deve ser capaz de executar virsh start NewVM e acessar a nova VM executando sua imagem via VNC, console ou ssh.

Você também pode tentar clonar sua VM , embora eu não tenha tentado isso:

virt-clone --connect=qemu:///system -o srchost -n newhost -f /path/to/newhost.qcow2
    
por 28.11.2017 / 08:44