【 ここから本文 】
- TOP
- > Topics : キャリアアップ
- >
キャリアアップ
ソーシャルブックマークに登録 :
印刷用ページの表示
【解説】
次世代仮想化プラットフォーム「Hyper-V」研究
サーバの仮想化はどう進化するのか!?
(2008年03月31日)
「Hyper-V」は、Windows Server 2008に組み込まれる「ハイパーバイザ(Hypervisor)」ベースの仮想化テクノロジーであり、Windows Server 2008の正式リリース(2008年2月27日)後180日以内に追加提供される予定だ。2008年3月19日には完成版に近いRC版の一般提供が開始された。本稿では、2007年12月13日にリリースされたベータ版を基にHyper-Vの全体像を明らかにする。
山市 良
ソフトウェア的なエミュレーションから
ハイパーバイザ型仮想化テクノロジーへ
マイクロソフトは現在、x86コンピュータをエミュレートする仮想化テクノロジーとして、デスクトップOS向けの「Virtual PC 2007」と、サーバOS向けの「Virtual Server 2005 R2」の2製品を無償提供している。
これらの製品は、その前身となる「Virtual PC」を開発/販売していた米国コネクティクスの技術を買収(2003年2月)して得たテクノロジーをベースに開発されたもので、初期バージョンはパッケージ製品として販売されていたものだ。
その後、両製品が無償化されたのは、競合するヴイエムウェアの「VMWare Player/Server」の無償化や、オープンソースの「Xen」を意識してのことだろう。マイクロソフトは製品の無償化に加え、Virtual PC/Serverで採用されているバーチャルハードディスク形式「VHD(Virtual Hard Disk)」の仕様を公開し、ライセンスフリーで提供するなど、VHD形式の普及にも努めている。
| 画面1● Hyper-Vは、Windows Server 2008の役割の1つとして、製品出荷後180日以内に追加提供される予定。画面は、Hyper-V Betaを含むWindows Server 2008 RC1の役割追加ウィザード |
Hyper-Vは、Virtual Server 2005 R2の後継となるテクノロジーであり、Windows Server 2008の一機能として提供される(画面1)。
ただし、Windows Server 2008とは別に開発が進められており、初めての製品候補(Release Candidate:RC)版となったWindows Server 2008 RC0がリリースされた時点で、初めてCTP(Community Technology Preview)と呼ばれるプレビュー版が提供され、制約は多いながらもそのテクノロジーの概要が明らかになった。
そして、Windows Server 2008 RC1が公開された3日後の2007年12月13日にはベータ版「Hyper-V Beta」がリリースされている。
| 画面2● Virtual Server 2005 R2 Enterprise Edition x64上で動作するバーチャルマシン。ホストOSはx64対応であるが、バーチャルマシンでは32ビットOSのみがサポートされる |
Hyper-V Betaは、Server Core環境でのHyper-Vのサポート、クラスタリング、ボリュームシャドウコピー(VSS)バックアップ、インポート/エクスポート機能、VHD編集ツール、最大4つまでのSCSIアダプタのサポートなど、CTP版では実装されていなかった多くの機能が評価できるようになっている。正式版は、Windows Server 2008の出荷後180日以内に追加提供される予定だ。
Hyper-VはVirtual Server 2005 R2の後継ではあるが、そのアーキテクチャは大きく異なる。現行のVirtual Server 2005 R2は、ホストOS上にインストールされた「仮想化サービス(Virtual Serverサービス)」が、バーチャルマシンのハードウェアをソフトウェア的にエミュレートすることで実現されている(図1、画面2)。
例えば、物理的なハードウェアとは関係なく、バーチャルマシンは「S3 Trio64グラフィックス」「Adaptec 7870 SCSIアダプタ」「DEC(Intel) 21140 10/100TX 100MBイーサネットアダプタ」といったエミュレートされたハードウェアデバイスを持つ。
プロセッサについては、物理コンピュータに搭載されたものをそのまま認識するが、本来プロセッサは1つのOSやドライバにしか最高レベルの動作モード(Ring 0)における特権命令の実行を許可しない。
しかし、ゲストOSは特権命令を実行しようとするため、これをホストOSが監視、トラップして、代理実行した結果をゲストOSに返すという仕組みでエミュレートしている。このような、ソフトウェア的なエミュレーションはオーバーヘッドが大きく、ゲストOSのパフォーマンスを阻害するボトルネックとなる。
最新の高性能ハードウェアでWindows NT Server4.0やWindows 2000 ServerのようなレガシーOSを仮想化するには影響は少ないが、Windows Server 2003やWindows Vistaといった最新OSを仮想化する場合の影響は無視できない。Virtual PC 2007およびVirtual Server 2005 R2 SP1では、プロセッサの仮想化支援機能(インテルVT、AMD-V)をサポートするようになったが、劇的な効果は期待できない。
| 図1● Virtual Server2005 R2のアーキテクチャ。x86またはx64のホストOS上に、x86ベースのハードウェアをエミュレート。Virtual PC 2007も同様だが、仮想化レイヤがサービスではなく、ユーザーアプリケーションとして実装されている点が異なる |
Hyper-Vでは、アーキテクチャが一新されて「ハイパーバイザ(Hypervisor)」型に変更される(図2)。ハイパーバイザは競合製品である「VMWare ESX Server」や「Xen」でもすでに採用されているテクノロジー(実装方法は異なる)で、物理的なハードウェアとOSの間に位置する“ごく薄い仮想化レイヤ”になる。Hyper-Vでは、このレイヤを「Windows Hypervisor」と呼び、わずか数KBのファイルサイズしかない(CTP版では61.5KB)。
Windows Hypervisorはバーチャルマシンに必要なすべての機能を備えているわけではなく、プロセッサとメモリの割り当て、ゲスト間の通信機能だけを持つ。この点は、ハイパーバイザ層でデバイスを仮想化するVMWare ESX ServerやXenとは大きく異なる部分であり、仮想環境をよりシンプルなものにしている。
| 図2● Hyper-Vのアーキテクチャ。数KBの薄いWindows Hypervisorのレイヤの上で、ペアレント・パーティションを含む仮想環境が、並列実行される。プロセッサ処理がエミュレートされることがないので、オーバーヘッドが少ない |
Windows Hypervisorが管理しない領域については、従来のホストOSに相当する「ペアレント・パーティション」と呼ばれるWindows Server 2008のインスタンスが担当する。
具体的には、バーチャルマシンの作成や制御、リソースの割り当て、ネットワークアダプタやストレージシステムなど物理的なデバイスの管理などだ。物理デバイスをそのまま認識するのはペアレント・パーティションだけであり、サードベンダーのデバイスドライバはここにインストールされる。
ペアレント・パーティションに対し、バーチャルマシンは「チャイルド・パーティション」と呼ばれる。ペアレント・パーティションとチャイルドパーティションのどちらも、Windows Hypervisor上で動作する。
つまり、プロセッサから見ればどちらのパーティションも区別なく、並列に同時実行されているイメージだ。これを可能にするのが「インテルVT」や「AMD-V」といった、プロセッサに搭載された仮想化支援機能になる。
Windows Hypervisorはプロセッサの仮想化支援機能が提供する特別な動作モード(Ring 1やVMX rootなど)で動作し、その上で動作する仮想環境では、従来どおり、OSはRing 0、アプリケーションはRing 1〜3で動作する。ゲストOSの特権命令の発行を監視してエミュレートしなくて済むため、少ないオーバーヘッドで特権命令の処理が可能になる。
[米国]マイクロソフト、仮想化ハイパーバイザ「Hyper-V」のRC版を公開
2008年8月までに製品版の出荷開始を予定
[米国]Microsoftの仮想化戦略、ライセンス変更やCitrixとの提携が新たな柱に
未導入ユーザーの獲得でシェア拡大を図る
[米国]Microsoft、仮想化ハイパーバイザ「Hyper-V」のベータ版を2カ月前倒しでリリース
正式版リリースは2008年下半期の予定



















