Installation of XCP-NG and Xen-Orchestra in 2024

Introduction

Before we get down to the fun, I'll first say a few words of introduction, then I'll tell you what we'll need and we'll smoothly move on to how to install our XCP-NG server step by step. We will install Xen-orchestra on it, and finally we will start installing some virtual machine. We will only start, because the installation itself, whether Linux or Windows, is beyond the scope of this material. Additionally, I am tentatively assuming that as you get down to virtualization, you know how to install Windows. In anticipation of possible comments, I am calmly able to imagine a great many individual cases in which the quoted recommendations will turn out to be, to say the least, wrong. In this material I wanted to focus on a simple test solution with which you can start your adventure with virtualization. Both XCP-NG and XEN-Orchestra are open source solutions and their use is license-free and free, for both testing and commercial purposes. You can simply download and use. However, if you need the reassurance that you will get support for even the most unexpected problems, I would also encourage you to buy paid support directly from the software developers

XCP-NG requirements - CPU

Starting with the requirements for the XCP-NG virtualizer, the technical minimum for a processor is 1.5GHz, 64-bit of the x86 series. However, multi-core 2GHz or faster is recommended.

In fact, for test-laboratory solutions, any modern server-class processor will be definitely enough. Here one more thing that can save you some time, make sure that these functions are enabled in the BIOS.

As for the practical selection of a processor for production solutions, that will already depend on what we want to host, well, and more prosaically, on budget. But that's way beyond this material, where we want to focus on running a test solution. 

The exception to the low CPU requirements will be the need to run Windows 11 as a guest, but about that later.

XCP-NG requirements - RAM

As for the RAM requirements for XCP-NG, it says there is a technical minimum of 2 GB RAM and 4 GB RAM is recommended.

In practice, these are requirements mainly for the virtualizer itself. In short, for starters you need 4 GB of RAM plus as much RAM as you want to allocate to your virtual machines.  

XCP-NG requirements - system drives

For XCP-NG, the required disk capacity is a minimum of 46 GB and the recommendations say 70 GB.

In practice, some 128GB SSD will suffice completely for the lab, but for production work it should also be ok, although of course in this case I recommend double for redundancy.

I also warn you in advance of questions, playing with and SD cards and USB flash drives is definitely not advisable for performance reasons.

Keep in mind, however, that this is space for the XCP-NG system itself. For storing virtual machine disks, we will need definitely more space and probably completely separate disks or even a server.  

XCP-NG requirements - disks for VMs

There are several ways to store virtual machine disks in XCP-NG. The simplest, but rather mainly for testing, is to put them on the same disk as the system. In that case, we need some sort of SSD of 70 GB for the system, plus the amount of space you want to allocate to the disks for your virtual machines. Here a very important note, if you will want to use snapshots, and in practice even if you do backup and use snapshots, you need at least twice as much space as the disks of your virtual machines will have.    

In more practical applications, however, I would recommend separating the system disks and the disks for storing virtual machines. XCP-NG itself also loads the disks, and we don't want to create a situation where our virtual machines loading the disks will cause problems for the entire virtualizer. In general, a separate set of disks is used, or with slightly higher requirements, external datastores. At the test set level in this material, I deliberately skirt the issues of disk performance, which in the real world is often a real pain. 

Also remember that XCP-NG by itself will not take care of or enforce disk redundancy. We ourselves must, layer below it, make sure that both the system disks and the disk resources for virtual machine disks have redundancy. Let it be at least some RAID or ZFS, or redundancy at the disk array level. Anything that will ensure that the first better disk failure will not cause us headaches.

XCP-NG requirements - network

To connect our XCP-NG we will need some kind of network card. The requirements say 100Mb but let's be realistic, however, already 1Gb is testing should be enough. In practical cases, we will already need a minimum of two network cards due to redundancy.

If you intend to use networked datastores, migrate VMs, or back up larger VMs I would consider 10Gb or more connections. For slightly larger sets, it is recommended that the traffic between XCP-NG on the network drive be done over a dedicated connection or connections to ensure smooth operation.

XCP-NG supported systems

All right, but once I have this XCP-NG, what will I be able to run on it you ask?
In fact, quite a lot, although not everything. At the moment, XCP-NG as a virtualizer supports as a guest system, the whole family of Linux systems like RedHAT, CentOS, the whole family of Debian and Ubuntu, SUSE, Apline and many others. In very high probability, if something is Linux, it will work. XCP-NG also supports FreeBSD or OpenBSD so we can safely vitualize such systems as TrueNAS CORE or pfSense.

From the Windows family systems it is we have support for Windows server 2012 until 2022 and from the home systems it is Windows 10. Unfortunately, at the moment there is no support for Windows 11. Yes it's a little weak, especially since it is already beginning to be noisy about the end of support for Windows 10 well and in stores you can already buy only Windows 11. Yes I know that you can do it by manipulating the registry, but about that not now.

This is the situation as of July 2024, when the XCP-NG production version is 8.2.1. I mention this for two reasons. First, version 8.2 enters the End Of Live stage in less than a year. Which is inevitably related to the second issue, the long-awaited version 8.3 which should be released soon. This month, version 8.3 Beta2 was released. And this is important because with version 8.3 comes support for Windows 11 solving the TPM encryption module problem by introducing virtual vTPM. You can install and test it, but it is not yet a production version.

Unfortunately, the problem of somewhat artificial, and certainly much debated, processor requirements will still be solved by buying servers with new processors for the lab (not very cool) or by manipulating the registry.

Check out the video for details.