XCP-ng virtualization platform
XCP-ng is a high performance enterprise-level virtualization platform. XCP-ng stands for Xen Cloud Platform - next generation: it is the modern successor to XCP, initially created as an Open Source version of Citrix XenServer back in 2010.
XCP-ng is a secure platform to run any kind of virtualization workload, while being managed by a central administration console called Xen Orchestra (see Xen Orchestra).
Architecture
XCP-ng contains multiple components, built around the Xen Hypervisor. It's meant to run on top of bare-metal machines.
Xen Hypervisor
Part of the Xen project, the Xen hypervisor is an open-source type-1 hypervisor installed directly on physical servers. On top of this hypervisor, multiple virtual machines run, which are called domains or guests. There are 2 types of domains:
- Dom0: A special, privileged domain with access to hardware, containing device drivers, responsible for I/O operations and hypervisor control.
- DomU: The guest VMs running your applications
XAPI
XCP-ng is entirely managed by the XAPI which is the Xen API part of the XenServer project, installed in Dom0. The XAPI configuration data are stored in a database located in the Master Host of the pool (see XCP-ng pools) and replicated to other host members. This database stores the Pool metadata, VMs/Networks/Storage configurations, Licensing and more.
All XCP-ng clients like Xen Orchestra or xe CLI are communicating with the pool master, through the Xen API (XAPI).
You only need to open a connection to the master, even if there's multiple hosts.
XO Lite
Xen Orchestra Lite (XO Lite) is a lightweight version of Xen Orchestra for single-host or single-pool administration, hosted directly on XCP-ng and running from your browser without having to deploy anything. See the XO Lite page for details.
XCP-ng pools
A pool is an aggregate of one or more XCP-ng hosts (up to 64) sharing resources (Compute, Storage and Network).
Each XCP-ng host is a pool consisting of a single member by default. When a new XCP-ng host is joined to a pool, it is designated as a member, and the first existing host in the pool becomes the master.
Detailed features
- High Availability
- VM Load Balancing
- Affinity / Anti-affinity rules
- Live Migration (pool-to-pool, host-to-host, storage live migration)
Pool Network
To manage networking, XCP-ng uses Open vSwitch as its core component. It creates a network for each physical NIC during installation, and when a server joins a pool the default networks are merged, so all physical NICs sharing the same device name attach to the same network, enabling seamless VM mobility across any host in the pool. Supported network types include:
- External (Default): bridges a VM to a physical NIC, giving it access to resources on the host's physical network.
- Bonded: combines two or more NICs into a single, high-performing channel.
- Private: connects VMs internally on a single host, with no traffic sent outside.
- Global Private: extends private networks across different hosts and pools using the Xen Orchestra SDN controller.
For advanced software-defined networking, an SDN controller is provided as a Xen Orchestra plugin, enabling pool-wide and cross-pool private networks along with features such as GRE/VXLAN tunnels, encryption, and OpenFlow rules.
Detailed features
- VLAN (IEEE 802.1Q) & VLAN Tagging
- Bonds
- GRE/VXLAN Tunnels
- Private Network Encryption
- Open Flow rules
Pool storage
To manage storage, XCP-ng uses Storage Repositories (SRs), the abstraction that holds virtual disks (VDIs). SRs can be backed by local disks or shared external storage, allowing multiple hosts in a pool to access the same storage and enabling features like live migration and high availability.
Besides external arrays, two other cases rely on the hosts' own disks:
Detailed features
- External shared storage over iSCSI, Fibre Channel (FC), and NFS, letting all hosts in a pool share the same repository.
- Disk live migration: move a running VM's virtual disks between storage repositories with no downtime.
- Large VDI support: virtual disks up to 16 TiB with the QCOW2 format, generally available in XCP-ng 8.3 LTS. VHD disks remain limited to 2 TiB, and Xen Orchestra picks QCOW2 automatically for larger disks.
- XOSTOR hyperconvergence: pools local disks across hosts into shared, replicated storage without dedicated external hardware.
Versions and support
XCP-ng 8.3 is the current release, with Long Term Support since June 2025. XCP-ng 8.2 LTS reached its end of life on September 16, 2025: hosts still running it should upgrade to 8.3, and extended support is available from Vates for infrastructures that cannot upgrade yet. The next major release, XCP-ng 9.0, is in development for both x86 and ARM. Release announcements and the monthly security and maintenance updates are published on the XCP-ng blog.
Learn more
- Canonical documentation: docs.xcp-ng.org
- Download and install XCP-ng
- Project website: xcp-ng.org