大家好,又见面了,我是你们的朋友全栈君。
virsh 可以通过 reboot、shutdown 来重启或关闭对应的虚拟机。由于其原理是host通过发送acpi指令来控制虚拟机的电源,如果guest 系统没有安装acpi服务器或该服务器没有启动,那么虚拟机将不会重启或关闭,那么只有使用destroy 来强制关闭。
安装 acpid 服务
centos 系统
yum install acpid
ubuntu 系统
apt-get install acpid
开机自动启动
chkconfig acpid on
启动服务
/etc/init.d/acpid start
如果启动acpid服务报错,那么需要重启guest 系统。
另一种文章
1 命令行virsh reboot vm-name
kvm目前仍不支持reboot命令,’reboot’ is not supported by the hypervisor
2 虚拟机内部重启操作不成功,状态为关机,重启失败。
原因配置文件中:
……
destroy
restart
destroy
……
其中选项设置为restart则表示在虚拟机内部执行reboot但不关机, 如果设置为destroy则表示执行reboot命令后直接关机。
更多参数设置可参考liibvirt官网http://libvirt.org/drvqemu.html#xmlconfig
3 kvm环境下可以使用shutdown命令让虚拟机关机,但不生效。
virsh shutdown vm-name
由于关机通过acpi电源管理接口来实现的
3.1 首先配置文件里需要有这个选项
3.2 虚拟机内部需要有acpi服务并运行
Windowns的虚拟机一般情况是默认已安装且运行的
linux虚拟机例如Ubuntu虚拟机如果没有安装acpi服务,
先执行apt-get install acpid进行安装并启动该服务,即可让虚拟机响应shutdown命令
依此方法通过ubuntu server 10.04.2,redhat6.0企业版,windows xp sp3 ,windows server2003操作系统进行验证均可以实现自然关机。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169812.html原文链接:https://javaforall.cn