I recently saw an interesting tweet from former VMware colleague Steve Muir who use to run our VMware Academic Program (VMAP). From the looks of things, Steve has been exploring the virtual rabbit hole by performing some cool multi-level vInception by running Xen in a Nested ESXi Virtual Machine running on top of VMware Fusion 🙂 I wonder if he has tried to run a VM in the Xen instance yet?
Anyway, the thing that caught my eye was not the fact that you could run a Xen Hypervisor within ESXi, this has actually been done before in the past. What was interesting to me was the fact that he could not get VMware Tools to show up when Xen is installed and running. I was actually curious to see why this was the case and while waiting for some of my physical hosts to finish rebooting, I figure I give this a go myself. I was leveraging the Wiki page that Steve had initially provided but that gave me some issues as Xen would kernel panic upon a reboot.
In talking to Steve about this, he provided me with another link to a QuickStart guide for Xen which simplifies the setup and I was able to finally get it booted up (definitely not as easy as an ESXi install) . Afterwards, I just installed VMware Tools as I normally would and you can even use this one-liner script here that will automate the installation:
Funny enough, just by using this latest guide for the Xen installation, I was able to get VMware Tools to show up in the vSphere Web/C# Client without any additional tweaks. Here is a screenshot to prove this works:
If you are interested in setting this up, here are the high level steps:
- Install latest CentOS which is 6.5 using either the full ISO installer or netinstall which is what I prefer to use
- Install Xen per the Wiki
- Install VMware Toosl (this step can be swapped with Step 2 if you, it works either way)
Thanks Steve for sharing your notes on getting Xen running on ESXi and I guess you ended up getting an answer to your question 😉
Are you sure CentOS guest is booted up with Xen and not just the linux kernel?VMtools uses a backdoor IO port to communicate with the esx host, and unless Xen has special patches to pass this port through the communication might not be possible.