Testbed and methods
First, let me describe the workstation used in this round of tests; system specifications are:
-
CPU: Core-i7 860 (quad cores, eight threads) @ 2.8 GHz and with 8 MB L3 cache
-
RAM: 8 GB DDR3 (4x 2 GB) @ 1333 MHz
-
DISKS: 4x WD Green 1 TB in software RAID 10 configuration
-
OS: Red Hat Enterprise Linux 6 64 bit
The operation system was installed with “basic server” profile and then I selectively installed the various other software required (libvirtd, qemu, etc). Key systems software are:
-
kernel version 2.6.32-71.18.1.el6.x86_64
-
qemu-kvm version 0.12.1.2-2.113.el6_0.6.x86_64
-
libvirt versio 0.8.1-27.el.x86_64
-
virt-manager version 0.8.4-8.el6.noarch
As stated before, initially all host-system partitions were formatted in EXT4, but to avoid any possible problem related to the new filesystem, I changed the VM-storing partition to EXT3.
To measure guest I/O speed, I timed the Debian 6.0 (x86_64 version) basic system installation. This is the process that, during Debian installation, immediately follow the partitions creation and format phase.
Let me thanks again Red Hat Inc. - and especially Justin Clift – to give me a free RHEL 6 license.
OK – I know that you want to know why on earth KVM I/O was so slow. However, first you had to understand something about caching and preallocation policies.