Hypervisor Comparison

The following list of popular hypervisor software includes a short description and comparison of features. Any recommendations noted are from the perspective of someone wanting to host a homelab, so priority is given to the availability of a full feature set at no cost.

Xen Hypervisor

XenServer / Citrix Hypervisor

XenServer XenServer

XenServer has a storied past. The commercial product is currently offered by the XenServer company. The free version is their “Trial Edition”, which only has the limitation of no support and smaller pool sizes (similar to free versions of XenServer offered in the past). Although I haven’t investigated this today, my experience in the past is likely to still be true, that you will probably need to sign up for a free account in order to download XenServer.

In the past the Xen hypervisor has been offered through several different sources, with most changes happening because the governance of an offering changed from open to closed source, or vice versa. Xen was offered as an open source community-driven project from its early days, with a company (XenSource) developed to offer support and a commercial product. Citrix had a product for app virtualization around this time, but no bare-metal hypervisor, and ended up acquiring XenSource to fill that gap. Citrix began offering the product as XenServer, but then forked the source in 2018 and changed the product name to Citrix Hypervisor for version 8. In 2022 Citrix was acquired by Vista and Evergreen, and the hypervisor product was spun off into a standalone business unit, now called XenServer again.

XenServer Company Story

XCP / XCP-ng and Xen Project

XCP-ng XCP-ng

The Xen Hypervisor started out as an open source community-driven project, and that open source community project is still maintained by the Xen Project community at https://xenproject.org. They are primarily focused on the hypervisor elements, and an API. The Xen hypervisor can be installed manually on supported Linux distributions, however it is much easier, and I recommend, installing the XCP-ng distribution which bundles Xen in a custom Linux distribution (loosely based on CentOS 7). Installing XCP-ng is a similar experience similar in ease to installing VMware ESXi.

The XCP-ng Wikipedia article clairifies some history about XCP/XCP-ng. It seems that after Citrix acquired XenSource in 2007 and continued to sell the XenServer product, they decided to move XenServer to closed source in 2010. This prompted the creation of the XCP version of Xen Hypervisor, maintained by an open source community. However, Citrix took the XenServer code open source again in 2013, prompting XCP to abandon their now redundant efforts. But then in 2018 XenServer was again closed-sourced (with the branding change to Citrix Hypervisor), so XCP-ng was born as the successor to XCP. XCP-ng continues to offer an open source version of Xen Hypervisor bundled in a Linux distribution. XCP-ng also offers several other projects: Xen Orchestra, XOSTOR, XO Lite, XCP-ng Center. XCP-ng partners closely with Vates to offer commercial support services for XCP-ng through https://xcp-ng.com.

Recommendation

The Xen Hypervisor is a fine system for running virtual machines, and has compatibility to run Windows OS’s too. Xen offered an easier and all-GUI experience when I was directly attaching external harddrives for passthrough into VMs, but had no support for private VLANs (which I researched for a period, but never implemented). In the end XCP-ng is fine to run a homelab, especially with their Xen Orchestra web gui. I ended up choosing ProxMox, but if that ever stopped working for me then I would return to XCP-ng.

Proxmox

Proxmox Proxmox

A KVM-based hypervisor, Proxmox provides management through a comprehensive webgui. Based in Germany, Proxmox Server Solutions GmbH provides commercial solutions and support. Even though Proxmox does not mention a free or trial tier in their pricing tables, their docs include information for running Proxmox without a subscription. This only provides access to the no-subscription repository, instead of the enterprise repository, however I ran my homelab on the no-subscription repository for years without any issues. Handily Proxmox does not gate any features behind subscriptions, so you can run Proxmox without a subscription and still have an unlimited number of clusers and cluster members, among all other features. Support with no subscription is limited to their community forums of course.

Recommendation

Proxmox is my first choice for homelab hypervisor. It does not have native support for Docker containers, however it does natively support LXE Linux-native containers. This hasn’t proved to be a serious obstacle, since I run Docker containers from a full-size VM hosted on Proxmox.

One difficulty I found getting Proxmox working was passing through a Link Aggregation Group (LAG) from my switch (or NIC teaming) to the Proxmox server. With a bit of searching on the Proxmox forums I found commands to run in the server terminal that got the job done, however in Xen or VMware the process could have been handled through the GUI.

VMware / ESXi

VMware VMware

Until recently VMware was my recommendation for enterprise hypervisor environments. The licensing has always been the most expensive of all commercial environments, and some IT professionals have told me VMware is too complicated to learn, however I found that VMware’s GUI tools were comprehensive which made administration easier than I’ve experienced anywhere else. This includes GUI tools for hyperconverged infrastructure and clustering.

Unfortunately, after the completion of Broadcom’s acquisition of VMware, the licensing model became much more disadvantageous for VWware customers. Perpetual licensing was removed in favor of subscriptions, and free or trial offerings disappeared. I see many news articles and forum posts indicating that companies are looking to move to other hypervisor providers, based on the changes to VMware’s terms.

Even if there wasn’t the Broadcom acquisition playing up, I still couldn’t recommend VMware as a homelab hypervisor. There are no, and never were, any free or trial offerings that could sustain a homelab for the long term. It is unfortunate when enterprise technology providers do not offer a way for technologists to practice using their software, including practice for keeping a long-term environment up and running. I would honestly tell my employers that I am more comfortable setting up a Proxmox or Xen system than VMware (if I hadn’t been employeed with a company already using VMware).

Microsoft Hyper-V

Microsoft Hyper-V Microsoft Hyper-V

I’ve had somewhat little experience with Hyper-V until I recently helped my company stand up a cluster of Hyper-V VMs. Previously I only experienced Hyper-V if I wanted to run a VM on my home Windows client OS. And of course those VMs were typically short-lived and did not need a complex network or storage setup, and I typically ran just a few VMs at a time.

Now that I’ve experienced setting up a production cluster of Hyper-V servers for an enterprise I can say that I do not recommend Hyper-V, unless the IT administrator is shackled to choosing only from Microsoft products when designing the solution. In any case it is certainly not a great solution for homelab, though it would be possible to run Microsoft Server OS and Hyper-V in a homelab through some type of trial or educational program.

If you are tasked with setting up a Hyper-V server cluster (hyperconverged even), then I offer this advice: be aware that Hyper-V does not support failover clustering on its own. Hyper-V servers can be connected through the same Hyper-V management client and this permits VMs to be moved between servers while offline, but this is not the “live migration” that we all expect from enterprise hypervisors these days. In order to acheive this you will need to learn about and setup Windows Server Failover Clustering, which is a separate server role outside of Hyper-V. For hyperconverged storage you will need to setup Storage Spaces Direct, again separately and outside of Hyper-V. Lastly when this is all setup, the Hyper-V management client will still not recognize the server cluster - so you will deploy the VM direcly in the Failover Cluster Manager console, “outside” of Hyper-V. My recommendation is to research several documents online before taking on the project - Microsoft does not offer the administrator handy cluster or HCI setup workflows like VMware or others do.