In this article series we’ll explore how to quickly install a nested XenServer instance into VMware. Although this configuration is not supported for production environments it still looks great for home lab. Testing and learning about different platforms is always a good idea before committing changes into production environments but also a good to experiment and compare different solutions.
In this instance I would like to explore the capabilities of the latest releases of Xen Hypervisor (now part of Citrix Virtualisation portfolio) currently at version 7.4. There are plenty of features this version of XenServer brings and in particular there is also an enhanced support for video GPU (vGPU) instructions from different vendors.
The numbers of features is exhaustive and palatable from single server Host installs to enterprise scale.
In my case apart from learning more about this solution, also the curiosity to run a few Virtual Machines and use them as the scope of the Backups using Veeam Backup & Replication solution.
At the time of writing XenServer ships in 3 editions: Free, Standard and Enterprise.
This article series will focus on the Free edition as it is using exactly the same source code as the Standard and Enterprise. Of course with fewer features available. For a full list of what’s included in each version it possible to consult a XenServer Features Matrix.
As per usual I’ve organised this article series in different stages which will cover:
- Deploy a Nested XenServer install into VMware
- Install XenServer
- Configure XenServer using built-in Console
- Install XenCenter to manage XenServer Hosts
This list of course is not set in stone. Ideally I would like to more articles including the option to install either the Open-VM-Tools or native VMware tools on the nested XenSever to help with the performances. But also other aspects about the configuration for the storage and network.
At this point we are ready to start preparing a nested XenServer install.
Create nested XenServer Virtual Machine on VMware
First of all we need to create a new VM which will be our container for the nested XenServer. So as per usual let’s start the wizard to create a new Virtual Machine.
Let’s specify the name of the virtual machine and the location in the vCenter hierarchy.
Let’s select the VMware vSphere Host which will be associated to run this particular VM.
For the storage it’s not going to take a massive amount of space. As of the latest version of XenServer 7.4 the minimum recommended is 70GB. Any disk below this threshold will fail the install. So let’s choose the Datastore accordingly.
For the compatibility let’s always go for the latest version unless older vSphere Hosts are present. This will give us the opportunity to benefit from the latest virtual Hardware version.
As per the Operating System type of course no XenServer is available from the drop down. Since Citrix XenServer is based on a CentOS distribution I will use a Linux CentOS as OS family and version.
At this point we can customize the virtual Hardware. Depending on current home lab resources of course we can assign the desired settings. In my case the XenServer Host will have the following:
- 2x vCPU
- Expose hardware assisted virtualisation to the GuestOS
The latter will ensure the XenServer Host can virtualise it’s resources for its own Guests!
Other settings include:
- Memory: at least 4 GB or more
- New Hard disk: this should be 70 GB or more
- Network: let’s use a VMXNET3 and make sure is connected to a Port Group running in Promiscous Mode
- New CD/DVD drive: let’s point to the XenServer ISO
Let’s confirm the Disk is at least 70 GB and it is the first disk we connect to the SCSI controller as per screenshot below.
At this point we have the wizard showing the summary of the main settings (yes the disk still shows 20 GB instead of 70 GB because i didn’t upload the new screenshot!).
And this concludes the first part of this series focusing on nested XenServer install in a VMware environment. Next we’ll proceed with XenServer install.
I did setup XenServer 7.1.2 as a nested VM on ESXi 6.7.
Installation went pretty smooth, but when I start a Win10 (64bit) VM on the XenServer I can see one vCPU going to 100% and the Windows boot sequence hangs – no progress, no login prompt.
Here is my configuration:
HP ProLiant SE316M1R2
2x Intel(R) Xeon(R) CPU L5630 @ 2.13GHz
VMware ESXi, 6.7.0, 10302608
VM hardware version 11
GuestOS: CentOS 4/5 or later (64-bit)
4 vCPUs (2sockets, 2cores)
8 GB RAM
LSI Logic Parallel
Expose hardware assisted virtualization to the guest OS
Windows VM on XenServer:
Windows 10 (64bit)
Any idea what’s going wrong here?
A nested ESXi on the same host is performing well with no issues.
thanks for your commment and apologies for late reply as I’ve travelling a lot lately.
Not sure what the reason could be. Probaly a good idea to take a look at the logs. I would say try to make sure the hardware virtualisation setting are similar to the one in the post as I have that combination was working for me. Also you might want to try with a later version of Xen Server. The one used in the post was 7.4 and now latest is 7.6. It is just a test to rule out the Xen server version. Hope this helps.