[libvirt-users] io=native & io=threads

Daniel P. Berrange berrange at redhat.com
Tue Jan 17 09:51:05 UTC 2017


On Mon, Jan 16, 2017 at 10:52:08AM -0800, W Kern wrote:
> Googling provides lots of interesting info on the use of these in various
> situations such as SSD, number of VMs in the pool etc.
> 
> What is the default in Libvirt (or is the default 'neither')

Libvirt has no default policy - it just delegates to whatever
QEMU uses as the default.

The current recommendation from the QEMU developers is that
"native" is currently the best performing setting in most
scenarios.

The only time you should *not* use "native" is if you have
*not* pre-allocated images. eg if you use sparse raw images,
or have qcow2 images which did not have "preallocation" option
given to "qemu-img create". For these you should use "threads".
This is to avoid guest stalls when the host OS has to allocate
a filesystem block to grow the file.

Also note the io setting is only relevant for file/block device
backed disks. ie if using the in-QEMU network client for RBD,
Gluster, iSCSI, NFS, etc thenm the io setting has no effect at
all so can be ignored.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|




More information about the libvirt-users mailing list