How-to run XenServer on top of vSphere

As most of the readers here know, vSphere is so powerful it is able to virtualise itself. What is even more amazing is that it is able to virtualise the competition. Yes that’s right, you can run XenServer on top of vSphere including running some nested guests, without any problems.  Below I’ll walk you through the basic setup for doing this.

XenServer is the free bare metal hypervisor product from Citrix, you can read more about it online. I’m not going into much details on it here now.

Ok first you’ll need to get the .iso files to install from the Citrix web site. Download XenServer-Install-5.6.0-cd.iso and XenServer-5.6.0-linux-cd.iso. I used vSphere 4.0 so had to use one of my old ESX-on-ESX vmx configuration files (you can download what I used at the end of my post), but I bet you can just set the guest OS to ESX on vSphere 4.1 and be done with it. Minimum configuration details to install are memory 2GB (I didn’t try smaller), 1CPU (I’m using a core i7 processor in my host) and 15GB on disk (but I’d recommend 20 GB if you want to install a guest on this)

My apologies for making so many screenshots, but this format is in my opinion preferred above a simple youtube movie (which would have been MUCH less work for me) as you can digest it at your own tempo (be it to glance over or read each screen carefully, your choice)

Point the virtual CDrom to the install-cd and boot…

Where ever possible, we’ll go for defaults.

As you can see here, XenServer needs VT in order to be able to run Windows guests, so we won’t be able to run nested Windows guests on XenServer. Not a problem for my lab testing, but it is a good thing to know ahead of times.

You won’t get this screen on a new setup, I had an existing XenServer install that I wiped out, so what you see here is the warning for that.

The media is mounted locally as a CDrom, so just select OK

This is a bit different from how things work with vSphere, you can add “Supplement Packs”. For being able to run linux guests, you’ll need the linux Supplement Pack. It allows you to add the “linux additions” paravirtualisation drivers. This SP also includes a small debian demo guest (the one we will install in this how-to) This is not required, but as we are going to run a nested linux guest, it is recommended to install it right now. So we are selecting YES.

I know the media is fine, so I’m skipping the test

Enter your password and continue

I’ve got two NICs in this VM, these NICs are connected to ports on the ESX host that ALLOW promiscuous  mode.  You would also need that for virtualising ESX. I’ve edited out some MAC details. One nice thing here is that if you forgot to connect your network cards to the network, then setup will detect it if you connect now. So in the physical world you can just connect your network cable here and the “no link” part will disappear.

We’ve got a perfectly fine DHCP server, so we’re using it.

You can change your XenServer hostname here…

Timezone setup

An interesting city to live (although I love living in Eindhoven)

Sticking it to the defaults again

Come on…

This is where it starts to get a bit interesting…

Basic setup files

Right, now you want to switch CD’s, so select the Linux-Install iso CD and do not forget to tick the “Connect” checkbox

I’m going for the Use option (Can I get a beer now?, it is 2am on a sunday night)


Nope, we have no more supplement Packs for now, besides we want to get to running a guest… hurry up.

Finally, 25 screens later, we’re done. Btw, it is rather quick if you set it up. I got the whole XenServer on ESX running within 20 minutes INCLUDING a nested guest.

Booting.. 😀

One of the text screens, there’s a myriad of options here. One side note is that I had to use the options here to connect to my NFS store, I could not get it to work using XenCenter. XenCenter is XenServer’s variant of the vSphere Client. You’ll have to download and install it on windows (I’m skipping that part now as well as adding a new host)

Here you go, our virtual XenServer host is aptly called “XenS” and has no virtual machines yet, we’re going to fix that.

The normal “Right click” context menu and select New VM applies..

The XenServer linux Base Pack comes with a demo linux VM. We’re selecting it here. The next screens are skipped (I’ll leave that to you) and I’ve used the defaults anyways)

Clicking Finish will provision the VM on our host.

Well that was quick 🙂 It takes a few minutes to provision, but will then automatically boot the guest.

By default, you’re getting the text console, as you might notice here, the graphical environment is hosted via VNC. As far as I know there’s no virtual graphics driver as in the VMware products. The screen is handled by remote consoles.

You’ll have to add a user to be able to log in graphically as root can’t login. After adding our test user here, we’re clicking on the “Switch to graphical Console” button at the top right.

After logging in, we can use our VM and I have to say I was pleasantly surprised to how fast it was. Remember that I’ve provisioned just one vCPU to the guest that runs the XenServer hypervisor including our nested debian XenServer VM.

Well that’s it for now… shutting down our XenServer guest VM.

I’d like to make a few final notes.

All in all I was pleasantly surprised with XenServer, it certainly is a nice product, but it is not as full featured as vSphere. It had a few small quirks during my testing, but none of them disturbing.

The main thing that I didn’t like was that apparently XenServer doesn’t support folders on NFS storage. I’ve got 50 or so iso images available via NFS storage and in order to use them I had to temporarily copy the iso’s to the root folder to be able to access them. Their way of presenting these iso’s will not really scale pleasantly when you’ve got 50 iso’s to select from (a list object with 50 items to scroll from is doable but not ideal)

I’ve very happy that I can run this virtually as it allows me to yet again not having to run another box to study what the competition has to offer.

Thanks VMware, you’re awesome.

PS: I’ve added my basic VM setup files for you to use XenServerOnESX.tar.gz Sensitive information has been removed or changed and you’ll have to create a virtual disk yourself.  I’m reasonably confident you can also use this setup on most hosted VMware products that allow you to run virtual ESX as well.


Author: Wil van Antwerpen

Wil van Antwerpen is a software developer who loves to work on Open Source and dabble a bit with VMware products. He likes to help people out as that is a good way to learn more. He is the author of Vimalin Backup ( which is virtual machine backup software for VMware Fusion and VMware Workstation Pro.

7 thoughts on “How-to run XenServer on top of vSphere”

    1. Thanks Eric,

      I was pleasantly surprised by that part too.
      Well I’m just reporting on it being possible and have tried to write down the steps on how others can run it too.
      The real work has been done by the VMware engineers making this possible.

      To be honest, it wasn’t even my idea to run XenServer under vSphere, Alex Mittell suggested me to try that instead of running it on some old lab box I have here.
      This works much better as the old -non VT capable- lab box as it is more flexible and more powerful.

Comments are closed.

%d bloggers like this: