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