The free Xen 3.4 hypervisor and virtualisation strategy
A new version of the free Xen hypervisor is now available to download. Xen is a kind of "super operating system" which works directly with the hardware, allowing several virtualised operating systems to be executed on a system. Currently, it's mainly used for server virtualisation.
Version 3.4 builds on a number of strategic enhancements designed to reposition the project. Things had become quiet around the free hypervisor since its commercial XenSource division was taken over by Citrix. Oracle and Sun started using their "own" Xen and KVM became a free competitor in the Linux community.
In the launch announcementfor version 3.4, the developers discuss three areas of "significant enhancement". The first is XCI (Xen Client Initiative) which aims to make Xen more amenable to extension. With Xen 3.4, these features are now available for the community to work with. Among the potential options discussed within the XCI working groups is Client Hypervisor Services which, for example, could allow an embedded a virus scanner running in its own virtual machine to monitor other VMs.
The second enhancement is for Xen in high availability solutions. It is now possible to isolate faulty CPUs and memory components during operation (off lining). The third enhancement announced is better power management; Xen 3.4 is said to include noticeably improved power saving techniques. Optimised schedulers and timers, along with new algorithms, allow for more aggressive power saving.
The downloads page also lists another two new features, PCI passthrough and Hyper-V support. Xen 3.4 now supports PCI passthrough in virtual machines that run an unmodified operating system. Previously, this was only possible with virtual machines running a modified, paravirtualised, system. Of course, the feature requires a processor and chipset that also offer the respective functionality and currently this is only the case with Intel's "VT-d".
Hyper-V support is of interest for Windows guest systems. Xen offers the calls modern Microsoft operating systems (Windows Server 2008 and Windows 7) use to speed up operation in a virtual machine. Developed for Microsoft's Hyper-V (Viridian), this technology (known as Enlightened I/O) optimises time-consuming APIC accesses and lets the hypervisor know when a system is waiting idle, enabling the hypervisor to assign the spare processing power to other VMs.
Exciting things are also happening in the Xen environment: currently under development, HXen is based on Xen and allows Xen VMs to run under other operating systems, such as Windows. Kemari and Remus are two solutions for monitoring virtual machines which allow for the immediate activation of a backup copy when a machine goes down.
Plans to integrate Xen into the Linux kernel have not made much progress. While the kernel has contained code that allows it to be executed in a Xen virtual machine without further modifications (known as DomU) since version 2.6.23, the code which would allow the Linux kernel without modifications directly as a helper to the Xen hypervisor (Dom0) has so far not made it into the kernel.
The most recent discussions about implementation details between the kernel and Xen developers indicate that it may yet be a while before the Xen Dom0 code is integrated. Developments based on an abstract virtualisation interface in the kernel (paravirt_ops), however, have made progress.
Using such a kernel in the short term, whether as DomU or Dom0, has limitations. The patches lined up for integration into the kernel are lagging behind the development of Xen. For example, features like directly accessing PCI devices from a VM only work with "real" Xen kernels.