Como migrar um KVM em execução (com cópia total do disco) para outro nó?

2

Estou fazendo testes no KVM, e gostaria de ver se consigo fazer uma migração a quente, quero dizer que a máquina virtual não vai parar de rodar durante a migração (mas alguns segundos de congelamento estão ok). Eu uso um pequeno cluster para o meu teste: kvm1, kvm2 e kvmnfs.

  • kvm1 e kvm2 executam as máquinas virtuais
  • O kvmnfs é um servidor NFS e é montado em / KVM tanto em kvm1 quanto em kvm2

Para migrar uma VM (apenas RAM de fato) de kvm1 para kvm2, eu corro o mesmo comando kvm em kvm2 (com -incoming tcp: 0: 4444) que em kvm1, então eu uso "migrate -d tcp: kvm2 : 4444 ": Funciona muito bem, já que o arquivo da VM é comum a ambas as máquinas.

Agora, eu não quero fazer uma migração completa (RAM + disco) de um arquivo de VM local (não mais NFS) de kvm1 para kvm2. Eu tentei criar um arquivo vazio, com touch, em kvm2 e usar a mesma linha de comando kvm + o "-incoming ..."). Então, no kvm1 eu uso "migrate -d tcp: kvm2: 4444": copia tudo, então ... a VM falha (qualquer disco de E / S fornece um erro de E / S)! E o meu arquivo VM em kvm2, o que eu criei com touch, como ainda um tamanho de 0 bytes.

O que estou fazendo de errado? Qual é o comando exato para usar em kvm2? E qual é o comando para iniciar, no modo de monitoramento, no kvm1?

    
por klipz 10.02.2011 / 19:01

1 resposta

4

não é possível. você tem um armazenamento centralizado (cluster FS + SAN / DAS ou NFS) com a imagem acessível por ambos os hosts, ou mantém as imagens em sincronia com algo como drbd

// copiado como resposta.

além disso: você pode codificar isto, byt suspendendo guest para a RAM, enviando a imagem para o outro host, dd-ing o memstate e continuando a VM. mas o tempo de inatividade será comparável a parar VM, copiá-lo e começar de novo

    
por 10.02.2011 / 21:58