XENが終了すると、すべての仮想マシンを停止します。

XENが終了すると、すべての仮想マシンを停止します。

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に接続しますが、起動、シャットダウン、ネットワークインターフェイス、簡単なインストールインターフェイスなどのタスクを自動化しますxmxl追加の抽象化レイヤを使用することによる長所と短所は、CentOS(およびRHEL)のデフォルトであるデフォルトのKVM仮想化に近いシステムを使用することによって補償されます。

libvirtを使用すると、デフォルトのシャットダウン動作は "hang"になり、これは現在このソフトウェアの組み合わせではサポートされていません。/etc/sysconfig/libvirt-guests設定を変更すると、ON_SHUTDOWN=shutdown仮想マシンの正しい終了スクリプトが提供されます。

関連情報