Hyper-V 2.0のLive Migration――仮想マシンはクラスタの夢を見るか?:Tech・Ed 2009 Session Report
会期中、開発者やシステム管理者向けに各種テクニカルセッションが行われるTech・Ed 2009。本稿では「仮想マシンはクラスタの夢を見るか?」と題されたセッションでマイクロソフトにより紹介された、Hyper-V 2.0のLive Migrationについて解説する。
今や、サーバの高可用性を実現するテクノロジーとして、仮想サーバ技術やクラスタ化は当然のものとして認識されている。昨年、Windows Server 2008とともにリリースされたHyper-Vは、Windowsプラットフォームで実現する仮想化技術として注目されているが、いよいよ出荷段階に入ったWindows Server 2008 R2に搭載されるHyper-V 2.0は、クラスタ環境で仮想サーバを構築する場合になくてはならないものとなる。
クラスタ上に仮想サーバを構築するのは、もちろんサーバの可用性を高めるためだ。つまり、サーバのダウンタイムを限りなくなくし、負荷分散を行うことが目的となる。
複数のクラスタ化されたホストマシン群を使うことで、ホストマシン群を1つの大きなホストマシンとして使用でき、いずれかのホストマシン(ノード)に何らかの不具合を検知したり、ノードをメンテナンスするといった場合、あるノードで稼働している仮想マシンを、別のノードに移動させることで、仮想サーバを連続してシームレスに稼働させられる。
同様に、ホストマシンがクラスタ化されていれば、いずれかのノードの負荷が高くなった場合に、パフォーマンスを必要とする仮想サーバを、余裕のあるノードに移動させることで、負荷分散できる。
Hyper-V 1.0に見られた限界
Windowsプラットフォームでは、Windows Server 2008のフェイルオーバークラスタ機能とHyper-Vを使用することで、クラスタ上に仮想サーバを構築できた。ただし、連続して仮想サーバを稼働させることは難しい事情があった。
なぜなら、仮想サーバをノード間で移動する際に使われるQuick Migrationでは、連続稼働できなかったからだ。無視できないダウンタイムが発生してしまうのである。
Quick Migrationの動きは次のようなものだ。
- 元ノード上の仮想サーバのメモリ内容を、クライアントマシンのハイバネーションのような形で、すべて共有ディスクに書き出す
- 共有ディスクの所有権を新ノードに移す
- 新ノード上で共有ディスクに書かれた仮想サーバのメモリ内容を読み出し、ハイバネーションからの復帰のように、仮想サーバを復帰させる
このやり方だと、元ノードで仮想サーバのメモリ内容を共有ディスクに書き出し始めてから、新ノードで読み出し終わるまで、仮想サーバの動作が止まってしまう。つまり、ダウンタイムが発生してしまう。
Hyper-V 2.0が実現する連続稼働
ところが、Windows Server 2008 R2に搭載されるHyper-V 2.0では、ダウンタイムなしで仮想サーバを移動できるようになる。これがLive Migrationだ。
Hyper-V 1.0のQuick Migrationでは、前述したように、仮想サーバをノード間で移動させる際に、仮想サーバのメモリ内容をいったん共有ディスクに書きだしていたが、Hyper-V 2.0のLive Migrationでは、仮想サーバのメモリ内容を、直接ノード間で移動させる。
Hyper-V 1.0におけるQuick Migrationに対し、Live Migrationの動きは次のようなものだ。
- 元ノード上の仮想サーバのメモリ内容を、稼働させたままの状態で新ノードに転送。もちろん、稼働したままなので、一通り転送が終わった時点で、変更されてしまったメモリ(ダーティーメモリ)が発生する。そのため、ダーティーメモリが少なくなるまで、メモリの転送を繰り返す
- ある程度(ほぼ一瞬で転送が終わる程度に)ダーティーメモリが少なくなったところで、元ノードの仮想サーバを停止する
- 残りのダーティメモリと仮想サーバの状態(CPUのレジスタやビデオメモリなど)を新ノードに転送する
- 新ノードで仮想サーバを再開する
この方法であれば、仮想サーバの動作が止まるのは、「3」のタイミングだけである。実際には、ほんの一瞬だけだ。Tech Ed Japan 2009のセッション会場で行われたデモにおいても、ブラックアウトは1、2秒程度であった。
もちろん、このブラックアウト時間は環境に依存する。ノード間における仮想サーバのメモリ移動は、ネットワークを通じて行われるため、ネットワークが遅いとブラックアウト時間も延びてしまう。
それにしても、まさに「気付くかどうか」の一瞬のブラックアウトだけで、仮想サーバをノード間で移動できるのだから、これこそ「本当の」クラスタ化仮想サーバといえるだろう。
仮想サーバの有用性が認識されていながら、実際にはユーザー内に普及したとは言い難い現状だが、Hyper-V 2.0の登場で、Windowsプラットフォームにおける仮想化に弾みがつくことが期待される。
企業向け情報を集約した「ITmedia エンタープライズ」も併せてチェック
関連記事
- 【キーノート速報】新Windowsのローンチに自信を見せるMS
マイクロソフトの年次テクニカルカンファレンス「Tech・Ed」が開幕。初日の朝は基調講演が行われ、Windows 7、Windows Server 2008 R2、Office Web Appsなどの最新事情が披露された――。
Copyright © ITmedia, Inc. All Rights Reserved.