 |
|
前のページ 1 2 3 次のページ
|
 |
仮想マシンの停止
|
仮想マシンを停止させるには、virsh shutdownコマンドかvirsh destroyコマンドを実行します。前者は仮想マシンに対してシャットダウン要求を行います。後者は仮想マシンの処理を待たずに強制的に終了します。通常は前者のvirsh shutdownコマンドを使ったほうがよいでしょう。
# virsh shutdown rhel5
|
仮想マシンの起動のタイムアウト
|
実際の運用時には起動しなかった時のフローを考えなければなりません。UPSと連携した自動起動を実現したい時などは簡単なスクリプトの作成が必要になる場合があります。今回紹介したvirshコマンドを使って仮想マシンの起動にタイムアウトを実装する必要があります。
このような場合「仮想マシンを起動し、ネットワークの疎通が取れるまで待つ。起動が10分(600秒)以内に行われなかった場合はタイムアウトとする」という運用要件が定義されることでしょう。これはvirshコマンドとpingコマンド、dateコマンドをうまく組み合わせることで実現することができます(スクリプト1)。
スクリプト1 sample1.sh
#!/bin/bash
VMNAME=rhel5
IPADDRESS=192.168.0.100
VMFILE=/etc/xen/rhel5.xml
TIMEOUT=600
STATE=1
virsh create $VMFILE > /dev/null 2>&1
rc=$?
[ $rc -ne 0 ] && exit $STATE
before=$(date +%s)
now=$(date +%s)
while [ $((now - before)) -le $TIMEOUT ]
do
ping -c 1 $IPADDRESS > /dev/null 2>&1
rc=$?
if [ $rc -eq 0 ]; then
STATE=0
break
fi
now=$(date +%s)
done
exit $STATE
このスクリプトのポイントとしてはpingコマンドを失敗した場合に0以外の戻り値を返すという点です。dateコマンドで算出した時間の差を使い600秒間処理を繰り返します。
|
仮想マシンを順番に起動する
|
仮想マシン上にデータベースサーバとWebサーバがある場合、Webサーバが先に立ち上がってしまうとデータベースエラーになることがあります。よって仮想マシンを順番に起動する必要があります。
このような場合、「仮想マシンを起動し、ネットワークの疎通が取れるまで待ち、次の仮想マシンを起動する。起動が10分(600秒)以内に行われなかった場合はタイムアウトとする」という運用要件が定義されることでしょう。
スクリプト1を少し改造し、virshコマンドをもう1つ追加することでうまく実現することができます(スクリプト2)。
スクリプト2 sample2.sh
#!/bin/bash
VMNAME1=dbserver
IPADDRESS1=192.168.0.101
VMFILE1=/etc/xen/dbserver.xml
VMNAME2=webserver
IPADDRESS2=192.168.0.102
VMFILE2=/etc/xen/webserver.xml
TIMEOUT=600
STATE=1
virsh create $VMFILE1 > /dev/null 2>&1
rc=$?
[ $rc -ne 0 ] && exit $STATE
before=$(date +%s)
now=$(date +%s)
while [ $((now - before)) -le $TIMEOUT ]
do
ping -c 1 $IPADDRESS1 > /dev/null 2>&1
rc=$?
if [ $rc -eq 0 ]; then
STATE=0
break
fi
now=$(date +%s)
done
[ $STATE -ne 0 ] && exit $STATE
virsh create $VMFILE2 > /dev/null 2>&1
STATE=$?
exit $STATE
さらにこのスクリプトを改造することで、起動に失敗した際にメールでエラーを報告するというスクリプトを作成することもできます。
|
前のページ 1 2 3 次のページ
|

|
|

|
著者プロフィール
日本ヒューレット・パッカード株式会社 平 初
テクニカルセールスサポート統括本部 ESSビジネス推進本部 Bladeビジネス推進部 BladeSystem SWAT 仮想化技術を啓蒙するため、2006年に日本ヒューレット・パッカードへ転職。いつもはHP BladeSystem c-Classおよび仮想化技術を含む提案支援を主に扱っている。セミナーや客先訪問で忙しい毎日を送っている。
|
|
|
|