[libvirt] [BUGFIX][PATCH] remove saved garbages after persistent migration
KAMEZAWA Hiroyuki
kamezawa.hiroyu at jp.fujitsu.com
Mon Aug 29 00:21:42 UTC 2011
On Fri, 26 Aug 2011 09:46:13 -0600
Eric Blake <eblake at redhat.com> wrote:
> On 08/26/2011 08:25 AM, Daniel P. Berrange wrote:
> > On Fri, Aug 26, 2011 at 12:15:37PM +0900, KAMEZAWA Hiroyuki wrote:
> >> > From e1e8d5ceb4a9f7c59e20dfb8c168b781435c1613 Mon Sep 17 00:00:00 2001
> >> From: KAMEZAWA Hiroyuki<kamezawa.hiroyu at jp.fujitsu.com>
> >> Date: Fri, 26 Aug 2011 12:08:11 +0900
> >> Subject: [PATCH] Fix persistent migration config save
> >>
> >> When a user migrates a domain by command as
> >>
> >> libvirt saves vm's domain XML config in destination host after migration.
> >> But it saves vm->def. Then, the saved XML contains some garbages.
> >>
> >> <domain type='kvm' id='50'>
> >> ^^^^^^^^
> >> ...
> >> <console type='pty' tty='/dev/pts/5'>
> >> ^^^^^^^^^^^^^^^^^
> >>
> >> Avoid saving unnecessary things by saving persistent vm definition.
>
> This brings up a related point.
>
> Suppose I have a persistent guest on the source, and make a transient
> hot-plug operation prior to migration, then a config-only change to
> affect next boot, such as an increase in maxmem. That is, the dumpxml
> --inactive is different from the dumpxml (only the latter has the
> hotplug, while only the latter has the change to affect next boot).
> Then I migrate.
>
> Right now, this means that the destination machine will get a persistent
> def that locks in the running state (that is, my hotplug becomes
> permanent and my maxmem increase is lost).
>
Hmm...that't problem. Maybe I need to recommend users not to use
--undefinesource/--persistent...
> I think that on persistent migrations, we need to migrate both the
> running xml _and_ the config (this patch merely recreates the config on
> the destination based on the running state). But since config domain
> xml is rather large, I don't know if we can fit it into the cookie of v3
> migration. So right now, the burden is on the caller to do the
> migration, then to manually redefine the config on the destination to
> match the desired config for what was on the source. :(
>
> It goes back to my analysis for migration of snapshot data - we might
> need a migration v4 that can transfer as many additional handshakes as
> needed to cover multiple metadata motions (right now, I can think of at
> least the metadata for config, and the metadata for each snapshot, all
> in addition to the xml for the running domain actually being transferred).
>
> And someday, I'd _love_ to have libvirt allow offline migration - that
> is, migrate a persistent domain from one host to another even while the
> guest is in the inactive state, but picking up all metadata associated
> with that inactive guest (that would include any managed save file, and
> all snapshot metadata).
>
Ah, yes. I'd like to implement offline migration, too.
Now, it need to be
# virsh dumpxml dom >memo.xml
# virsh -c dest define memo.xml
2 users have already complained about it. I wonder...I'd like to have
# virsh dom-copy dom desturi
I can add a new function
virDomainCopy(dom, dconn, flags)
(This just defines dom in dconn.)
And replace --undefinesource/--persistent hooks in Migration drivers.
Then, offline migration can be implemented easily...
Thanks,
-Kame
More information about the libvir-list
mailing list