XCP-ng is a turnkey open source virtualization platform based on Xen Source and Citrix® Hypervisor (formerly XenServer). XCP-ng stands for Xen Cloud Platform, a tribute to the old Open Source project XCP, which was abandoned when XenServer was open-sourced in 2013.
XCP-ng project is a result of massive cooperation between individuals and companies, to deliver a powerful type 1 hypervisor. The product components, documentation, repositories and dev process are easily accessible and available to the general public.
A functional XCP-ng platform is comprised of the following infrastructure components:
- API (Xen API)
We will perform a step-by-step installation of XCP-ng virtualization platform. This will be the first article with subsequent guides put into mini-series for easy reference in building your ultimate virtualization solution.
XCP-ng can only be installed on a 64-bit x86 server-class machine that has been devoted to hosting Virtual Machines – Linux, Unix, Windows e.t.c. An optimized and hardened Linux partition is created after the installation of XCP-ng, with a Xen-enabled kernel. The kernel is what controls the interaction between the virtual machines hardware and the real physical hardware.
In an XCP-ng virtualization platform supported hardware at the compute level are:
- Up to 5 TB of RAM
- Up to 16 physical NICs
- Up to 288 logical processors per host.
The devices listed on Citrix Hypervisor’s Hardware Compatibility List are supported by XCP-ng.
Step 1: Download XCP-ng 8.x ISO
We’ll be performing an installation of XCP-ng version which in an LTS release with support until 2025-06-25. There are many options for the installation you can choose from, namely:
ISO installation is the most used method as can be done purely offline without the need for DHCP, PXE and Web server.
In this article we’ll use the ISO installation method. But first you need to download the latest LTS ISO image of XCP-ng from the iso releases page.
As of this article writing this is version 8.2.0
You can as well download the file directly from the URL in your browser.
Step 2: Create bootable USB or attach ISO to Virtual Media
If doing the installation over a KVM switch or direct server console, you can create a bootable USB key with the commands below:
dd if=xcp-ng-8.2.0.iso of=/dev/sdX bs=8M oflag=direct
On Windows, you can use Rufus to create the bootable USB stick.
For installation over IPMI you can then attach the ISO to the virtual media:
Step 3: Install XCP-ng 8.2 Virtualization Platform
Boot off created medium – USB or attached ISO to begin installation of XCP-ng 8.2 Virtualization Platform on your physical box.
Select keyboard keymap you’re using in this installation.
Agree to clear data so that installation of XCP-ng Virtualization server can begin.
Accept the End User License Agreement to progress with the installation.
Select the disk that will be used for the Virtual Machine storage. Extra configurations can be done after the installation.
Select the source of files for the installation. Since we’re doing the ISO installation method, this will be “Local media“.
Verify installation source to check integrity of the files.
A successful message is expected before we proceed.
Specify root user password – this has to be at least 6 characters in length.
Choose the network interface used for connecting to the management server on the host.
Specify whether to use DHCP or Static IP address for the management interface. For static networking, provide the server IP address, Subnet mask and Gateway IP address.
If the interface is trunk and VLAN is required, set IP information and specify VLAN ID:
Set correct DNS server(s) IP addresses:
Select XCP-ng host geographical area
Select the city in geographical area chosen.
Select local time configuration method. NTP is preferred over manual time configuration.
If you chose NTP you need to input NTP servers details in the next screen.
Once all the information required to install XCP-ng is provided you can confirm to proceed.
The installation preparation begins shortly after you confirm.
Installation could take quite some minutes, so be patient!
Select “No” for Supplemental packs installation.
You’re almost through with the installation steps if your screen shows output similar to below.
Here is my successful installation message. You need to detach installation media then reboot the system,
After reboot you’re greeted TUI console which looks like this:
You can start the command shell by hitting “Local Command Shell” from the selection.
Login the root username and the password set during installation
The installer creates small partition for the OS and dedicate the remaining to Virtual Machines using LVM.
Upgrade the system’s packages before you use XCP-ng installed to manage Virtual Machines.
Confirm upgrades using y key:
Reboot the host after a successful upgrade.
Step 4: Install XenServer | XCP-ng Management tools (Optional)
Refer to the guides in the links below:
Managing XCP-ng Hypervisor with XenCenter | XCP-ng Center
Deploy Xen Orchestra Appliance on Xen/XCP-ng from CLI
Install Xen Orchestra on Ubuntu | Debian to Manage Xen/XCP-ng
Step 5: Adding ISO Storage repository
Refer to the guide in below link:
Add and Use ISO Library Storage Repository in Xen XCP-ng
In this guide we’ve been able to install XCP-ng 8.2 Virtualization Platform on a dedicated server using ISO downloaded from the website. In the next guides we’ll dive deeper into more configurations and environment preparation before creating Virtual Machines in the platform.