我在 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
將為虛擬機器提供正確的關閉腳本。