What's the recommended way to reboot after applying XCP-ng patches?
-
@DustinB RPU isn't available in this case because the VDI aren't on shared storage.
-
@Danp said in What's the recommended way to reboot after applying XCP-ng patches?:
@DustinB RPU isn't available in this case because the VDI aren't on shared storage.
Oh, missed that ha... without Shared Storage you'd have to shut down those VMs, update the master manually, reboot it, then patch each host individually and reboot them individually
-
Technically, you can still perform the
Install pool patches
option to update all hosts at the same time. Then you should reboot the pool master, followed by the other pool members.The issue is that rebooting any host or restarting the toolstack on any host will cause the VMs to start back up if they have the
Auto power on
option enabled.@CodeMercenary You can disable each host in it's Advanced tab in XO, which will prevent these VMs from restarting during the patching process.
Just be sure to enable the hosts once the patching is completed.
-
D Danp marked this topic as a question on
-
@Danp So it sounds like there isn't much of a way to do this cleaner than I currently do. Patching doesn't happen very often so it's not a big deal to me if it's annoying, I just wanted to make sure I wasn't missing something that would make it easier. Would be nice not to have to manually disable autostart but I could always automate turning it off and back on using the cli and a tag if that's what I need to do.
Yesterday I did use
Install Pool Patches
which was quite nice and worked beautifully.I guess the question is, if I tell a host to reboot and it has running VMs and there is no shared storage, what does it do with the VMs? Will it try to manually migrate them by copying hundreds of GB to another host? Will it shut them down cleanly if they have the management tools installed? Will it poke the VM's virtual power button to shut itself down if the VM doesn't have management tools installed?
In other words, can I just
Install Pool Patches
and then reboot the hosts starting with the master if I don't care if the VMs are shut down? Our office is small and we don't have any VMs that must run 24/7 with absolutely no downtime so I don't mind having the VM down during a reboot if it's outside office hours. -
I normally install uptades on the pool master, shutdown VMs, reboot. Then i do the same procedure on pool members.
-
@CodeMercenary said in What's the recommended way to reboot after applying XCP-ng patches?:
In other words, can I just Install Pool Patches and then reboot the hosts starting with the master if I don't care if the VMs are shut down?
Yes
-
@CodeMercenary Just adding my two cents - for what it's worth.
I have a single node pool that I run at my church (about to add a second host this weekend). However, I have found great success by just going to
Advanced > Smart Reboot
. I, too, don't have shared storage and I've found that this halts all the VMs and does a clean reboot. However, it only restarts the XO VM, so all other VMs must be resumed/started manually (something I've found to not be a problem to do).Hope this helps ya, thanks.
-
@kagbasi-ngc Oh, that's quite interesting. I have less than a dozen VMs that I consider production so it's not a big deal to start them manually. I've thought about putting the host into maintenance mode while doing this but my main XO instance is on one of those hosts. I do have an XO instance running in a VM on my UNRAID host just so I have a way to recover if one of the XCP hosted instances don't run.
I'll have to try the smart reboot, that's a great tip, thank you.
I've thought about offering to help our church with computer stuff but there's already a guy that handles it and I don't know if I want to go down that rabbit hole. He seems to do a good job but I don't think he's as technical as I am and I doubt he has server experience.
-
With the newest patches I decided to try the way you guys suggested. Install Pool Patches followed by Rolling Pool Reboot.
The Rolling Pool Reboot gives me an error:
CANNOT_EVACUATE_HOST(VM_REQUIRES_SR:<OpaqueRef guid list>
So, it appears that I can't use that when I'm running local storage. I tried just rebooting the master and got the same error.
Shutting down all the VMs first allowed me to use the Rolling Pool Reboot. That's still better than my prior attempts. I only have about a dozen VMs running on three servers so it's not a huge deal to shut them down individually. However, it rebooted the master then rebooted one of the other hosts, then when it tried to reboot the third host I got the
CANNOT_EVACUATE_HOST
error again because the master had restarted all the VMs on the third host.I think I'll just need to install the patches on the pool, disable all the hosts, reboot the pool then enable the hosts again. That's probably the smoothest method without having shared storage.
-
@CodeMercenary said in What's the recommended way to reboot after applying XCP-ng patches?:
So, it appears that I can't use that when I'm running local storage.
Yeah using local storage non-shared on your host poses a ton of challenges, basically you would need to shutdown your VMs put your secondary hosts into maintenance mode and then reboot the environment, starting with the pool master.
-
@DustinB Yeah, that's what I will try to remember to do next time. This is still worlds easier for me than trying to keep my ESXi hosts up to date was back when I used them. So very much better than that. I very rarely updated those at all.