关闭所有正在运行的虚拟机并再次启动自动启动计算机

时间:2017-12-02 13:20:53

标签: linux ubuntu kvm

我想创建一个简单的备份脚本来关闭所有正在运行的VM,然后复制图像文件并再次启动VM'S。听起来很简单,但是当我关闭一个VM(使用“virsh shutdown VMNAME”)时,脚本不会等待完全关闭。我可以停止KVM服务,导致所有VM关闭,复制VM文件并重新启动。这样只启动自动启动VM。听起来像停止MySQL / MariaDB,备份文件并重新启动它。人们可能会建议LVM快照,现在这台服务器是不可能的。

1 个答案:

答案 0 :(得分:0)

“virsh shutdown”向客户端操作系统发送关闭命令,客户端操作系统可能(或可能不)实际关闭客户端。 “virsh destroy”类似地向客户端发送断电信号,但是未处于正常状态的客户端(例如,等待NFS卸载或有问题的磁盘同步)仍然不会关闭。

我发现保证客户端关闭的唯一方法是重启KVM父级,等待任何KVM状态恢复,并立即关闭所有正在运行的客户端。此时,您可以执行qemu-img备份或快照,然后重新启动客户端

我没有尝试过“virsh suspend”命令(只是仔细研究了这个答案) - 这可能对我的类似问题有帮助。