Windows Server 2008の仮想化
止まらない仮想サーバの仕組み
仮想サーバのソリューションは柔軟性や拡張性が目を引きますが、ITの重要性を考えるならば、仮想化と同時にシステムが止まらないような工夫も必要になってきます。そのような止まらない仮想サーバ環境という要件に対しては、Windows Server 2008が持つフェールオーバクラスタリング(Microsoft Cluster Services:MSCSの後継)機能とHyper-Vを組み合わせて利用することができます。
フェールオーバクラスタリングは、「機械は故障するもの」ということを前提に、物理サーバの故障時などにほかの物理サーバに処理を引き継ぐ(フェールオーバ)機能で、Hyper-Vと組み合わせることで仮想サーバをフェールオーバ対象に指定することができます。
フェールオーバが行われると、瞬間的な遅延は発生したとしても、ネットワーク経由で接続するユーザはサーバのダウンを意識することなく継続的にアプリケーションを利用することができます。
この機能はQuick Migrationと呼ばれ、物理サーバがダウンしなくても意図的にほかのマシンへフェールオーバさせることもできるため、障害対策に加えて、物理マシンのメンテナンス時に利用するといった用途も考えられます。
このような機能により、サービスレベルに対する要求が厳しいシステムであっても仮想環境が利用できる準備は整っています。
Hyper-Vの上で動かせるOS
Virtual Serverはハードウェアエミュレーションと呼ばれる仕組みを使っているため、仮想サーバが利用する仮想ハードウェアのスペックは固定でした。CPUへのリソース配分の調整やメモリ容量の設定はしていましたが、どのような物理サーバを利用しようと仮想サーバからすれば同じハードウェアだった訳です。
Hyper-Vでのドライバ管理は、Hyper-Vの役割(機能)を追加したWindows Server 2008 x64上で行われ、各仮想サーバはWindows Server 2008のドライバをそのまま利用します。
この仕組みを実現するためには、ドライバの管理をしているサーバと仮想サーバとの間で通信をする必要があるため、仮想サーバには統合コンポーネント(技術文書ではIntegration Services:ICと略されていることもある)をインストールして、専用の通信経路を構築します。
さて、現時点では、この統合コンポーネントがサポートするOSはWindows Server 2008、Windows Server 2003 SP2以降と一部のクライアントOSに限定されています(最新の情報はHyper-VサポートOSのWebサイト(http://www.microsoft.com/windowsserver2008/en/us/hyperv-supported-guest-os.aspx)をご覧ください)。
Hyper-Vもハードウェアエミュレーションの機能によってほかのOSを動作させることは可能ですが、Hyper-Vが持つパワーを活かすには統合コンポーネントの存在を理解しておくことが重要です。
また、現在SUSE Linux Enterprise Server 10 SP1 x86 Editionおよびx64 Editionに対して、ベータ版のLinux用統合コンポーネントを提供しています。これはXen対応LinuxのHyper-V上でのサポートを実現すべく開発中のもので、今後はHyper-Vの用途がLinuxの世界にも広がっていく可能性があります。
このように、Hyper-Vは高速で管理性の高い仮想環境を実現するWindows Server 2008の新機能として間もなく登場します。ただし、仮想環境さえ利用すれば何もかもが良くなる訳ではありません。次回は、仮想環境の利点を最大限活かしつつ、物理環境と仮想環境の両方を適切に管理するための手順について触れたいと思います。