I've got a cluster with 84 Openstack Essex compute nodes, one of which decided to pine for the fjords about 2 hours ago, with 8 running instances on it.
The instances are all running off qcow2 disks on an NFS share, so the disk images are still available.
nova live-migration
only seems capable of migrating a running instance from one functioning node to another.
What I want is to 'migrate' the dead instances from the dead compute node to any of the live compute nodes. The fact that the instances will be rebooted (and will have to fsck on boot) doesn't really matter - it's better than losing them completely.
Before I start acting on thoughts about messing with virsh and hacking nova's mysql database directly, does anyone know of any tool or documented procedure for this kind of 'dead-migration'?
It is old question, but yes you can with nova evacuate command. Example to move vm_name to nova_compute1 node:
Instance will be booted on new node.
I never done this. I hope this reference help you to recover the instances.
http://docs.openstack.org/essex/openstack-compute/admin/content/nova-disaster-recovery-process.html
In newer openstack client you can use:
Openstack instance migration has successful only after following steps.
both host machines need to connect ssh without password for user nova.
For that we need to create a key pair with ssh-keygen after running command
su nova
key pair will generate in /var/lib/nova/.ssh
Do the above steps to the second host.
copy the public key(id_rsa.pub) from the first host to second host and add to authorized keys by running the following command
copy the public key(
id_rsa.pub
) from the Second host to first host and add to authorized keys The authorized keys file in/var/lib/nova/.ssh/
should contain public key from both host. thenThen Openstack migration will work.