[libvirt] Question about save and restore OVS per-port data in live migration

wangxin (U) wangxinxin.wang at huawei.com
Thu May 30 01:50:46 UTC 2019


> -----Original Message-----
> From: Michal Privoznik [mailto:mprivozn at redhat.com]
> Sent: Wednesday, May 29, 2019 3:44 PM
> To: wangxin (U) <wangxinxin.wang at huawei.com>; libvir-list at redhat.com
> Cc: Lichunhe (Cloud Networking) <lichunhe at huawei.com>
> Subject: Re: Question about save and restore OVS per-port data in live
> migration
> 
> On 5/29/19 6:23 AM, wangxin (U) wrote:
> > Hi
> >
> > When we try to migrate a guest with 12 NICs, we find libvirt will try
> > to get per-port data in finish phase, it makes the guest paused for
> > several hundred milliseconds.
> >
> >    qemuMigrationCookieAddNetwork
> >      -> virNetDevOpenvswitchGetMigrateData for per-nic
> >        -> run 'ovs-vsctl --if-exists get Interface vnetx external_ids:Port'
> (about 25ms)
> >
> > In our case, there's no portData available and it seems there is no need to
> run the cmd.
> >
> > Questions:
> > 1. Is it necessary to get/set per-port data in migration finish phase? It will
> increase the downtime.
> > 2. Is there any way (i.e. a switch) to not run the OVS cmd if there's no
> portData available?
> >
> 
> IIUC migrating port data is required for openvswitch functionality on
> the destination. Although looking at the commit that introduced this
> does not say that explicitly (v1.0.0-rc1~8). But I vaguely recall that
> being the case. We should revisit that decission and ask ovd guys if
> that's still the case.

It will be helpful to do this.

And, is there a special reason to migrating port data in finish phase?
The finish phase should be as simple as possible.

Tanks,
Wangxin

> 
> Unfortunately, to libvirt 'port data' are opaque blob. And I'm not sure
> we can know in advance what ports have data to transfer and which don't.
> 
> Michal




More information about the libvir-list mailing list