では前述の説明に沿って、作成したvm02を使って、実際にXenホストAからXenホストBにライブマイグレーションする手順について解説します。なおiSCSI構成とNAS構成とで、ライブマイグレーションの手順に違いはありません。
ライブマイグレーションを実施する2台のホストサーバで、/etc/xen/xend-config.sxpファイルを編集する必要があります。
# vi /etc/xen/xend-config.sxp |
以下は、XenホストAでの設定です。この設定では、XenホストAがXenホストB(IPアドレス:172.20.192.35)に対してマイグレーションを許可しています。
(xend-relocation-server yes) |
xend-relocation-serverはマイグレーションの有効/無効を設定します。デフォルトでは「no」で設定されてコメントアウトしてあるので、#を外して「yes」を設定します。xend-relocation-hosts-allowはマイグレーション先として許可するホストを記述します。ホスト名またはIPアドレスを正規表現で指定します。
逆にXenホストBからAにマイグレーションする場合には、XenホストBの設定ファイルにXenホストAをマイグレーションできるよう設定を記述する必要があります。
なお、設定ファイルにはほかにもさまざまなパラメータがありますが、今回はマイグレーションに必要な最低限の項目のみ編集しています。
設定ファイルの変更が終わったら、変更内容を反映させるためにデーモンxendを再起動します。
# service xend restart |
次はいよいよライブマイグレーションの実行です。
ライブマイグレーションはxm migrateコマンドを使って行います。なお、この時点でマイグレーションの対象であるvm02はすでに起動済みであるものとします。
実行する前に、仮想マシンvm02で次のスクリプトを実行してみましょう。これは無限ループでdateコマンドを1秒ごとに実行します(停止するときはCtrl+Cを入力してください)。
# while true;do date; sleep 1; done |
また、XenホストAとBにてxm topコマンドを実行しておくことで、仮想マシンが移り変わるタイミングを見ることができます。
# xm top |
準備ができたら、XenホストAで次のコマンドを実行してみましょう。ライブマイグレーションが開始されます。
# xm migrate --live vm01 172.20.192.35 |
実行するとvm02でのdateコマンドの出力が一瞬止まりますが、vm02とのsshのセッションも切れずに出力を継続しています。実際の停止時間は数百ミリ秒程度であるため、アプリケーションに影響を与えることはありません。
ライブマイグレーションを実行すると、仮想マシンを停止させることなく稼働するホストを移行できるという利点がありますが、一方で注意しなければならないこともあります。
通常のマイグレーションでは、仮想マシンを一時停止し、ネットワークを介して移行元から移行先へメモリデータをコピーするため、一度のメモリコピーで済みます。しかしライブマイグレーションでは、稼働中の仮想マシンのメモリデータの差分コピーを繰り返すため、仮想マシンの負荷が高いときは、移行に時間がかかってしまいます。
また、マイグレーションにはTCPコネクションを使用するため、ネットワークの負荷が高くなります。サービス業務に影響を与えないためには、マイグレーション専用のネットワークを用意する必要があります。Xenホストには、サービス用・マイグレーション用・ストレージ用という3つのネットワークを構成することが理想的です。
今回はNFSのストレージを用いた仮想化環境の構築手順について解説してきました。これまでのストレージ構成を踏まえ、次回は構成ごとに仮想マシンのディスク性能を検証したいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.