The
Xen
virtual machine monitor is starting to pop up all over the place, or at
least in several Linux distributions. Fedora Core 4 comes with
Xen packaged as
part of the release. SUSE Professional 9.3
includes
Xen, there's the
Xenophilia
Linux distribution that is based around Xen, and Xen is in Debian unstable
as well. XenSource, a company founded by Xen project developers, has
also
been in the news, and is
getting funding from
Kleiner Perkins Caufield & Byers and Sevin Rosen Funds as well as
technology
contributions from Intel.
This seems like a good time to take a look at Xen, see what it's capable
of, and where it's going. We decided to test out Xen in Fedora Core 4, and
the latest release from the Xen project in the form of a live CD to see how
mature Xen is. According to the Xen Quickstart
guide, Xen in FC4 is based on the Xen unstable tree, so some features
will be a bit rough. Users who want to test Xen without installing FC4 can
download
demo CDs based on Debian from the Xen website.
We also spoke with XenSource's Simon Crosby, a founder of
XenSource and former professor at the University of Cambridge where Xen got
its start.
Xen is a "hypervisor," or virtual machine monitor, which can execute
several virtual machines on a single piece of hardware. Xen isn't unique in
being able to run virtual hosts -- Linux users can run virtual machines
using User-Mode Linux
(UML), bochs, VMware products, SWsoft's Virtuozzo and a
number of other virtualization technologies.
Xen operates a bit differently, however, than UML or VMware
Workstation. Xen requires that a OS be ported to run on Xen's hypervisor,
rather than attempting to emulate an x86 virtual machine completely as
VMware Workstation does. The Xen approach is supposed to offer superior
performance -- a performance
comparision between VMware Workstation, Xen, native Linux and UML is
available on the Xen website -- but it means that unmodified operating
systems will not run on top of Xen. Users who want to run a virtual
instance of Microsoft Windows, for example, will have to look elsewhere, at
least for now. Crosby said that work is being done that will allow
unmodified guest OSes to run on top of Xen, but that won't be complete
until some time after 3.0 is released.
Also, Xen runs only on
x86 systems with 686 processors or better, though ports to x86_64 and
other processors are in progress. Crosby said that IBM is working on Power5
support, HP is working on Xen on IA64 and that he believes Sun is working
on a Sparc port as well. The current Xen release will run on SMP systems,
but does not include SMP support for guests. However, Crosby said that work
is being done in this area, and the 3.0 roadmap calls for SMP support
within guest hosts as well.
In addition to allowing a system to run multiple instances of Linux, Xen
also works with NetBSD and FreeBSD, so users aren't restricted to using a
Linux host for running Xen. Using the Xen live CD, we ran instances of
Debian with the 2.4 and 2.6 series kernels alongside instances of FreeBSD
and NetBSD.
We installed the Fedora Core 4 with the default "Workstation" set of
packages. Xen's packages are not installed by default so we used Yum to
grab the Xen host kernel, the Xen guest kernel and support packages.
Xen in FC4 still requires a great deal of manual setup. There's no
point-and-click GUI interface included to allow easy creation of Xen
virtual hosts, and some users might find the steps to setting up Xen to be
somewhat daunting. We followed along with the Fedora+Xen
Quickstart guide to install Xen and create virtual hosts, and the Xen
users' manual to get started with the basic Xen utilities.
After installing the Xen0 kernel, we disabled SELinux support and restarted
the host to boot into the Xen0 kernel. SELinux needs to be disabled in
order to create the guest filesystems. After rebooting, we created a 2GB
file to use for the filesystem and then installed the Fedora Core 4 base
system using Yum. It is also possible to export block devices directly to
guest domains, so users could choose to use entire partitions for Xen guest
filesystems.
After creating the filesystem, and creating a configuration file for the
guest system under /etc/xen, we started up the guest host. We gave the
guest 128 MB of RAM on a system with 1 GB total. We then tested the system
a bit by creating a network interface, installing Apache with Yum and so
on. The guest and host performance seemed fine, even when we started up a
second guest with the same configuration on the same machine.
Xen also includes a web-based control interface. This
interface didn't work in FC4, but worked just fine with the Xen live
CD. After firing up "xensv" we were able to connect to the localhost on
port 8080 and perform most of the functions available via the command line
using the web-based interface.
The control interface for Xen is adequate, but certainly won't be winning
any awards for ease of use. Crosby acknowledged that "you have to be
something of a guru to use it," but noted that Xen's is very
polished in the area of stability. Indeed, we didn't run into any stability
issues with Xen while testing, and it looks like it's already suitable for
utility computing. Crosby noted that XenSource is
running its website and other services within Xen hosts.
Another interesting feature in Xen is the ability to move Xen instances
from one physical machine to another. Crosby said that it's possible to
move a Xen virtual machine "so that the guest is only non-responsive
to the outside world for tens of miliseconds."
Xen 3.0 is scheduled for sometime
in the July time frame according to the Xen roadmap. Crosby said that
3.0 will fork "in a few weeks time," and that the Xen team was
waiting on a few features from the community before forking. When 3.0 forks
in July, Crosby said that the Xen team would be working with the community,
partners and distributions to hammer out the bugs.
We also talked to Crosby about the direction of XenSource, and whether its
future offerings would be released as open source. Crosby said that the
company planned to ship some proprietary tools for use with Xen, though Xen
would continue to be open source. He also said that XenSource is interested
in a world where the hypervisor is "ubiquitous" and provides an ecosystem
with "a whole load of opportunities for vendors to compete in,
creating a big pie... and we aim to have a fair slice of that pie."
While Xen is still a little rough around the edges, it's well worth a look
for users who want a free software solution for virtualization. Xen's
performance seems very good, and it looks like a good solution for Linux
testing and perhaps web hosting and so forth. Given the interest from
investors, Intel, SUSE, Red Hat and others, it seems likely that Xen will
continue to improve at a rapid pace.
(
Log in to post comments)