Taking XenExpress for a Spin

| |

Xen in actionXen in actionAccording to the XenSource About page, "XenSource plays the dual role of leading the open source Xen(tm) community, while simultaneously selling value-added enterprise solutions based on Xen technology." The first part of that leads to various Linux distro makers integrating Xen into their distributions (like SUSE, Red Hat/clones, and Fedora). For the second part of that, XenSource currently offers a product line which includes XenExpress, XenServer and XenEnterprise. Of the three offerings, XenExpress is designed to be the entry level product and is free. I recently downloaded XenExpress and gave it a try.

During the course of this article I will describe the basic design of XenExpress, its installation, installation and use of the Administrator Console client application, creation, monitoring and management of Xen virtual machines... and then I'll try to contrast how XenSource's product line stacks up to Xen as offered by Red Hat and clones. Feel free to jump directly to the XenExpress photo gallery if desired.

What is XenExpress?

XenExpress is a custom Linux distro that actually uses CentOS as a base. The XenSource folks take CentOS, replace the stock kernel with one with Xen support, strip down the install package set to a fairly barebones level (approximately 190 rpms) and then add in a few custom Xen server components.

The current install .iso image for XenExpress is approximately 671MB and includes everything needed to install the XenExpress on a dedicated server machine (no dual-booting here). There are a few other things on the CD including an installer for the Administrative Console as well as an .iso image containing drivers for virtual Windows machines to boost their performance.

Installing XenExpress

As you would imagine, you boot from the CD just like you would to install any other Linux distribution. The install process is very simple and only a few questions are asked. XenExpress assumes you are installing to a dedicated machine and offers no options for dual-booting nor customizing the hard disk partitioning. It will also check to see if your CPU has hardware virtualization support (aka VT) or not. VT is needed if you want to create virtual machines running operating systems that are not Xen aware (ie Microsoft Windows). It will prompt you for network settings and a root password and that is about it. Install time depends on the speed of your hardware but 10-15 minutes is a good guess.

Booting your new XenExpress Server

After the install is done it'll prompt you to reboot. The grub screen will appear and in a few seconds the Xen kernel will boot and you'll get the virtual console login screen containing a message similiar to:

XenServer Host 3.1.0-1332

System Booted: 2007-03-28 11:20

Your XenServer Host has now finished booting. To manage this server please use the XenServer Administrator Console application. You can install the XenServer Administrator Console for Windows and Linux from the XenServer install media.

You can connect to this system using one of the following network addresses:

hostname login:

Unlike most Linux distributions that have seven virtual consoles, XenExpress has two... which will save a little resources by not running five additional copies of /sbin/mingetty. If you feel compelled to have seven virtual consoles, feel free to edit the /etc/inittab appropriately.

Installing the Administrator Console

On the XenExpress CD is a directory named client_install which contains the following files:


As you can see, there's a Windows version and a Linux version. The Linux version is in three RPMs. If you are on an RPM based distro, it is pretty easy. Just rpm -ivh *.rpm and it will install everything you need including the Java JRE package needed to run the Java based Administrator Console. Once installed run the following to start the Administrator Console.


The first time you run the Administrator Console, it will ask you to set a master password and then it will ask for the IP address and root password of the Xen server you want to connect to. After you put in the requested information you should get a window that looks something like...

Installing a Virtual Machine

XenExpress will allow you to install Red Hat Enterprise Linux, Debian Sarge, Windows Server 2003, and Windows XP SP2. As previously stated, in order to install Windows virtual machines, your CPU has to have hardware VT support.

Notice the row of buttons running horizontally across the center of the screen. To install a virtual machine click on Install XenVM button... at which point the lower half of the Administrator Console window will change like so:

Debian Sarge is the easiest to install because XenExpress comes with a pre-built OS template for it... which is another way of saying disk image... or that everything you need to do the install is already on the XenExpress server's hard drive somewhere. In the case of Red Hat Enterprise Linux, it just has a disk image of the network install media... so you can do an RHEL install but only over the network. In my tests I did several Debian installs since they were painless. Just select Debian, give it a name (debian1 for example), plop in a description (debian test 1 for example)... and then click the Install button in the lower right corner which will start the install.

