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

Gionatan Danti g.danti at assyoma.it
Fri Feb 17 13:52:06 UTC 2017


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

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




More information about the libvirt-users mailing list