配置libvirt在关机时自动休眠虚拟机

Ubuntu 20.04系统安装libvirt-daemon-system后,宿主机关机时会自动关闭所有的虚拟机。通过修改配置文件/etc/default/libvirt-guests,可以调整该行为(如将关机改为休眠、调整超时时间、允许并行关机等)。

libvirt通过服务libvirt-guests.service实现在关机时自动关闭虚拟机。阅读其服务定义文件/lib/systemd/system/libvirt-guests.service发现,该服务的启动和停止脚本分别定义为:

ExecStart=/usr/lib/libvirt/libvirt-guests.sh start
ExecStop=/usr/lib/libvirt/libvirt-guests.sh stop

观察启动脚本文件libvirt-guests.sh,发现其通过/etc/default/libvirt-guests文件来读取配置。因此,调整该配置文件中的参数即可调整相关行为,相关参数均在注释中有详细说明。若要让libvirt在宿主机关机时休眠而不是关闭虚拟机,只需将ON_SHUTDOWN参数设为suspend即可。