As a follow-up to my previous post, I decided to install XenEnterprise and share my impressions with you. It is only right that when you feel you cannot recommend a product to a customer, you have some hard facts and real experience to back that up. So I took a DL380G5 with 8GB of RAM and 1 dual-core CPU and decided to give the installation a go. I installed XenEnterprise 3.1 because that is the latest release. Version 3.2 is in the works and has some features that you might want to wait for. Version 3.2 supports things like SMP for Windows guests (up to 4 vCPUs) and VLAN trunking support for virtual bridges.
Installation
Installation is very simple and straightforward. XenEnterprise 3.1 installs perfectly on the HP DL380G5. One thing to note is that you are asked to configure all the detected network interfaces. In my case, I was asked to configure both eth0 and eth1 (the 2 built-in connections). With ESX, you are asked to configure just one interface, the management interface for the console operating system and you can select the interface you want to use. I my test setup, I only configured eth0 and gave it an IP address on my private network (10.0.0.10). At the end of setup, you are asked for the date and time if you choose not to configure NTP.
I had four SAS disks in the DL380 and I configured them as one RAID5 volume. During setup, the volume is detected and partitioned for you. It is not yet clear to me how storage works with Xen and XenEnterprise because it is not very well explained in the documentation. With ESX, you just partition the system like any Linux configuration and then create some VMFS partitions for virtual machine storage. That concept is very clear and simple and well explained in the VMware documentation. I guess I need some more reading and experience to see how this all works with Xen.
After installation, you get a message to install the management software on a Linux or Windows system and connect to this XenEnterprise server.
Management Software
The installation cd contains a executable to install the management software on Windows. I installed the management software on a Windows XP SP2 machine and fired it up. The first time you start, you are asked to provide a password. That password is used to save host login information to disk in encrypted form. You are asked to provide this password when you start the management console:
After starting the console for the first time, you need to add the XenServer host you want to manage with the File / Add XenServer Host menu option. You then provide the host name or IP address and the password of root (set during installation). After the host is added, you can start to manage it. I created a Windows Server 2003 XenVM and a Debian XenVM. A later post will provide some details about working with XenVMs. The management console with these two virtual machines looks like this (click image to enlarge):
The two XenVMs are listed under the XenServer host I imaginatively called "xenhost". You will notice that both XenVMs have a small Xen logo in front of their status. That indicates that the XenVMs have been "enlightened" with paravirtualized drivers. Although not strictly needed, performance with these drivers is much better. This has also been discussed in the whitepaper published by XenSource where they compare their product with ESX 3.0.1.
XenServer Host Management
Management of the XenServer host from the management console is limited. When you right click the XenServer host, you get the following menu:
You can also get a text console to the XenServer host directly from the management console (click image to enlarge):
Some very basic performance graphs are also available (click image to enlarge):
Let's take a look at networking and storage. During installation, I only configured eth0 with an IP of 10.0.0.10. A network is created automatically called xenbr0 and it uses eth0 to "bridge" the virtual machine's virtual interfaces.
You can easily add and remove networks with the + and - buttons. In the screenshot below (click to enlarge), you see I added an internal network called vbridge0. Because I only have eth0 enabled, I can only create internal networks because eth0 is already in use.
What I miss here a bit is the wealth of options you can set with VMware's management tools. With VI Client, virtual networks are graphically represented as switches with ports for virtual machines, management, VMotion etc... With VI Client, you can also configure load balancing and set security options such as allowing promiscuous mode, permitting MAC address changes and so on. ESX also supports VLANs but that is coming with XenEnterprise 3.2. VI Client also allows you to set the IP address for your management interface, DNS servers and host name. XenSource's management tools only show this information. To change it you need to use the command line. That is no big deal but it should be added to the management console to make configuration as easy as possible.
Storage configuration with the XenEnterprise management console is simple. You can see what's in use and what is left:
Actual storage management needs to be done from the command line. You need to use XenServer sm commands and Linux lvm commands. To see what you have to do to add storage, take a look here. Storage management with ESX and VI Client is much simpler. Adding and removing storage (VMFS volumes), issuing SAN rescans and setting HBA failover policy can all be done from the management console. There are command line tools available but they are not required for general use.
Something that is really missing is good documentation for network and storage configuration. The user manual is very basic and does not explain the internals of the system. There is a knowledge base with quite some information and the forums are full of helpful posts but that is not enough.
Conclusion
Installation of XenEnterprise 3.1 is very simple on supported hardware. Installing the management console and performing basic management tasks is simple because of the Windows based management console. The bad news is that the management console only allows basic XenServer host management. You quickly need to use the command line to perform management tasks and managing storage and networking is not as straightforward as with VMware ESX. Most of these problems can be easily fixed however by building a better management GUI and writing better documentation. The basic technology works and is actually quite impressive if you think about it. In time, I fully expect this software to be a valuable alternative to ESX at a much lower price point. Well, maybe until Windows Server Virtualization arrives anyway.
In a later post, I will talk a bit about working with virtual machines on XenEnterprise.



