■Hyper-Vのアーキテクチャ
Hyper-Vのアーキテクチャに触れる前に、まずは同社の前世代サーバ仮想化製品である「Virtual Server 2005 R2」のアーキテクチャをおさらいしておこう。Virtual ServerはホストOS上にインストールされる1つのアプリケーションである。ホストOSから見ると、Exchange ServerやSQL Serverなどと同様に位置付けられる。Virtual ServerをホストOSにインストールするとVirtual ServerのサービスとVMM(Virtual Machine Monitor)が追加される(図1)。
仮想マシンからの命令やI/O要求は、エミュレートされたデバイス・ドライバから、一度ホストOSのVMMなどを介して、物理的なハードウェアにアクセスすることになる。つまり、ゲストOSが要求する処理をホストOSがトラップして実行し、その処理結果をゲストOS用に切り替えて渡すという流れになるため、オーバーヘッドが大きい。
これに対しHyper-Vは、ハイパーバイザ型と呼ばれるアーキテクチャが採用されている。ハイパーバイザは、1台の物理マシン上に複数の仮想マシンを稼働させるためにCPU・メモリの調整を行うソフトウェアである。Hyper-VではWindowsハイパーバイザと呼ばれる薄い層が、OSと物理マシンの間に位置している(図2)。
ホストOSと仮想マシン(ゲストOS)は別々の論理的なパーティションに配置され、その間を「VMBus*」と呼ばれる仮想的な高速のバスが通っている。仮想マシンからの命令やI/O要求は、「VSC(Virtualization Service Client)」からVMBusを通り、ホストOSの「VSP(Virtualization Service Provider)」に渡され、そこからホストOSのデバイス・ドライバ経由でハードウェアを利用する。ゲストOSは、ハードウェアのエミュレーションを行う必要がないため、オーバーヘッドが少なく、高速なI/O処理が見込める。
* VMBusの仕組みを使用するには、ゲストOSに統合サービスを導入する必要がある。統合サービスが利用できないゲストOSの場合は、Virtual Serverと同様、ハードウェアのエミュレーションによってデバイスを利用することになる。
また、常にホストOSのデバイス・ドライバが使用されるため、新しいデバイスへの対応がハードウェア・ベンダ主体で迅速に行われることが期待される。
仮想マシンが使用する記憶装置は、以下の2つの形式が利用可能である。
仮想ハードディスク形式は、Virtual Serverと同様の仕組みであり、ホストOSから見ると拡張子が「.VHD」の1つのファイルとして認識される方式である。もちろん、以前のVirtual Serverで使用していた仮想ハードディスクはそのまま使用できるが、Virtual Serverの追加機能との互換性はないため、移行前にアンインストールしておく必要がある。なお、仮想ハードディスクは最大2040Gbytes(約2Tbytes)までという制約がある。
パス・スルー形式は、物理ディスクをボリューム単位でそのまま仮想マシンに割り当てる方式である。使用するための前提条件として、ホストOS上で提供するボリュームをオフラインにしておく必要がある。直接、物理ディスクにアクセスできるため、高速なディスクI/Oが望める方式であり容量的な制約もないが、仮想マシンの状態を保存しておく機能である「スナップショット」が利用できなくなるという制約があるので、注意する必要がある。
以上、Hyper-Vのアーキテクチャについて解説してきたが、すでにVMware ESXを使用されている方や導入を検討している方は、今後どちらの製品を使用すべきか悩ましく感じるかもしれない。本稿では製品間の詳細な機能比較については言及しないが、2008年8月時点では、Hyper-Vに仮想マシンを稼働させたまま物理サーバ間で移動させる「ライブマイグレーション」機能がない点や、サポートOSの種類が少ないなど、製品の機能としてはVMware ESXに軍配が上がる。しかし、今後の機能拡張などでその差は縮まっていくと予想されるため、中〜長期的なロードマップを見据えつつ、システム要件に応じて製品を選択する必要があるだろう。
■システム構成
Hyper-Vを動作させるには、以下のハードウェア要件が必須である。
なお、上記の要件をすべて満たしていても、Hyper-Vの動作を正式にサポートするかはサーバのモデルやベンダのサポート・ポリシーによって異なるため、事前に確認が必要である。
■対応ホストOS
ホストOSとしては、64bit版(x64版)のWindows Server 2008が必要である(without Hyper-Vエディションを除く)。
OS/エディション | インストール・ モード |
---|---|
Windows Server 2008(x64) Standard/Enterprise/Datacenter | 完全 |
Windows Server 2008(x64) Standard/Enterprise/Datacenter | Server Core |
■対応ゲストOS
仮想マシンに導入可能なゲストOSは、以下のとおりである(2008年8月現在)。なお、ゲストOSの種類によって、仮想マシンに割り当て可能なプロセッサの数が異なるので注意していただきたい。またWindows NTはサポート対象外であり、Service Packのバージョンが古いOS(例えばWindows Server 2003 SP1や、SPを当てていないWindows XPなど)もサポート対象外となっている点にも注意が必要だ(サポート対象のSPレベルに満たない場合、統合サービスのインストールは拒否される)。
ゲスト OS/エディション | 最大プロセッサ(コア)数 |
---|---|
Windows Server 2008(x86) Standard/Enterprise/Datacenter/Web | 4 |
Windows Server 2008(x64) Standard/Enterprise/Datacenter/Web | 4 |
Windows Server 2003 SP2(x86) Standard/Enterprise/Datacenter/Web | 2 |
Windows Server 2003 SP2(x64) Standard/Enterprise/Datacenter | 2 |
Windows 2000 Server SP4(x86) Server/Advanced Server | 1 |
Windows Vista SP1(x86) Business/Enterprise/Ultimate | 2 |
Windows Vista SP1(x64) Business/Enterprise/Ultimate | 2 |
Windows XP SP3 Professional(x86) | 2 |
Windows XP SP2 Professional(x86) | 1 |
Windows XP SP2 Professional(x64) | 2 |
SUSE Linux Enterprise Server 10 SP1/SP2(x86) | 1 |
SUSE Linux Enterprise Server 10 SP1/SP2(x64) | 1 |
■仮想化ならDatacenterエディションがお得
Windows Server 2008には、ホストOS自体のライセンスに加え、仮想マシンをインストールする権利(仮想インスタンス)も付いている。仮想インスタンスは、Windows Server 2008のみならず、過去のバージョンのWindowsにダウングレードして使用することも可能だ。エディションごとによる仮想インスタンス数は、それぞれ、Standardでは「1」、Enterpriseでは「4」、Datacenterでは「無制限」となっている。なお、Datacenterと聞くと、ミッションクリティカルなシステム専用で、手厚いサポートが付いた非常に高価なライセンスという印象を持たれているかもしれない。しかし、その印象は登場当初のWindows 2000 Datacenter Serverのときのものであり、現在はOSライセンスのみで購入可能となっている。そのため、仮想マシン用に多くのWindowsライセンスが必要になる場合はDatacenterの購入も検討に加えた方がよい。
Copyright© Digital Advantage Corp. All Rights Reserved.