第1回 Hyper-V 2.0のライブ・マイグレーションの基礎知識:Hyper-V 2.0実践ライブ・マイグレーション術(5/5 ページ)
Hyper-V 2.0の「ライブ・マイグレーション」の基礎から構築、運用までを解説。クイック・マイグレーションとの違いとは?
最後に、ライブ・マイグレーションの一連の動作を流れに沿って説明していこう。
ライブ・マイグレーションの動作
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くらい」といった、性能や実運用に則したノウハウも理解しておかないと稼働開始後につまずいてしまうためだ。
次回は、本番環境を意識したライブ・マイグレーションの設計のポイントについて解説していく予定である。
Copyright© Digital Advantage Corp. All Rights Reserved.