[openstack-dev] Migrating offline instances

Chris Friesen chris.friesen at windriver.com
Mon Sep 21 19:31:19 UTC 2015


On 09/21/2015 07:09 AM, Paul Carlton wrote:
> Live migration using qemu only operates on running instances.  However when a
> cloud operator wants to move all instance off a hypervisor they need to be
> able to migrate stopped and suspended instances too.  We achieved this by
> bringing these instances to a paused state while they are migrated using the
> 'VIR_DOMAIN_START_PAUSED'.  I see from https://review.openstack.org/#/c/85048/
> that this idea has been rejected in the past but my understanding is there is
> still no solution to this issue in libvirt?  Is there work in progress to
> implement a capability for libvirt to migrate offline instances?

We've run into the same limitations and would also like to see a solution.

Rather than starting it up in a paused state, it should be possible to use a 
variant of the cold migration code.  Suspending the instance currently results 
in calling libvirt's virDomainManagedSave() routine which ends up saving the 
memory contents to a file managed by libvirt itself.  I don't see any way to 
tell libvirt to migrate that file to another host.  It might be possible to 
re-work nova's suspend code to use virDomainSave() which would allow nova to 
specify the file to save to (and possibly then allow it to be migrated).  As far 
as I can tell nothing in nova uses that API currently.

The downside of using the cold migration code that is that it requires a 
passwordless ssh tunnel to the destination when not using shared instance 
storage (in order to copy the image file).

Chris



More information about the OpenStack-dev mailing list