Virtualization Without Licenses: XCP-ng and Xen Orchestra
We've seen clients overpay for VMware licenses when all they needed was reliable virtualization with live migration and HA. XCP-ng—a fully open-source fork of XenServer—solves this without monthly fees. It's managed via Xen Orchestra (XO), a web interface with functionality rivaling vCenter: live migration, HA, host pools, backups, real-time metrics. Over 10 years, we've completed more than 50 migrations, with average TCO savings of 60-70%—for a 10-host cluster, that's over $50,000 per year saved. The hypervisor here is Xen, not KVM. Xen uses paravirtualization (PV) for Linux guests and hardware virtualization (HVM) for Windows and OSes without PV drivers. Modern distributions with kernel 4.x+ run in PVHVM mode—the best of both worlds. XCP-ng supports all current Linux and Windows Server versions, including Ubuntu 22.04, CentOS Stream 9, and Windows Server 2022.
Get an assessment of your infrastructure—contact us for a consultation. Our engineers are certified and guarantee a seamless transition.
Installing XCP-ng
XCP-ng is installed from ISO on bare metal. Minimum requirements: 64-bit CPU with VT-x/AMD-V, 4 GB RAM (8+ GB in practice), SSD for dom0 (uses ~2 GB RAM). The image is about 1.2 GB, and installation takes 15 minutes. After installation, manage via CLI on the host (xe commands) or via Xen Orchestra (recommended).
# Basic xe commands on XCP-ng host
xe vm-list # List all VMs
xe host-list # List hosts in pool
xe sr-list # Storage Repositories
# Create VM from template
xe vm-install template="Ubuntu 22.04" new-name-label="webserver01"
# VM snapshot
xe vm-snapshot vm="webserver01" new-name-label="before-update" Xen Orchestra: Installation and Configuration
Xen Orchestra (XO) is a web interface for managing XCP-ng. The official version is paid (XO Appliance from Vates), but there's the XO Community Edition built from source. Install XO on a separate server with Debian/Ubuntu:
Detailed installation steps
- Download the install script:
curl -fsSL https://raw.githubusercontent.com/ronivay/XenOrchestraInstallerUpdater/master/xo-install.sh | bash - Wait for the build (10–15 minutes on a modern server).
- Open
https://<ip-xo-server>:443in a browser. - Connect the XCP-ng host: Settings → Servers → Add, provide the host IP and root password.
Once connected, XO gains full access via XAPI—metrics, VM management, backups.
How to Join Hosts into an XCP-ng Pool?
A pool in XCP-ng is a group of hosts with shared storage, enabling Live Migration. This XCP-ng host pool setup is crucial for HA. Use xe pool-join to add hosts:
# Create pool (first host becomes master)
# On the second host:
xe pool-join master-address=192.168.1.10 master-username=root master-password=SecretPass
# Check pool status
xe pool-list
xe host-list params=name-label,enabled,addressTo join hosts, ensure same XCP-ng version and NTP sync. We recommend 3–5 hosts for fault tolerance.
Choosing a Storage Repository
SR is the analogue of a VMware datastore. XCP-ng supports NFS, iSCSI, Fibre Channel, local LVM. For production, we recommend iSCSI or NFS with SSD caching. The storage must be shared across all pool hosts for Live Migration and HA. iSCSI provides up to 50,000 random IOPS per LUN.
| SR Type | Performance | Complexity | Recommendation |
|---|---|---|---|
| NFS | Medium | Low | Small projects, up to 10 VMs |
| iSCSI | High | Medium | Optimal choice, 10–100 VMs |
| Fibre Channel | Very High | High | Enterprise, corporate data centers |
# Create NFS SR
xe sr-create name-label="nfs-storage" type=nfs \
device-config:server=192.168.1.100 \
device-config:serverpath=/exports/xcp-storage
# iSCSI SR
xe sr-create name-label="iscsi-storage" type=lvmoiscsi \
device-config:target=192.168.1.101 \
device-config:targetIQN=iqn.com.company:storage01 \
device-config:SCSIid=SCSI_ID_HEREFor Live Migration and HA, the SR must be shared (NFS or iSCSI) and visible to all pool hosts.
Why Choose XCP-ng Over VMware?
Comparison with VMware: vSphere licenses cost $500+ per CPU, while XCP-ng is free. Our experience shows that migrating to XCP-ng reduces TCO by 50–70%—that's 3x less than VMware licensing. Additionally, XCP-ng supports more storage types and isn't vendor-locked. For projects with 5–50 hosts, XCP-ng is the optimal choice. DevOps engineers appreciate XCP-ng for its cloud-init support and CI/CD integration.
| Parameter | XCP-ng | VMware vSphere | Proxmox VE |
|---|---|---|---|
| License | Free | $500+ per CPU | Free (optional subscription) |
| Live Migration | Yes | Yes | Yes |
| HA | Yes (heartbeat SR) | Yes (vSphere HA) | Yes (Corosync) |
| Storage | NFS, iSCSI, FC, local | VMFS, NFS, vSAN | ZFS, LVM, NFS, Ceph |
| Backups | XO (built-in) | Veeam (paid) | Proxmox Backup Server |
How HA Works in XCP-ng
HA in XCP-ng operates at the pool level. When a host fails, its VMs are automatically restarted on remaining hosts in under 2 minutes. HA requires a heartbeat SR—a dedicated iSCSI LUN or NFS share of at least 500 MB for heartbeat metadata. Through XO: Pool → HA → Enable. Specify the heartbeat SR and set ntolerance (how many hosts can fail before the pool stops). Xen Orchestra also provides built-in VM backups (rolling snapshots, delta backup to remote storage).
Templates and cloud-init
XCP-ng supports cloud-init via guest tools (xe-guest-utilities). Create templates from cloud images:
# Import Ubuntu cloud image
xe vm-import filename=ubuntu-22.04-server-cloudimg-amd64.ova
xe template-param-set uuid=TEMPLATE_UUID name-label="Ubuntu 22.04 Cloud"
# When creating a VM from template via xe with cloud-init parameters
xe vm-param-set uuid=VM_UUID \
xenstore-data:vm-data/user-data="$(base64 -w0 cloud-init.yaml)" What's Included in Turnkey Setup
- Audit of current infrastructure and host configuration selection.
- Installation of XCP-ng on bare metal (1–10 hosts) with dom0 configuration.
- Deployment of Xen Orchestra (Community or Appliance)—web interface, backups, monitoring.
- Pool setup with shared SR (NFS/iSCSI) and HA.
- Import of existing VMs (when migrating from VMware/KVM).
- Creation of cloud-init templates for rapid deployment.
- Documentation: network diagram, SR configs, operator runbook.
- Training for your team: managing hosts via XO, performing backups.
- Guaranteed uptime SLA with proven track record.
Work process: analysis → design → installation → configuration → HA testing → handover. Timeline: 2 to 5 days depending on host count and storage complexity. Pricing is determined individually.
Contact us for a consultation—we'll assess your project and recommend the optimal solution. Order a turnkey setup and get reliable virtualization with no hidden costs. Our certified engineers have completed over 50 projects successfully.







