Microsoftは先月,Windows Server 2008の製品候補版(RC0:Release Candidate 0,ただしなぜこの名前なのかは不明)を出荷した。これでユーザーは,今度発売されるOSのほぼ最終コードに近いバージョンを入手することができる。Windows Server 2008 RC0は,機能面では,2007年6月にリリースされたCTP (Community Technical Preview)と大きく変わったところはない。ただし,主要機能の一つとしてWindows Server Virtualization (コード名:Viridian)のプレリリース版が追加されており,これが初めての一般公開になる。

 Viridianについては,以前にも少し説明したが,今回ようやくその詳細を説明できるようになって非常に喜んでいる。なぜなら,誰もがこのテクノロジを実際に使えるかどうかを心配していたからだ。では,これまでに筆者が入手した情報を紹介しよう。

 Microsoftの仮想化チームのプログラムマネージャであるBryon Suraceは,9月初めの説明会で,Windows Server Virtualizationの全体的なスケジュールは変更されていないと語った。Microsoftはこれまでどおり,2008年第1四半期のWindows Server 2008の完成に合わせて,Windows Server Virtualizationのベータ版を出荷しようと考えている。今週出荷されたのは,基本的な機能が完成しているプレベータ版,またはアルファ版である。

 ただし,このプレベータ版は十分にテストされたわけではないので,Windows Server Virtualizationを運用サーバーに近い環境で使用することは避けるべきである。Windows Server Virtualizationについては,そのブランドさえまだ決まっていない。Windows Server Virtualizationがそのまま製品の最終版の名前として使われる可能性もあるが,Microsoftは他の選択肢も検討している。

 Suraceは,「この場合,大きな問題になるのは,ViridianがWindows Server 2008のコンポーネントであり,Virtual Serverのような独立した製品ではないということだ。ViridianはWindowsハイパーバイザをベースとする全く新しいアーキテクチャであり,管理という面では,Windows Server 2008ではDHCP,ファイルサービス,印刷サービスなどと同様に,役割としてインストールおよび管理される」と説明している。

 一部のレポートで伝えられている内容とは異なるが,Windows Server VirtualizationはWindows Server 2008のServer Coreインストールや,それより古いインストール上にもインストールすることができる。とは言うものの,Microsoftは,今後このテクノロジの精力的な展開はServer Core上で行われることを強く示唆している。これは,Server Coreのようなほとんどベアメタルに近いインストールは,攻撃される部分が少なく,パフォーマンスが優れているからだ。したがって,今後もMicrosoftは従来のWindows Server 2008サーバー上におけるWindows Server Virtualizationのインストールをサポートするが,これは主にテスト目的で提供されるだけである。

 もう一つ検討しなければならないのが,使用するハードウエアである。Windows Server 2008は32ビット(x86)バージョンと64ビット(x64)バージョンの両方が出荷されるが(さらにItaniumプラットフォーム向けにもいくつかのバージョンが出荷される),Windows Server Virtualizationを使用できるのはx64バージョンのみである(この具体的な製品バージョンはまだ確定していない。Suraceによれば,Windows Server VirtualizationはWindows Server 2008のすべてのx64版でオプションとして提供され,特定のバージョンには限定されない)。このような制限が存在するのは,Windows Server Virtualizationが,最新のAMDチップセットやIntelチップセットに固有のハードウエア仮想化機能に依存しているからである。

 Windows Server Virtualizationは,32ビットと64ビットの両方のゲストOSをサポートする。ゲストOSは,Windows Server Virtualizationで言うところのチャイルド・パーティション内で動作する(ホストOSはペアレント・パーティションで動作する)。各ゲストOSがサポートするRAMは,Virtual Server 2005では3.6GBの制限があったが,今回は最大32GBまでサポートされることになり,大幅に増加した。また,各ゲストOSには,最大4台のCPUコアを割り当てることができる。

 Windows Server Virtualizationは,同社のVirtual Serverやその他の仮想マシン(VM)プラットフォーム(VMwareが提供する仮想マシンなど)と比較した場合,基本的なアーキテクチャ以外に,デバイスの仮想化または合成という概念をサポートしているという点でも大きく異なっている。Suraceによれば,ほかのシステムでは各ゲストOSが「アクセスする」ハードウエアはエミュレートされているので,互換性には問題ないが,パフォーマンスが劣っている。Windows Server Virtualizationの仮想化デバイス・ドライバは,システムによるカーネルモードとユーザーモードの切り替え回数を大幅に減らすことによって,パフォーマンスを強化している。

 Suraceは「これはパフォーマンスのボトルネックを解消する新しい手法で,社内ではOSのエンライトメントと呼ばれている。OSは仮想化デバイス・ドライバを使用していることを認識し,OS自身が仮想化されていることも認識する。これはXen (オープンソースの仮想化エンジン)のパラ仮想化スキームと似ている。すでにWindows Server 2003とWindows Server 2008がエンライトされているが,MicrosoftはXensourceと提携してLinux向けにドライバを出荷しているので,Linuxもエンライト可能である」と述べている。

 RC0リリースへのインストール手順など,このソフトウエアに関する情報はまだまだあるので,筆者のSuperSite for WindowsのViridianに関するプレビュー記事を参照してほしい。Windows Server 2008 RC0またはViridianのプレビューに興味がある場合は,どちらもMicrosoftのWebサイトからダウンロードできる。