There isn't much to see during the install... except in the top left of the window, under the host server line, will be a new line representing the installing virtual machine. After a few minutes or so the *** Installing will change to a green triagle and the word On. Once the machine is On you can click on that line and the buttons that run horizontally across the center of the screen will change to reflect your options for the selected virtual machine. Click on the Text Console button and the virtual console for that virtual machine will appear in the lower half of the window.

Although it might be hard to read in the resized image above, the first time Debian boots, it prompts you to set a root password and then prompts for an VNC password... and finally you end up at the login prompt.

Oddly enough their template for Debian Sarge automatically starts up VNC server so you can connect to it by clicking on the Graphical Console button which cause a graphical password prompt to appear in the lower half of the screen. After typing in the password and submitting, the graphical login screen will appear in the lower half of the window. Perhaps you'd like to see it the whole thing rather than having to scroll the display around in the lower half... just click on the Undock button and a new window will pop open like so:

Feel free to login as root if you didn't create a new account while in the Text Console. The Debian Sarge template they provide has XFCE as the default desktop which is a good idea because it is a lot lighter-weight than GNOME or KDE. Here's a screenshot with Firefox viewing my favorite website:

I don't recommend running the graphical console. In fact, I prefer just to ssh into the machine the old regular way and do everything from there.


My test machine had 2GB of RAM and plenty of disk space, and since XenExpress allows for upto four virtual machines to be installed, I installed Debian Sarge four times with each machine having 256MB of RAM, a 5GB root partition, and a 512MB swap partition. For virtual machine disk storage, XenExpress creates LVM partitions for all of the virtual machines and installing to disk image files is not an option. My test machine didn't have VT hardware support so I couldn't do any Windows installs. That's a feature I think. :)

Since all of the machines I installed were of the para-virtualized variety, they were Xen aware and ran at near physical machine speed. I went as far as doing an apt-get update and an apt-get upgrade on all of the machines at the same time and the CPU usage on the machine was barely affected. Each machine seemed full speed. On one of the machines I installed apache and browsed to it and the default apache page appeared as expected.

Below is a screenshot showing all four of my virtual machines running. Perhaps you can make out the CPU and RAM usage stats in the top half of the window and notice the sshd config screen that apt-get presented during the upgrade of each machine.

While it would have been nice to run benchmarking software on a single virtual machine and then all of them at once to see how they turned out, I wasn't really prepared to do so. I was definitely impressed with the performance of the virtual machines and would say that they were as fast as my favorite, lighter-weight virtualization solution, OpenVZ.

XenExpress, XenServer, and XenEnterprise

XenExpress allows both Windows and Linux virtual machines, supports upto 4GB of RAM on the physical machine, allows for upto four virtual machines and is free.

XenServer allows only Windows virtual machines, supports upto 8GB of RAM and two CPUs, allows for upto eight virtual machines and goes for $99 per physical machine.

XenEnterpise allows both Windows and Linux virtual machines, supports upto 16GB of RAM and four CPUs, doesn't have a set limit on virtual machines and starts at $488 for a single physical machine. Check the XenSource website for specific prices as they offer several packages including 1, 5 and 10 server packs, 2 or 4 CPUs, and annual subscription or perpetual licensing. For a 10 server pack with 4 CPUs per machine (40 CPUs total) the price for a perpetual license at time of writing was $12,000.00. If that figure sounds high, a co-worker just priced out a VMware ESX setup for 6 CPUs that was over $30,000.00. While there is a great difference in the feature sets between XenEnterprise and VMware ESX, overall virtual machine performance is supposed to be close to a dead-even tie according to those who have been running benchmarks.

Physical to Virtual

The XenSource product line includes an option on the boot CD to migrate a physical machine to a virtual machine aka P2V. This option is only for the conversion of Linux installations although there are (fairly expensive) third-party alternatives available for doing Windows P2V. If the option is chosen, a wizard is started to walk you through the process. The end result can be either a new virtual machine on your Xen server or you can choose to save it on an NFS mount as an OS install template. I gave this a try on a fairly complex Linux machine (software RAID 1 on multiple mounted partitions) and it errored out almost immediately... but in no way harmed anything.

