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’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.
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)
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.
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.