Hello,

I am running several virtualization servers with QEMU 1.4.x and libvirt 1.0.2 
on Ubuntu 12.04 and am working on optimizing the cache= and aio= options for 
the virtual machines. These VM images are mostly qcow2, and are served both 
from a local ext4 filesystem (with data=ordered,barrier) and from an NFS 
mountpoint (with sync). The local filesystem sits on top of an md software RAID 
of SATA HDDs.

I have read some conflicting information about which cache option is used by 
default. This documentation states that cache=writethrough is the default:
http://www-01.ibm.com/support/knowledgecenter/linuxonibm/liaat/liaatbpkvmguestcache.htm?lang=en

However this SuSE documentation claims that QEMU 1.2.x and newer allows the 
driver to select which cache mode, and it often defaults to cache=writeback:
https://www.suse.com/documentation/sles11/book_kvm/data/sect1_1_chapter_book_kvm.html

Which is correct? How is the cache mode set by default (if cache= is not 
specified)?

My second question is can cache=none be used safely on a local ext4 filesystem 
with no BBU? Since ext4 uses barriers, would writing to these qcow2 image files 
be safe? The kernel documentation about barriers states that "Write barriers 
enforce proper on-disk ordering of journal commits, making volatile disk write 
caches safe to use, at some performance penalty". Does this apply to qcow2 VM 
images?

Thanks,

Andrew Martin

Reply via email to