This is an old revision of the document!


Virtual Environment Platform Setup using Xen

This wiki is currently dedicated at logging information regarding the deployment of a Xen based virtual environment platform I'm willing to setup, mainly as a lab machine.

It also contains some VirtualBox VMs configurations that I need to refer to from time to time.

At first, one of the most confusing exercise one have to face once in contact with the Xen project is coping with its (sometimes quite confusing) terminology. Many terms abound in the documentation of which many seems, if not similar, quite identical, and it rapidly becomes hard to clearly understand what the differences are between the various toolstacks, the hypervisor itself and the way the various pieces of the puzzle all fit together. Not to say how to select the ones that may be of interest for your particular purpose.

One of the clearest explanation that I could find covering the most important concepts one need to acquire in order to understand the Xen ecosystem can be found in this StackExchange answer. I'll thus replicate the most part of it hereunder so to give the necessary introduction required to get a good grasp at what those various elements are, how they fit together, and which ones might be of interest to the a newcomer like me.

The Xen Hypervisor (Xen)

The Xen Hypervisor is the thin layer that domains (or vms, referred to as dom0 or domu) talk to when they want resources. It is now part of the linux kernel, so it no longer requires a custom kernel to run. The hypervisor does not have a shell or any easy way to mess with it directly. It is generally configured and managed from a SPECIAL vm we call dom0, on which the toolstack is installed.

The Toolstacks: xm (xend), xl (xenlight/libxl), xe (XAPI/XCP)

The Toolstack is a set of programs used to manage all domains on a host and to generally tell the Xen Hypervisor what to do. As you know, the primary toolstacks of choice are xe(XAPI/XCP), xl(xenlight/libxl), and xm(xend).
There exist other tools that talk to the various toolstacks and provide another layer of abstraction. The most well known of these is libvirt.
Not too long ago(ok, maybe awhile ago), xen hypervisor development was taken over by the linux foundation, which opened up a lot of doors as far as development was concerned. The most important things that you need to know are:
1. xm is going away. This limits your future-proof toolstack choices to xl(libxl) or xapi.
2. The xapi toolstack is working towards building xapi on top of libxl.

This is important to note: xm is deprecated and **it has been removed from Xen 4.5+ !