http://en.wikibooks.org/wiki/QEMU/Images
IBM - KVM Best Practice - best practice for block I/O performance
http://pic.dhe.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaat%2Fliaatbpkvmasynchio.htm
First we can try VirtIO. IDE has popular support from all guest systems, while VirtIO has better performance but require driver on Guest system. Refer to below for download of driver and enable VirtIO on guest system.
http://www.linux-kvm.org/page/Boot_from_virtio_block_device
Steps (on installed win7)
Other settings to improve performance according to readings from Internet (http://www.ilsistemista.net/index.php/virtualization/11-kvm-io-slowness-on-rhel-6.html?showall=1&start=1):
Note:
I cannot get Windows XP to work with VirtIO. (forget it, I tried)
Win7 works fine.
I can get the Fedora VirtIO storage driver work on Win7 and experience (not tested) performance improvement.
I cannot get the Fedora VirtIO network driver work on Win7.
Tips from IBM (see reference):
Convert a raw image to qcow2:
sudo qemu-img convert -O qcow2 -p /var/lib/libvirt/images/xxx.img /var/lib/libvirt/images/xxx.qcow2.img
Handling snapshot (quote qemu-img manual):
snapshot [-l | -a snapshot | -c snapshot | -d snapshot ] filename
List, apply, create or delete snapshots in image filename.
qemu-img creates, converts and resizes qemu image. For example:
qemu-img resize XP-nuxeo.img +10G
Note that qemu-img does not deal with the partitions inside the image. Don't shrink size before shrinking partition, otherwise the partition may be destroyed and data lost. To increase partition, first extend image then extend partition.
Use GParted live cd to handle partition while the host OS is down.
http://gparted.sourceforge.net/
My laptop has a small boot partition and one big partition for Ubuntu. Now I want to place my guest Windows workstation to a separate partition to improve performance. Here's what I am doing.