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

Michal Privoznik mprivozn at redhat.com
Wed May 29 07:43:54 UTC 2019


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.

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