What about Live and Offline Migration?

Oddly enough, migration features (both live and offline) are missing in this release. XenSource has a public beta release of the next version (3.2) but it too is missing migration features. One wonders why this is? They do offer an export and an import feature that is a form of offline migration. I haven't done it but according to what I've read in the documentation, it basically allows you to turn a virtual machine that isn't running, into an OS install template which can easily be transfered to other Xen servers and installed.

The Xen technology DOES support migration features... yes, both live and offline... but they aren't implimented, so far as I can tell, with any XenSource product release.

What about disk storage options?

XenSource's product offerings currently only support LVM partition based storage... although that does include fiber channel based SANs. It appears more storage options are going to become availble in the next release including iSCSI.

Xen from other sources

Novell/SUSE introduced Xen support on SLES with their last release. Red Hat only recently released RHEL 5 which includes Xen support. I can't comment on Novell's integration because I haven't used SLES before. I did read a blog posting written by a Xen developer (although the URL alludes me currently Found it: Xen and the Theory of RHEL-ativity by Simon Crosby, CTO of XenSource) that said that Red Hat's Xen integration was significantly better than SUSE's because of how disk access was handled... something about SUSE using a loopback device whereas Red Hat used a blksomething access instead. I don't currently understand the difference so I'll not even try to fake it.

I also must admit that I haven't done a RHEL 5 install yet... so I obviously haven't done any Xen virtual machine work under it. I have read Red Hat's Virtualization Guide (also in PDF) and I did work with the Virtual Machine Manager application a bit under CentOS 5 Beta. Virtual Machine Manager is no where near as complete as XenSource's Administrator Console but Red Hat's overall Xen integration has several options that XenSource's product line does not offer. These include:

  1. Live and offline migration
  2. Storage in both LVM and disk image formats
  3. Greater than 16GB of RAM support on the physical host
  4. Support for more than 4 CPUsXenEnterprise supports upto 32 CPUs

While not exactly part of Red Hat's Xen integration, RHEL 5 has added clustering (several types) and cluster storage (GFS) as part of the package (they used to be optional addons) so in theory they could also be used for virtual machines although there certainly would be a lot of planning and work involved.

