[XCP-ng] Resource Pool Management

XCP-ng is back and proving to be powerful! Today’s article will be a guide on how to set up Resource Pool on Xen-Orchestra to manage multiple servers in groups. From there, you will be able to use advanced features such as Live Migration, High Availability, …

1. Preparation required

In this article, I use 3 mini Lenovo M600, installed XCP-ng 8.2. If you do not have a physical server, you can create 3 XCP-ng virtual machines on Proxmox, Hyper-V or ESXi to perform.

  • Server 1: xcp-ng-16 (IP:
  • Server 2: xcp-ng-17 (IP:
  • Server 3: xcp-ng-18 (IP:

In addition, Xen-Orchestra must be installed and linked to the 3 XCP-ng servers above.

2. Add server to Pool

First, it is necessary to link 3 servers into the same pool – XCP-ng called Pool. Conditions for adding servers to the Pool:

  • The server is operating independently, not in any Pool.
  • The server does not use shared storage.
  • The server has no active virtual machines.
  • The server time must be synchronized the same (using NTP).
  • The server is configured with a static IP.
  • The server’s management NIC has no bonded settings.

My three servers are all brand new after installation, and added to Xen Orchetra should satisfy all of the above conditions.

Access the Pools section from the Home menu on the left.

By default, after being added to Xen Orchestra, each server will be in a separate Pool with the same name. For example, the xcp-ng-16 server is in the xcp-ng-16 pool.

Click on any 1 pool, then click the Add Host button to add another server to the same pool

Click to select the server to add to the Pool and click OK

Wait a few seconds for the system to make the link. Once done, I can click on the text next to the cloud icon to change the name to My Pool.

My Pool currently has 3 servers, a total of 24 GB RAM (8GB RAM each) and 3 virtual machines in operation.

In 3 servers in My Pool, server xcp-ng-16 is playing the role of Master, responsible for communicating with Xen-Orchestra and sending commands to other servers in the same Pool.

3. Remove server from Pool

If you need to remove a server from the pool, you need to shut down all VMs running on the respective server.

When a server is removed from the pool, all data on the hard drive is erased and restored to the original state it was in when installing XCP-ng. Therefore, before deleting the server from the Pool, you need to turn off all virtual machines that have virtual drives stored on them and copy them to another place (if you need to keep data).

Removing the server from the pool cannot be done on the Xen Orchestra interface, but needs to be done using the CLI command line.

SSH access to any server in the pool, type the command xe host-list to see the list of servers in the pool

uuid ( RO)                : e3cce885-f617-482e-b598-30a57df414a2
          name-label ( RW): xcp-ng-17
    name-description ( RW): Default install

uuid ( RO)                : 8e52ca30-dcc0-4b28-af8c-ab009d2d5f10
          name-label ( RW): xcp-ng-16
    name-description ( RW): Default install

uuid ( RO)                : edab6a91-4ea7-4adb-bdea-15c51e675d5f
          name-label ( RW): xcp-ng-18
    name-description ( RW): Default install

To remove a server from the pool, use the command xe pool-eject host-uuid=<uuid>. For example, I will delete xcp-ng-17 exit the pool with the following command

xe pool-eject host-uuid=e3cce885-f617-482e-b598-30a57df414a2

Due to the drive of xcp-ng-17 contains 2 VDI files, the system will notify that the data will be deleted, type yes To confirm.

WARNING: Ejecting a host from the pool will reinitialise that host's local SRs.
WARNING: Any data contained with the local SRs will be lost.
The following VDI objects will be destroyed:
VDI: 1507e793-04b5-49fe-a1dd-721ce6285833 (Ubuntu Focal Fossa 20.04_izelu)
VDI: 1544e0f7-467b-42cb-8bf7-ea57bcfcf6e6 (VyOS_umeka)
Type 'yes' to continue

I want to keep these files, so I have to access Xen Orchestra to move data to another storage area. Then retype the command xe pool-eject host-uuid=e3cce885-f617-482e-b598-30a57df414a2 and confirm yes

Server xcp-ng-17 will reboot and restore to the original state.

WARNING: Ejecting a host from the pool will reinitialise that host's local SRs.
WARNING: Any data contained with the local SRs will be lost.
Type 'yes' to continue
Specified host will attempt to restart as a master of a new pool in 10.000 seconds...

After that, it is necessary to go to Xen Orchestra to reconnect to the server xcp-ng-17.

Reference: Citrix

If my article has provided valuable insights and information to you, consider showing your appreciation with a virtual pat on the back or a kind message. Your encouragement will drive me to continue creating and sharing informative content. Thank you for taking the time to read!

Leave a Reply

Your email address will not be published. Required fields are marked *