連載
» 2009年12月16日 00時00分 公開

Hyper-V 2.0実践ライブ・マイグレーション術:第1回 Hyper-V 2.0のライブ・マイグレーションの基礎知識 (5/5)

[小川大地,日本ヒューレット・パッカード株式会社]
前のページへ 1|2|3|4|5       

 最後に、ライブ・マイグレーションの一連の動作を流れに沿って説明していこう。

ライブ・マイグレーションの動作

ライブ・マイグレーションの動作イメージ
ライブ・マイグレーションの処理プロセスは、6つのステップに大別できる。

1. 構成要件のチェック
 ライブ・マイグレーションを指示すると、最初にライブ・マイグレーション可能な構成であるかどうか、以下のような構成チェックが行われる。要件に満たない場合は、ここでエラー終了となる。

  • ライブ・マイグレーション用のネットワークが設定されているか
  • 移動元と移動先それぞれのホストのプロセッサに互換性があるか
  • 対象の仮想マシンを稼働させるのに必要な空きメモリが移動先ホストにあるか
  • など

2. 移動先ホストで仮想マシンを構成
 移動先ホストにおいて、仮想マシンの枠組みを構成する。具体的には、仮想マシンのメモリ領域を確保し、メモリ内容の転送を受け入れる準備などが行われる。

3. メモリ内容のコピー
 移動対象となる仮想マシンのメモリ内容を移動先ホストへネットワーク経由でコピーする。

 ただし、仮想マシンはまだ動作中であるため、この間もメモリ内容は随時変更されてしまう。コピー中に変更が行われたブロックについては、一通りのコピーが完了した後に差分ブロックを再転送する。そして、またこの間に変更が行われた場合はそのブロックを再転送するといったように、移動元と移動先が同期するまでブロック単位のコピーを繰り返していく。

メモリ内容のコピー
コピー中も仮想マシンは移動元で動作しているため、メモリ内容は随時書き替わっていく。差分転送を繰り返し、メモリ内容が同期されると次のステップに進む。

4. 仮想マシンのサスペンド
 メモリ内容が同期すると、即座に仮想マシンのフリーズを行う。これにより、仮想マシンの動作が止まり、VHDファイルへのディスクI/Oも停止する。

5. 仮想マシンのリジューム
 メモリ内容の受け取りが完了し、VHDファイルも引き継げる状態となったため、移動先のホストで仮想マシンを再開する。CSVを利用しているため、クイック・マイグレーションのような共有ディスクの所有権変更は行わない。

 また、同時にネットワーク・スイッチに対してMACアドレス・テーブルの更新を促す。これにより、仮想マシンのMACアドレスをあて先とするパケットは、きちんと移動先ホストへ向かうようになるのだ。ライブ・マイグレーションではIPアドレスはもちろん、仮想マシンのMACアドレスも引き継がれるため、クライアント側であて先変更などの作業は一切必要ない。

6. 移動元ホスト上で仮想マシンを削除する
 ネットワーク・パケットが正しく移動先ホストに届くようになれば、クライアントとの通信も再開される。移動元ホストに残った、仮想マシンのメモリ・データを削除して、ライブ・マイグレーションは完了だ。

ライブ・マイグレーションのダウンタイム

 前述したライブ・マイグレーションの動作では、処理中に仮想マシンのサスペンドとリジュームが行われると説明した。つまり、ライブ・マイグレーションであってもダウンタイムは生じるということになる。

 しかし、ダウンタイムといっても、ほんの一瞬止まる程度である。実際にpingコマンドで確認しても通常は1〜3回落ちる程度だ。これくらいの瞬断であれば、クライアント上のアプリケーションがタイムアウトを起こすことはないだろう。ただし、ホスト全体が非常に高負荷の場合は、CPUパワーをライブ・マイグレーションに集中させることができず、それぞれのステップに時間を要してしまう。このような場合は、アプリケーションへの影響も考えられるため、ライブ・マイグレーションの実行を避けるべきだろう。

 なお、この微小なダウンタイムはHyper-V 2.0特有のものではなく、VMotionやXenMotionなどの他社製品でも同様に発生する。

クライアントから見たライブ・マイグレーションのダウンタイム(左画面:通常時、右画面:高負荷時)
ライブ・マイグレーション中の仮想マシンに対してpingを連続で実行したところ。ホスト全体が高負荷の場合(右側画面)、pingの応答が何回か連続で戻ってこない。アプリケーションに影響が生じることも考えられるため、ホストが高負荷の場合は実行を避けた方がよいだろう。また、この瞬断はHyper-Vだけでなく、VMotionやXenMotionなどでも同様に発生する。

ライブ・マイグレーションの所要時間

 最後に、ライブ・マイグレーションの所要時間について説明しておこう。

 ここまでの解説のとおり、ライブ・マイグレーションは、ダウンタイムこそ一瞬であるが、開始後すぐに移動が完了するわけではない。メモリ・データのネットワーク・コピーなども行われるため、全体の所要時間はアイドル時でも数十秒〜数分はかかると見た方がよいだろう。

 実際には、所要時間のほとんどをメモリ・データのコピーが占めている。仮想マシンに割り当てたメモリが多ければ多いほど時間がかかるのだが、このあたりはクイック・マイグレーションと共通の挙動である。

ライブ・マイグレーションの所要時間
実際の所要時間のほとんどが「メモリ内容のコピー」処理だ。

 ライブ・マイグレーションは複雑な処理であるため、長引かせるのはよくない。管理者としてはできるだけ早く終わってほしいはずだ。業務に制約を与えずに所要時間を短くするには、メモリ・データの転送に利用するネットワークの帯域を太くすればよい。この部分の推奨要件は1Gbits/sであるが、本番環境ではNICチーミングなどを利用して2Gbits/sは用意した方がよいだろう。


 本稿では、ライブ・マイグレーションの仕組みについて、理解がより深まるよう、このような仕組みになった理由や背景も含めて体系的に解説した。しかし、ライブ・マイグレーションを活用した仮想化システムを実際に設計・構築するには、こういった知識だけではまだ不十分である。「メモリ転送用のネットワークは2Gbits/sくらい」といった、性能や実運用に則したノウハウも理解しておかないと稼働開始後につまずいてしまうためだ。

 次回は、本番環境を意識したライブ・マイグレーションの設計のポイントについて解説していく予定である。


「[運用] Hyper-V 2.0実践ライブ・マイグレーション術」のインデックス

[運用] Hyper-V 2.0実践ライブ・マイグレーション術

前のページへ 1|2|3|4|5       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。