Red Hat does offer maintenance of the underlying OSes they support (RHEL 3, 4 and 5). For XenSource, it isn't quite so clear. The XenSource documentation doesn't seem to mention how to keep the Xen server OS (which is installed on the physical host) updated and the system seems to depend on the CentOS mirror repos for updates (per the /etc/yum.conf and /etc/yum.repos.ed/*.repo config files)... although how Xen specific software on the machine is updated is still a mystery to me at this time.


While I certainly haven't run XenExpress in a production environment nor done any benchmarking with it... heck, I've only been testing it for a few days... I can't really make any first-hand knowledge statements about how well it works... but I have skimmed through several benchmark papers/articles from various sources (here's one). As a result, it is my belief Xen is ready for production work and truely offers most if not all of the benefits that virtualization has to offer.

Xen isn't as feature rich as VMware's expensive product line but it appears to be equal to it with regards to virtual machine performance and stability.

The OpenVZ folks also have indirectly provided some benchmarks that say that OpenVZ is basically equal to VMware and Xen in performance. I have been using OpenVZ in a production environment for a while now and it hasn't let me down... although in several areas it isn't as flexible as Xen and VMware... yet OpenVZ is lighter-weight and seems to scale better (more virtual machines per physical machine).

Where XenSource's products do stand out is in ease of installation and virtual machine creation and management. It is basically as close to a turnkey solution or application appliance as you can get and is even accessible to the less technical user. Downloading and installing XenExpress is a no-brainer for anyone who wants to give Xen a try.

The Future

This summer I hope to get at least two new servers (dual, quad-core CPUs with VT technology and 16GB of RAM) on which to do much more extensive testing and eventually production work. I won't know which solution I prefer (XenSource or Red Hat) until after I've done more testing... including the P2V features from XenSource. I plan to do follow up postings when the time comes.

I certainly welcome comments, feedback, as well as blog postings on the subject from other montanalinux.org members. What are you waiting for?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Thanks for the great review!

Thanks for the great review!

Russian Language Support

what about russian language support?

Scott Dowdle's picture

Russian Support?

I've noticed that this site HAS had quite a bit of Russian visitors, mostly referred by one or two Russian Linux news sites.

I'd be happy to support Russian if I knew Russian. :( I believe Drupal supports multiple languages but someone has to do the translating.

XenExpress Administrator Console problem

Hi Scott,

Your review article about XenExpress is great.
The documentation from Xensource is rather poor when you get into trouble
with XenExpress (like me).

I've installed XenExpress on a fresh Linux machine with aN Intel Core2Duo
CPU and 1GByte RAM.

I've installed the 2 CD's from Xensource and everything went fine without any error or warning, until I reach the point where I want to start up the Administrator Console with:


(before this command, I set the DISPLAY variable to :0.0)
Then I get the following error:

"Cannot open shared object file: No such file or directory.
/opt/xensource/xenserver-client/jre1.6.0/lib/i386/xawt/libmawt.so: libXext.so.63"

Do you have a solution for this?

Do I have to install the whole libX stuff to solve this problem?

Best Regards,

Johan Vermeire

libXext.so.6 cannot open shared object file ...

We have the same problem. Any solution for this?

Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/xensource/xenserver-client/jre1.6.0/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.(Unknown Source)
at java.awt.Component.(Unknown Source)
at com.xensource.ui.application.ApplicationUtilities.start(Unknown Source)
at com.xensource.xenstarter.controller.Main.main(Unknown Source)
[root@xenserver ~]#

Scott Dowdle's picture

Install the libXext package

Ok, somehow I missed the first question and caught it this time around.

Yes, I assume that installing the libXext package would fix it for you.

If missing a library, install missing library... works for me most of the time.

Vserver in Xen 3.0 on Debian.

OpneVZ, I believe, is akin to Vserver. I haven't tried OpenVZ. So I have installed different vservers inside of my Xen machines. For example I have a Xen machine dedicated to Web and inside there are 3 vserver running different releases of Debian (stable, testing) for different purposes; more memory available better performance. I use Webmin to manage and configure the vservers. I use Shorewall inside of the Xen to offer security and control traffice between the vservers. Another Xen machine is used for mail and has vservers running zimbra, postfix with squirrel mail and cyrus, Hula. The last Xen machine holds administration stuff inside of vservers. I figure that a great way of running OpenVZ would be inside of xen. I haven't had a reason to run VMware inside of Xen machines. When I will acquire one of those new fangled processors (all my machines are Athlons) that have virtualization support I'll run Winblows natively if needed.

Scott Dowdle's picture


Yes, OpenVZ is a LOT like Linux-Vserver. I use both OpenVZ and Linux-Vserver at work. I have to admit that I'm less familiar with Linux-Vserver than OpenVZ, and may not be current on its capabilities... but I believe OpenVZ can do everything Linux-Vserver does and more. The more part would be additional features related to resource management... and a second type of network interface that offers more capabilities if needed. I also found the OpenVZ documentation, install, and management to be a little more user friendly.

I can tell you that Linux-Vserver has been rock solid at work... and I had one machine that was up for over 425 days before it went down because of an extended power outage that exceeded the UPS batteries.

Great review; more info


Thanks for the great review - we at XenSource are delighted you liked XenExpress. Thanks also to those who posted follow-ups. So here are a few basic answers to some questions I've seen:
1. Xen Enterprise ready? Yes. Absolutely. We have had tens of thousands of downloads of XenExpress, many users in production even with XenExpress, and we have yet to see any issues or post a hot fix. Kudos to the thousands of open source developers out there that make our job of working on as big a list of hardware as possible, really easy. That plus extensive testing - particularly of the various versions of Windows, seems to be the recipe thus far.
2. Xen easy to use? Yes. Absolutely. If you don't find XenExpress easy to use and robust, then we want to know about it. The motto is "10 minutes to Xen" and we think we deliver.
3. What guest support? RHEL 3,4,5; SLES 9,10; Debian Sarge, Ubuntu 7, Windows Server 200, 2003 (and SPs) including various editions of same; WIndows XP. Vista works (preview) as does Longhorn (preview).
4. Management? Built in. Everything you need is in the product. Let us know what you need that isn't - subscribe to xen-users at lists.xensource.com and help to evolve the code base!
Thanks, Simon


I tried VM over a year ago, and could not get it set up like I wanted. I then got Xen installed, but still found it too complicated. I sorta lost interest in vertualization until just recently.

I found Bochs vm and took it for a whorl, but could not get it to recognize my cd drive, and I also found lots of messages about problems with using a cdrom.

I decided to try VM again, so I downloaded their Workstation. They have made lots of improvements and I have it running just fine. Loaded up openSUSE factory 10.3 alpha 2+
and all is going along fine. The major problem I have is that I set up this guest
with 20GB disk, and some way or other, I wound up with two disks. "/" had 8GB and /home got 11GB. I will track down, sometime, what happened here. VM has a solution using an application that is to be run in the Host system to increase disk size, but I haven't figured out how to work it yet,,, In the meantime, I moved some files over to the Home directory as a temporary solution.

I still have not gotten my cdrom and printer/scanner recognized yet. This may be a
problem with openSuse or VM..not sure yet.

Scott Dowdle's picture

VMware Workstation


I use the free (as in free beer) VMware Server on a few desktop machines and it works great. I'm not sure what the difference is between VMware Server and VMware Workstation other than cost. Do you have any clue?

VMware Server/Workstation work pretty well, and are especially useful for testing, software development, and other common desktop system environments... but there is a lot of overhead with the design when compared to bare-metal OSes like VMware ESX and Xen.

Regarding your disk... I'm assuming you created a disk image 20GB in size but during the SUSE install it made the / and /home partitions for you. You might just consider deleting that virtual machine and starting over... and customizing the partitioning in the SUSE install to whatever you want.

TYL, Scott Dowdle


Scott, when I first tried VMware I did the server, so when I wanted to use VM again this time, I decided to use the Workstation. I don't know what the difference is.

I am thinking maybe openSUSE 10.3 alpha 2+ probably changed my disk setup. My intentions was to use one disk with 20GB. I have not been able to get the VMware Disk Manager to work to change disks, so I think I will take your suggestion and take it down and start over. Question?? Do you know of a easy way to delete the Guest other than foing thru and deleting files?

>but there is a lot of overhead with the design when >compared to bare-metal OSes like VMware ESX and Xen

I don't understand the 'bare-metal' comment.


Scott Dowdle's picture

VMware installs


First off... consider logging in next time. Your last two comments were posted without you being logged in (anonymous access) and required approval before they were posted. If you login, then they automatically get posted.. and I get notified sooner.

Speaking of notification, Warren recommended we use the Drupal notification module... so I installed it a while back... so you can now go to into your profile and configure notifications on various things... so you get an email when someone replies to a comment for example.

Ok, to address your comments:

In VMware, with the virtual machine not running, you should be able to right-click on it somewhere and "Delete from Disk". At least my VMware Server has that and "Remove from Inventory" as options. I think the later doesn't delete the virtual disk whereas the former does.

What's a bare-metal install? Well, with VMware Server/Workstation... you already have an Operating System and you install VMware as an application. With VMware ESX and XenExpress, you actually install them as an Operating System... where they become the primary OS running the hardware... rather than just another application you run within an existing OS. So... they are actually installed on the "bare-metal" of your machine. :)

Both VMware ESX and XenExpress use modified Linux kernels that includes a "hypervisor" which makes their virtual machines run an near bare-metal speeds... which in this context means that the virtual machines run as fast as a real OS on the hardware would run... which is much more efficient than the way that VMware Server/Workstation do it.

Are you using a trail version of VMware Workstation or did you buy it? I *THINK* you can use disk images created with one on the other.

I thought filling out the

I thought filling out the form at the bottom of the comment was enough. I;ll log in next time. Sorry.

On VMware Workstation, it is an evaluation copy.
Thanks for the info on 'bare metal'..


Xen developer

Hi Scott,

Thanks for the article!

What's the name of that Xen developer you mention, please, and where you read his blog post?

Also you don't mention that OpenVZ is limited to running only kernels of the same kind a host does. Is it something you don't really care of doing or I'm wrong about this?

Thanks again.

Scott Dowdle's picture

Found that blog posting I referred to...

I updated the content in the article... but here it is again:

Xen and the Theory of RHEL-ativity
By Simon Crosby, CTO of XenSource

Scott Dowdle's picture

OpenVZ and kernels

Thanks for the comment. I'm getting a whole lot of readers of the article, but not a lot of feedback... and I know I'm not that good. :)

I've been using OpenVZ for... gosh... how long now? About a year? ...or has it been longer? I forget. Anyway, yeah... it has some limits... like there is one and only one kernel running. That is also a benefit. This article wasn't about OpenVZ so I didn't talk too much about it.

Even on Xen, while the host machine is running a kernel, and each virtual machine is running a kernel... they are usually based on the same kernel version... with paravirtualized machines anyway.

While it is certainly handy to be able to run different kernel versions at the same time, especially for testing... it isn't a feature I need on production machines I'm running OpenVZ on... and web-hosting companies seem to prefer it due to its smaller footprint.

Each solution has its pluses and minuses and as they always say... use the right tool for the job... and since the jobs might vary, so may the tools.

Lovin' Xen so far.

Hi gentlemen, Very nice article, I enjoyed it throughly. I have been exposed to a wide variety of virtualization products and use VMware ESX, AIX LPARS, and Xen in my lab on a daily basis. Now being a linux guy myself you know which one I prefer. I have used Xen in the form of RHEL5 beta2, FC6, and CentOS 4.92 (5 beta). I must admit I am kind of growing fond for Redhat's virt-manager GUI wrapper although I prefer the cli myself most of the time. What is even greater is using ssh X11 forwarding of the virt-manager app and opening the gui console of the server to really impress my boss and then ask him how his 6K per processor ESX box is runnin? :-D Xen is progressing nicely and I for one look forward to future development and tighter integration. I Just wish I could get the connect to other Xen server URI option to work in virt-manager. I am also interested in seeing failover in action (a Redhat rep at a tech conference I went to claimed 300ms migration times from Xen server to Xen server). Oh btw I have 12 virtual instances on 1 Xen box w/ a Core 2 Duo and 4GB of ram (1 2K3, 1 xppro, and 10 variants of linux) and they all have been up for over 60 days. Who say's ya cant get a stable M$ OS...ya just gotta run it virtualized via Xen running on Linux. :-D Cant wait to get my hands on my new IBM HS21 blade here in the next few days and slap CentOS5 on it and let the Xen/ESX benchmarks commence.

Scott Dowdle's picture

Virtual Machine Manager

If I understand correctly, one of the goals of the Virtual Machine Manager is provide a flexible enough system so that it may be adapted to various virtual machine types... and not be limited to just working with Xen. VMM is relatively young so let's hope it receives further development to make that a reality. I would like to see it support Xen, KVM and OpenVZ.


Heya Scott,

GREAT article! I would really like to see some information about the production readiness of Xen. If you end up using it more please post an update.

So far most of my virtualization attemps have been limited to testing machines using VMWare server on a Redhat 3 box, but I'm planning on upgrading to RHEL5 and giving Xen a try.


Scott Dowdle's picture

More testing... then production

Thanks Cory. I'm definitely going to do a lot more testing this summer when I get the new hardware... as I have definite plans to migrate at least two physical servers into Xen or OpenVZ.

I just happened to give VMware Converter a try today and migrated my Windows XP workstation into a VMware Server virtual machine running on Linux... so I get to retire that physical machine and have more space on my desk. VMware Server is great because it is free... and it works well... and it is a good solution for desktop machines... but it is NOT what you want to use for production servers. That's what VMware ESX is for... and Xen... etc

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.