KVM可以在主机关闭时自动挂起或关闭来宾吗?


16

我们有一个CentOS 5.5 KVM主机,可在来宾上运行各种版本的CentOS以及以后的其他操作系统。

我们希望能够(a)在主机关闭时自动将ACPI关闭发送给所有来宾,或(b)将所有来宾挂起到磁盘。

是否有一种标准方法可以完成上述任一操作,还是属于自己的情况?谢谢!

Answers:


5

是。

virsh shutdown命令(或使用libvirt的“ shutdown”的其他实现,如中所示virt-manager)指示来宾OS彻底关闭。从手册页:

   shutdown domain-id

   Gracefully shuts down a domain.  This coordinates with the domain
   OS to perform graceful shutdown, so there is no guarantee that it
   will succeed, and may take a variable length of time depending on
   what services must be shutdown in the domain.

   The exact behavior of a domain when it shuts down is set by the
   on_shutdown parameter in the domain’s XML definition.

对于KVM,这应该发送一个ACPI system_powerdown事件。

在Fedora和RHEL 6中,一个libvirt-guests开箱即用的初始化脚本被配置为在系统关闭时挂起所有来宾。但是,它并不是特别神奇,因此可以将其复制到CentOS 5,而无需进行任何修改。


那是个好主意,我有一台Fedora机器,可以将其回移植到CentOS5。谢谢。
安德鲁·克莱格

我在doco 中看
Thiago Figueiro

嗯 是的,代码中也可疑地缺少了它。该libvirt-guests脚本实际执行的是运行virsh managedsave。(看起来可能只有UML驱动程序支持system_powerdown。)感谢您的关注!我将更新答案,并针对文档提出错误。
mattdm 2011年


0

据我所知,CentOS没有这样的标准脚本。可以进行编码,但有一点危险,因为您需要处理需要很长时间才能关闭的来宾。在超时后杀死它们会破坏数据,而等待它们会使您的关机挂起。

相反,最好在重新启动之前手动关闭来宾。有一段时间,我有一个脚本替换了shutdown和reboot。该脚本会警告我是否有任何正在运行的guest虚拟机(虚拟机列表中的简单lc),如果有正在运行的guest虚拟机,则会阻止该命令。


-2

KVM guest虚拟机只是用户空间进程。您应该有一些过程监控。最常见的似乎是libvirt(它是RedHat开发的,所以我认为它应该在CentOS上可用)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.