On Thu, 4 May 2017 12:55:03 +0100 Sebastian Arcus <s.ar...@open-t.co.uk> wrote:
> I have a small change to suggest for the /etc/rc.d/rc.libvirt script. > The script at the moment does a 'virsh shutdown <vm-name>' on all > running guests, and then, after waiting only 40 seconds, it destroys > all guests which are still running. I think in most circumstances > this is very likely to lead to corrupted guests because: > > 1. Many guests will take longer than 40 seconds to shutdown, > specially if they are Windows guests. > 2. Some Windows guests might be trying to install updates on > shutdown, which can take 10, 20 or even 60 minutes. > 3. If there are a number of guests running and the host is busy > trying to shut them all down at the same time, even Linux guests will > still be in the process of shutting down after 40 seconds. > 4. If it is a setup where users connect to guests remotely, it is > possible that people are in the middle of doing work which would be > lost. > > Would it maybe be safer to do a 'virsh managedsave <vm-name>' on > every running guest instead? I can see many advantages to this > option, including: > > 1. It is much less likely for users who might use the guests remotely > to loose work, as the machine state is suspended. > > 2. Guests stopped with 'managedsave' will start fine with the 'start' > command - so no need to change any settings anywhere else, and the > 'autostart' feature of libvirt will continue to work fine. > > 2. On my server, the 'managedsave' operation takes around 20 seconds > per guest, and it is more predictable in duration than a 'shutdown', > which depends on the OS in the guest, if it is installing updates etc. > > 4. The 'managedsave' command doesn't return immediately, so we can > wait for each guest in turn and know when it is done. Or ampersand > could be used on the command, and then just do a looped check on > 'virsh list' lower down, waiting for the 'managedsave' on all guests > to finish. > > 5. If my understanding is correct, the 'shutdown' command depends on > the guest implementing correctly and acting on ACPI commands, while a > 'managedsave' seems to be under the complete control of libvirt - > which means the script would work correctly out of the box with a > much wider variety of OS's and configurations on the guest side. > > If necessary, I suppose the script could also implement a > 'reboot_guests' separate command, for people to use it to reboot all > running guests - as the "stop" command wouldn't be performing a full > shutdown any more. > > Just a suggestion in case it helps. I'm already very happy with the > current script, as I used to have to write my own to shutdown > kvm/qemu guests :-) This seems like a reasonable change. Can you push it to a git repo/branch somewhere and send me a link, or else send me a patch(set) to merge? -RW
pgpKqOfT8DEDg.pgp
Description: OpenPGP digital signature
_______________________________________________ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org http://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/