注意,做dd测试的时候要先把原来的文件删除再测试,否则对测试的结果影响很大。

在缺省的配置情况下,KVM IO 的性能非常差,在没有调优的情况下写1G, 速度为 3M/s

dd if=/dev/zero of=/tmp/output.img bs=8k count=128000

修改磁盘的格式为preallocation

qemu-img create -f qcow2 -o preallocation=metadata test.qcow2 20G

如果是现有的磁盘,

qemu-img convert -f qcow2 -O qcow2 -o preallocation=metadata original.qcow2 converted.qcow2

修改disk cache配置,可以大大提高写效率, 改后可以达到 30 ~ 40M/s

<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none' />
<source file='/var/vms/vm2/ubuntu-kvm/tmphAUcOB.qcow2'/>
<target dev='vda' bus='virtio'/>

</disk>

如果修改成virtio方式后,出现以下错误

error: unsupported configuration: virtio only support device address type PCI

删除以下行保存即可

<address type='drive' controller='0' bus='0' target='0' unit='0'/>

参考:

  • http://itscblog.tamu.edu/improve-disk-io-performance-in-kvm/
  • http://quags.net/archives/82
  • http://blog.kreyolys.com/2011/09/27/kvm-virtual-machines-disk-format-file-basedqcow2-or-block-devicelvm2/