The attached file updates libvirt-bin's upstart job to gracefully shut down VMs when the system shuts down. You can alter the shutdown timeout (SHUTDOWN_TIMEOUT, default: 300s) and list of virsh(1) URIs to use (URIS, default: "qemu:///system") in /etc/default/libvirt-bin.
You'll also need the omit-kvm-vm-pids init script (attachment forthcoming), which copies the KVM pidfiles to /lib/init/rw/sendsigs.omit.d, preventing /etc/init.d/sendsigs from killing KVM VM processes before the updated libvirt-bin upstart job shuts them down. Finally, this modified upstart job requires the fix for https://bugs.launchpad.net/ubuntu/+source/sysvinit/+bug/639940. Otherwise, the libvirt-bin pre-stop script isn't guaranteed to finish successfully, since sendsigs races the child processes executed during the course of the job script. With all of these changes, VMs shut down gracefully with the physical host. I would have implemented suspend-on-shutdown (a la the rc script from libvirt 0.8.2), but lucid has an older libvirt that doesn't support 'virsh managedsave'. Shutting down domains gets us *a lot* of the way there, anyway. In fact, I run some largeish KVM hosts, and saving 30-60GB of memory images to disk before shutdown strikes me as less useful than shutting the domains down. sudo service stop libvirt-bin sudo cp libvirt-bin.conf /etc/init/ sudo kill -HUP 1 sudo service start libvirt-bin sudo cp omit-kvm-vm-pids /etc/init.d/ sudo update-rc.d omit-kvm-vm-pids defaults sudo cp -f sendsigs /etc/init.d/ # get fixed sendsigs from LP#639940 ** Attachment added: "Stop libvirt VMs gracefully on system shutdown" https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/350936/+attachment/1599109/+files/libvirt-bin.conf -- Should shut down domains on system shutdown https://bugs.launchpad.net/bugs/350936 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs