[libvirt-users] Libvirt behavior when mixing io=native and cache=writeback

Martin Kletzander mkletzan at redhat.com
Mon Feb 20 13:02:53 UTC 2017


On Fri, Feb 17, 2017 at 02:52:06PM +0100, Gionatan Danti wrote:
>Hi all,
>I write about libvirt inconsistent behavior when mixing io=native and
>cache=writeback. This post can be regarded as an extension, or
>clarification request, of BZ 1086704
>(https://bugzilla.redhat.com/show_bug.cgi?id=1086704)
>
>On a fully upgraded CentOS6 x86-64 machine, starting a guest with
>io=native and cache=writeback is permitted: no errors are raised and the
>VM (qemu, really) silently use "io=threads" instead. A warning should be
>raised, but I find reasonable that the VM is permitted to run.
>
>On a fully upgraded CentOS7 x86-64 machine, starting a guest with
>io=native and cache=writeback is *not* permitted: an error is raised and
>the guest is not started. While it is absolutely OK to alert the user
>about the configuration error, I feel the VM should be started as on
>CentOS6. Anyway, this is not a big problem when dealing with a single host.
>
>A more concerning behavior is that when trying to migrate a guest from
>the very first CentOS6 machine, which starts and runs such a guest with
>io=native and cache=writeback without problems, to a CentOS7 host, live
>migration aborts with an error:
>
>[root at source] virsh migrate Totem --live --copy-storage-all --persistent
>--verbose --unsafe qemu+ssh://root@172.31.255.11/system
>

How about using --xml to supply the destination XML which would have
io="threads" specified?

>error: unsupported configuration: native I/O needs either no disk cache
>or directsync cache mode, QEMU will fallback to aio=threads
>
>This error persists even if the VM config file is changed to use
>"io=threads". Of course, the running image continue to have "io=native"
>on its parameters list, but it does not really honor the "io=native"
>directive, so I find strange that live migration can not proceed. I
>think it is very reasonable to raise an error, but such error should not
>block the live migration process.
>
>In short: there is some method to live migrate a running VM configured
>with "io=native" (but which is really using "io=threads" internally) and
>"cache=writeback"?
>
>Thanks.
>
>--
>Danti Gionatan
>Supporto Tecnico
>Assyoma S.r.l. - www.assyoma.it
>email: g.danti at assyoma.it - info at assyoma.it
>GPG public key ID: FF5F32A8
>
>_______________________________________________
>libvirt-users mailing list
>libvirt-users at redhat.com
>https://www.redhat.com/mailman/listinfo/libvirt-users
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20170220/ec58a74e/attachment.sig>


More information about the libvirt-users mailing list