É uma pergunta antiga, mas sim você pode com o comando evacuate nova. Exemplo para mover vm_name para o nó nova_compute1:
nova evacuate vm_name nova_compute1
nova reboot --hard vm_name
A instância será inicializada no novo nó.
Eu tenho um cluster com 84 nós de computação do Openstack Essex, um dos quais decidiu encontrar os fiordes há cerca de 2 horas, com 8 instâncias em execução nele.
As instâncias estão todas executando os discos qcow2 em um compartilhamento NFS, portanto as imagens de disco ainda estão disponíveis.
nova live-migration
parece ser capaz de migrar uma instância em execução de um nó em funcionamento para outro.
O que eu quero é 'migrar' as instâncias mortas do nó de cálculo morto para qualquer um dos nós de computação ativos. O fato de que as instâncias serão reinicializadas (e precisarão ser fsck na inicialização) não importa realmente - é melhor do que perdê-las completamente.
Antes de começar a pensar sobre mexer com o virsh e hackear o banco de dados mysql da nova diretamente, alguém sabe de alguma ferramenta ou procedimento documentado para esse tipo de 'migração inativa'?
Eu nunca fiz isso. Espero que essa referência ajude você a recuperar as instâncias.
A migração de instâncias do Openstack só é bem-sucedida após as etapas a seguir.
ambas as máquinas host precisam conectar ssh sem senha para o usuário nova.
Para isso, precisamos criar um par de chaves com o ssh-keygen após executar o comando su nova
# usermod -s /bin/bash nova
# su nova
# ssh-keygen
O par de chaves será gerado em /var/lib/nova/.ssh
#cat <pub_key> >> /var/lib/nova/.ssh/authorized_keys
#echo 'StrictHostKeyChecking no' >> /var/lib/nova/.ssh/config
Siga as etapas acima para o segundo host.
copie a chave pública (id_rsa.pub) do primeiro host para o segundo host e adicione as chaves autorizadas executando o seguinte comando
#cat <pub_key> >> /var/lib/nova/.ssh/authorized_keys
copie a chave pública ( id_rsa.pub
) do segundo host para o primeiro host e adicione às chaves autorizadas
O arquivo de chaves autorizadas em /var/lib/nova/.ssh/
deve conter chave pública de ambos os hosts.
então
# su nova
# ssh nova@otherhost should connect without password.
Em seguida, a migração do Openstack funcionará.