amartin at xes-inc
Jan 31, 2012, 7:51 AM
Post #1 of 1
Poor I/O Performance With KVM Guest (Virtio) and DRBD 8.3.7
I am working on configuring a 2-node active-passive cluster (hostnames node1 and node2) to provide high-availability to NFS and Samba servers. Both of these nodes are VMs using the KVM hypervisor and libvirt for management. The VM hosts and the guests (node1 and node2) are all running Ubuntu 10.04.3 Server. The storage backend for the DRBD device is a software RAID1 on the vm host. I am using the virtio block drivers and cache=none for accessing the disks in the virtual machine (see attached diagram). The DRBD block device is in single-primary mode and contains an ext3 filesystem. I am finding that the disk has very poor performance on reads and writes, orders of magnitude below what a bare drive has inside of the VM (also using virtio). For example, in one test using iozone the average read throughput was 2942 MB/s for the bare drive in the VM, yet the DRBD device was 235 MB/s. Running the same test on a DRBD device in the VM without the RAID (just a bare drive) was 1047 MB/s.
Writes have even worse performance (though I expect to see some decrease of course because of the DRBD replication): 1160 MB/s for the bare drive in the VM, 24 MB/s for the DRBD+RAID device, and 101 MB/s for the DRBD bare drive.
Do you have any suggestions on how I can improve performance, especially read performance, for the DRBD block device inside the VM?