[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