Hyper-Vによる“ハードウェアレベル”のサーバ仮想化Virtual Server 2005との違いは?

Hyper-Vのリリースで、Microsoftはサーバ仮想化に関して従来とは根本的に異なるアプローチを採用した。

2008年10月17日 08時00分 公開
[Brien M. Posey,TechTarget]

 Windowsの世界では当初から、アプリケーションはハードウェアと直接通信することを禁じられてきた。これは大原則の1つとして、Windowsがハードウェアとアプリケーション間の抽象化レイヤーとしての役割を担っているためだ。アプリケーションは、ハードウェアと直接通信する代わりにWindowsと通信し、Windowsがさまざまなデバイスドライバを使ってアプリケーションと物理的なハードウェアの間の通信を確立させる。

 しかし最近、少なくともサーバ仮想化に関してはこの理念が変わり始めている。まずは簡単な歴史から説明しよう。

Virtual Server 2005の時代

 Windows Server 2008 Hyper-V(以下、Hyper-V)のリリースに先立つMicrosoftの初期の仮想化ソリューションは、Microsoft Virtual Server 2005(以下、Virtual Server 2005)だった。Virtual Server 2005は標準理念、すなわちアプリケーションがハードウェアと直接通信することは許さないという理念に従い、サーバ仮想化に対してある種画一的なアプローチを取っていた。

 WindowsによるVirtual Server 2005の扱いは、ホストOSが究極的に全システムリソースのコントロールを握るという点で、ほかのWindowsアプリケーションとほとんど変わらなかった。つまり、ゲストOSはメモリ、ネットワーク通信、動画処理といったシステムリソースをすべて共有することになる。

 このリソース共有は非効率的であると同時に、危険でもある。非効率的なのは、ゲストOSにはシステムリソース専用の保存場所がないためだ。代わりにホストOSがある種独裁者的な役割を担い、ゲストOSが特定のリソースにアクセスできるかどうか、いつアクセスできるかを決める。Windows、Virtual Server 2005の両方とも、ゲストOSのボトルネックとなる。

 このアプローチが危険な理由は、リソースがゲストOSとホストOSとの間で共有されるやり方にある。例えば、ホストOSのネットワークドライバにバグがあり、このバグのためにホストOSがネットワーク上で通信できないとする。ゲストOSは完全にホストに依存しているため、こちらもネットワークを介した通信ができなくなる。

ハイパーバイザーの登場

 Hyper-Vのリリースで、Microsoftはサーバ仮想化に関してまったく違うアプローチを採用し、仮想マシンがハードウェアと直接(まあ、“ある意味で”だが)通信できるようにした。例外はディスクI/Oで、これはいまだにホストOSを通じて調整されている。Hyper-V上で実行されるゲストOSはホストOSを完全に迂回し、サーバのハードウェアと直接通信する。Microsoftがサーバ仮想化に対してこれほど根本的に異なるアプローチを取ることができたのは、Hyper-Vが比較的最近起きたサーバハードウェアの変化をベースとしているためだ。

 最新のサーバハードウェアは、「Hardware-assisted Virtualization」(ハードウェアによる仮想化支援機能)という技術をサポートしている。例えば、Intelは「Intel VT」(Intel Virtualization Technology)、AMDは「AMD-V」という仮想化支援機能を自社製品に搭載している。Hyper-Vは、サーバハードウェアがこの2つの技術のうちいずれかを備えていることが絶対条件となる。わたしは最近Intel VT搭載のサーバを導入したが、Hyper-Vをインストールする前にBIOSレベルで仮想化を有効にしなければならなかったことは特記すべきだろう。

 Hyper-Vは、ほかにどこが従来の仮想化技術と違うのか。Virtual Server 2005と異なり、Hyper-Vは非常に小さなアプリケーションだ。サイズが縮小したのは、仮想化の作業の大部分をハードウェアが行っていることによる。

 Hyper-Vは、ゲストOS用に専用パーティションを作成する。これはディスクパーティションと異なり、メモリなどのシステムリソースも含まれる。それぞれの仮想マシンが自分のパーティションの中で単独で機能するため、あるゲストOSにホストOSや別のゲストOSの障害が影響を与える可能性は大きく減る。また、仮想マシンはそれぞれが物理的に独立しているため、仮想化のセキュリティも大幅に強化される。

 Hardware-assisted Virtualizationは、真に注目に値する技術だ。わたしの研究室では別々のサーバ数台でHyper-Vを使っており、ゲストOSのパフォーマンスはVirtual Server 2005環境よりもずっと優れているようだ。実際、パフォーマンスが非常にいいので、これが物理的なサーバでなく仮想化されたサーバだということを時々忘れてしまうほどだ。

本稿筆のブライエン・M・ポージー氏はMCSE(マイクロソフト認定システムエンジニア)の資格を持ち、Windows 2000 ServerおよびIISに関する仕事でMicrosoft Most Valuable Professionalの認定を受けた。全米規模の病院チェーンでCIOを務めた経験を持つほか、フォートノックス(ケンタッキー州にある米軍施設)のITセキュリティを担当したこともある。

ITmedia マーケティング新着記事

news058.jpg

アドビ、Adobe Firefly機能搭載の「Adobe Express」モバイル版アプリを一般提供
アドビは、生成AI「Adobe Firefly」の機能を利用できる「Adobe Express」モバイル版アプ...

news141.jpg

2度あることは3度あった GoogleのサードパーティーCookie廃止再延期にアドテク各社がコメント
Googleは2024年末までに完了する予定だったWebブラウザ「Chrome」でのサードパーティーCo...

news148.jpg

天候と位置情報を活用 ルグランとジオロジックが新たな広告サービスを共同開発
ルグランとジオロジックが新たな「天気連動型広告」を共同開発した。ルグランが気象デー...