From the Canyon Edge -- :-Dustin

Tuesday, March 17, 2009

Ubuntu Server: KVM Call for Testing

This message is addressed to somewhat advanced users of the Ubuntu 8.04.2 LTS Server...

Ubuntu's 8.04 LTS (Hardy Heron) was an early adopter of KVM as virtualization hypervisor in an enterprise distribution.

However, KVM's upstream development has proceeded at a vigorous pace--faster than Ubuntu's other server cornerstones (LAMP, Samba, Bind, Postfix, etc).

The major version of the KVM userspace shipped in 8.04.2 LTS (kvm-62), and the 2.6.24 kernel module suffer from a number of key architectural issues that simply cannot be solved through simple, cherry-picked patches. For one pertinent example, take SMP-guest support... In kvm-62, CPU and IO are handled in the same thread. Due to this limitation, a number of race conditions exist causing guests to seemingly "freeze" until some manual IO operation is able to break the race (usually, by pressing a key in the guest's console). Virtio is a bit deficient, as well as USB passthrough. (I will soon formalize a more complete list of known issues broken in kvm-62, and verified to be fixed in kvm-84.)

Considering the LTS nature of Hardy, I'm rapidly converging on the conclusion that kvm-62 will be unsupportable in the long term--or have a growing list of caveats (no SMP support, etc) and can't fix bugs (virtio, etc). I'm hoping to show that an update of Hardy's kvm to kvm-84 will fix a number of high-profile issues, not cause regressions, and ensure that we have a modern code base to handle future security issues.

Call for Testing!

I have backported Jaunty's kvm-84 to Hardy, and made this available in the ubuntu-virt Launchpad PPA.

If you have a test environment where you could provide some feedback on this package, the Ubuntu Server Team would greatly appreciate your contributions. I do not advise using PPA packages in production environments ;-)

Please add the ubuntu-virt PPA to your /etc/apt/sources.list, update, and install kvm and kvm-source. This will upgrade your KVM (QEMU) userspace, as well as the kvm kernel module.
We're interested in both progressions, as well as regressions. Please test any long-standing bugs in Hardy's KVM that you have either worked around or avoided (eg, SMP). If you find that these issues are fixed, please let us know! Ideally, please find (or file) the relevant bug in Launchpad and update it with your status:
Alternatively, if you find regressions, please let us know as well! Again, bugs against KVM in Launchpad are the preferred communication mechanism. (If everything works well, you can simply note that as a comment to this blog post.)

I use dozens of virtual machines all day, every day. But I simply cannot test all of the crazy combinations of:
  • guest OS's
    • Ubuntu
    • non-Ubuntu Linux distros
    • Windows
    • etc
  • options
    • CPUs
    • memory
    • virtio disks
    • virtio networking
    • sound
    • etc
  • hardware
    • Intel
    • AMD
    • 32-bit
    • 64-bit
  • adjunct software stacks
    • libvirt
    • virsh
    • vnc
    • virt-manager
    • etc
And this is where I hope you, the Ubuntu Community, can help by working your magic!

Assuming that I can address the technical issues as they are raised, I'm hoping to push such an update through the Backports, and then SRU processes in time for the 8.04.3 update.