Using Xen pools, you open the door to a lot of cool features, including high availability of VMs, migration of running VNs, and automatic placement of machines. Setting up the pool is pretty easy.
There are some requirements/recommendations for pool servers listed in the XenServer docs. For me, I’m using identical hardware, so the only weird thing I had to do was to unbond my private network interface on the server that’s going to be a slave. I’m not sure why this is a requirement, but it’s not a big deal since joining a pool will cause the slave to inherit the master’s networking configs (which will set bonding up again).
You have to pick a server to be the master. If that server dies, another server will pick up the leadership role, so I don’t think it matters much who will be the master. On the non-master (aka slave), run:
xe pool-join master-address=<host1> master-username=<administrators_username> master-password=<password>. The slave shouldn’t have any VMs running on it, and it will reboot when you issue that command. Once it’s back, you can run
xe host-list on the master and see the slave.
In my next post, I’ll show how to use pools to move a VM from one physical machine to another.