我在 CentOS 6.5 64 上使用 XEN 我想要一种在 XEN 服务器关闭时停止所有虚拟机的方法 我在停止中构建服务调用xm shutdown -a
但不工作
#!/bin/bash
# chkconfig: 2345 95 20
# description:
# processname:
stop()
{
/usr/sbin/xm shutdown -a
while [[ true ]]; do
if [[ `virsh list|wc -l` == 4 ]]; then
break
fi
sleep 1
done
}
case "$1" in
stop)
stop
;;
*)
echo $"Usage: $prog {stop}"
esac
答案1
如果您使用 Xen4CentOS 我建议使用库虚拟机。尽管它使用 xen 驱动程序与dom0 连接,而不是专用接口,但它会自动执行启动、关闭、网络接口和简单安装界面等操作xm
。xl
使用额外抽象层的权衡是通过拥有一个更接近默认 KVM 虚拟化(CentOS(和 RHEL)中默认设置)的系统来补偿的。
使用 libvirt 时,默认关闭操作将为“挂起”,目前该软件组合不支持该操作。更改/etc/sysconfig/libvirt-guests
设置ON_SHUTDOWN=shutdown
将为虚拟机提供正确的关闭脚本。