Currently I manually poweroff each KVM guest before rebooting the host. However, this is getting old and now I am up to about 20 guest machines.
Can I trust Ubuntu Server 12.04 to do the Right Thing and hold off on completing a shutdown until the last KVM client is off?
Alternatively is there an easier way to shut all the guests off gracefully?
virsh
command, I'm looking for something more out-of-the-box. According to this launchpad bug, it may already Just Work: bugs.launchpad.net/ubuntu/+source/kvm/+bug/350936libvirt-guests
which takes care of this automatically, but for whatever reason, Ubuntu doesn't include this script in their package. launchpad.net/ubuntu/+source/libvirt/0.9.8-2ubuntu1/etc/init/libvirt-bin
it appears that the necessary code is in there to do this. I just completed a test run and it did work, but I needed to increase the timeout that was in that file from 30 seconds to 2 minutes./etc/init/libvirt-bin.conf
is ONLY 30 seconds. Checking the code I see this isn't even per VM, it is total. I've seen a physical (non-VM) production server that take 15min to shutdown on new fast hardware after a fresh install and databases restored. My Work's current main VM server takes nearly 10mins to shutdown due to the 30VMs with multiple databases etc.