问题:
安装 kvm 虚拟化并且安装客户机之后,通过 virsh shutdown 命令无法关闭客户机,只能通过 virsh destroy 进行强制关闭电源。虽然这也是一种方法,但是直接断电显然有点不妥,并且你并不知道何时会出现一些奇奇怪怪的问题。
在下图中我分别对客户机 centos6.5 和 hongxuecentos6.5 试图执行 virsh shutdown 进行正常关闭,输出信息为: Domain “client” is being shutdown,但是通过 virsh list –all 进行查看
解决方案:
shutdown使用发送acpi指令来控制虚拟机的电源,而KVM虚拟机安装linux系统时默认没有安装acpid服务,反以导致不能关闭虚拟机,需要安装acpid。
分别在两台虚拟机中安装 acpi 服务,并且开启 acpid 服务
等待acpid服务启动之后,即可通过 virsh shutdown 来正常关机。
acpid 介绍(以下内容来自百度百科):
ACPId服务是AdvancedConfigurationandPowerInterface缩写,acpid中的d则代表daemon。Acpid是一个用户空间的服务进程,它充当Linux内核与应用程序之间通信的接口,负责将kernel中的电源管理事件转发给应用程序。