Host:
Debian 6.0 (squeeze) with qemu-kvm and libvirt from squeeze-backports
ii qemu-kvm 1.0+dfsg-8~bpo60+1
ii libvirt-bin 0.9.8-2~bpo60+2
Has 3TB sata drives with software raid and lvm. It has a sequential write speed of ~140MB/s measured with dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync
Elevator set to cfq
Guest
Debian 6.0 (squeeze)
Uses LVM as storage. Drivers are virtio and cache='none'
Sequential write speed is considerably slower with only 25-50MB/s
Elevator set to noop
I'm kind of running out of ideas for further tweaks but I'm sure that I/O speed should be much faster because many people are reporting almost native performance with lvm.
Try setting your host's I/O elevator to
deadline
. Keep the guest atnoop
.Ok, this has been finally solved. The problem was in partition misalignment. It looks like Debian's default installer (especially lenny?) can't do the alignment properly, because when I checked the partitions it made with parted, it reported misalignment on all of them.
I solved this by manually partitioning LVM with parted prior to installation and now all guests are enjoying full performance.
first of all, try to test the speeds with
direct
option, to eliminate the possibility of looking at the wrong results. Then, what you describe is something I've seen quite often on Debian and Ubuntu, any chance you can bring up a Fedora or RHEL host and guests to recheck?For the best possible speed you should preallocate the image and use the raw format !
http://www.linux-kvm.org/page/Tuning_KVM