More adventures in XenServer land!
So my customer is retiring a number of old servers, one of them being a DNS server. As part of the decomissioning process, I'm changing the IP settings of some of the hard-coded hosts to point to the IP of the new DNS server. Sounds simple, right?
:bigdumbgrin:
Here's the command to change the DNS settings on a XenServer host:
Code:
xe pif-reconfigure-ip uuid=<pif_uuid> mode=static DNS=<new_dns_ip>
Oh, and here's a little note from Citrix's documentation:
Caution should be used when changing the IP address of a server, and other networking parameters. Depending upon the network topology and the change being made, connections to network storage may be lost. If this happens the storage must be replugged using the Repair Storage function in XenCenter, or the pbd-plug command using the CLI. For this reason, it may be advisable to migrate VMs away from the server before changing its IP configuration.
(BTW, XenServer's iSCSI storage support is hilariously bad, but that's a topic for another time.)
I picked a lightly-used XenServer host in the pool as a testbed and put it into maintenance mode, which went smoothly. Then I ran the command, and..... nothing happened. The command appeared to succeed, but xsconsole and /etc/resolve.conf still showed the old DNS server entries. A quick Google search on how to change a DNS server address in XenServer showed that I'm performing the correct procedure, but in order for the change to take effect, the XenServer host has to be rebooted. Really?
I wasn't about to disrupt the health of the XenServer pool by rebooting hosts, so I figured I'd push this off until the next downtime window (the old DNS server will still be operational until then). I tried to take the host out of maintenance mode, and received the following error:
This operation cannot be performed because HA would no longer be guaranteed for this pool. To perform this operation, you must disable or reconfigure HA.
To put this message in perspective, consider the following:
- I have so much spare memory capacity in my XenServer hosts that a single host can run all of my VMs, and still have 25% of its memory available
- I have multiple hosts in this pool that are not in maintenance mode, have plenty of memory for additional VMs, and are capable of performing live migrations
- I'm adding capacity to my pool, not removing anything
- This server was just in the pool, hosting VMs
The solution? I had to disable HA, take the host out of maintenance mode, restore the VMs it was running, and re-enable HA again. Apparently, Citrix doesn't quite understand what HA is supposed to do.
:facepalm:
I cannot wait to get away from this sorry excuse of a hypervisor.