Enterprise Watch
最新ニュース

マイクロソフトに聞く、Windows Server Virtualizationの仕組み


 Windows Server 2008 RC0で初めて、Windows Server Virtualization(以下、WSv)が搭載された。α版ほどの完成度といわれているが、数年前からマイクロソフトが言い続けていたハイブリッド型の仮想環境がやっとユーザーの目の前に現れた。今回は、Windows Server 2008を担当している同社サーバープラットフォームビジネス本部Windows Server製品部マネージャーの藤本浩司氏にWSvに関して話を聞いた。


Hypervisor上に仮想環境が乗ることで、仮想環境の動作が高速に

サーバープラットフォームビジネス本部Windows Server製品部マネージャーの藤本浩司氏
―WSvは、今までのVirtual Server 2005 R2とはまったく違ったアーキテクチャを採用していますが?

藤本氏
 WSvは、ハードウェア層の上にHypervisorを置くことで、チャイルドパーティションに置かれたOSが高速に動作するような仕組みを実現しています。

 Hypervisor型といえば、VMwareのESX Serverと比較されます。ESX ServerだとサードパーティのドライバをHypervisorに組み込まなくてはなりません。マイクロソフトでは、これが仮想環境におけるセキュリティホールになる可能性があると感じています。

 Hypervisorが仮想環境の調整を行っているため、この部分に問題が起これば、システム全体がストップしてしまいます。Hypervisor部分にサードパーティのコードが入るため、コードの出来によってはトラブルが起こる可能性もありますし、悪意のあるコードが紛れ込む可能性が100%ないとは言い切れません。

 そこで、WSvでは、Hypervisorにドライバをインストールするのではなく、ペアレントパーティションのWindows Server 2008上にあるドライバをチャイルドパーティションのOSでも使用します。これにより、Hypervisorのセキュリティ度も高くなるし、Hypervisor自体もパーテショニングなどの必要最低限の機能だけでよくなるため、プログラム自体も小さくなり、高速に動作するようになります。


通常のWindows Server 2008
WSvをインストールしたWindows Server 2008

WSvのチャイルドパーティションにWSv対応のOSをインストールしたときは、VSCやVMBusが利用される。VSCは、ネットワークやストレージなど、それぞれのデバイスごとに必要になる

チャイルドパーティションにWSv非対応のOSをインストールした場合は、エミュレーションが使用される
―WSvでは、エミュレーションを使ってチャイルドパーティション上のOSを動かしているのですか?

藤本氏
 多くの仮想環境ソフトでは、仮想環境で使用する仮想ハードウェアを設定して、その上にOSを搭載しています。たとえば、Virtual Server 2005 R2では、仮想ハードウェアとして、Intel 440BXチップセットのマザーボードをソフトウェアでエミュレーションしています。仮想環境上で動作するOSは、Intel 440BX関連のドライバをインストールすることで動作します。

 しかし、この方法では、ハードウェアをソフトでエミュレーションするため、仮想環境としては非常に大きなオーバーヘッドとなって、パフォーマンスとしてはいいものとはいえません。

 そこで、WSvでは、エミュレーション(ソフトによる仮想ハードウェア)以外に、仮想化を前提としたドライバの仕組みを用意しています。

 エミュレーションは、特定のハードウェアをソフトウェアで構成します。エミュレーションを利用するチャイルドパーティション上のOSでは、例えばアダプテック社のSCSIカード用のドライバを使い、ソフトでエミュレーションされているアダプテック社のSCSIカードにアクセスします。このアクセスは、仮想ソフトでさらに変換され、実際の物理的なHDDのアクセスになります。エミュレーションでは、あまりにもオーバーヘッドが多くて、仮想環境は遅いといわれていた原因の一つとなっていました。

 そこで、WSvでは、チャイルドパーティション上のOSからのアクセスを直接Hypervisorに引き渡す仕組みを用意しました。Enlightenmentsという仕組みは、CPUやメモリなどのクティカルな処理をHypervisor層と一緒になって処理します。このため、Hypervisorとチャイルドパーテーション間のプログラミングインターフェイスとして「Hypercall」が用意されています。つまり、この仕組みにより、チャイルドパーティション上のOSは、エミュレーションなどを利用しないで、直接Hypervisorとアクセスして動作することができます。エミュレーション層がなくなるだけで、相当なパフォーマンスで仮想環境が動作すると思います。


VSP/VSCのアーキテクチャ図
―HDDやグラフィックカードなどの周辺機器のドライバはどうなっているのですか?

藤本氏
 Enlightenmentsなどの仕組みでは、CPUやメモリなどだけがサポートされているため、HDDやネットワークなどのドライバは別の仕組みが必要になります。

 そこで用意されたのが、VMBusとVSC(Virtualization Service Client)という仕組みです。

 WSvでは、HDD、ネットワーク、キーボード、マウス、ディスプレイなどのデバイスは、ペアレントパーティションのOS上(実質的にはWindows Server 2008)のデバイスドライバをそのまま利用しようというものです。これにより、各チャイルドパーティション上にデバイスをエミュレーション層がなくなるため、仮想環境全体としては、パフォーマンスがアップします。また、数多く用意されているWindows Server 2008のドライバが、そのまま使用できるアーキテクチャになっているため、デバイスベンダーにとっては、WSv用のドライバを新たに開発しなくてもいいのです。

 ただし、チャイルドパーティションのOS側には、ペアレントパーティション上のOSにあるドライバに接続するための小さなドライバ「VSC(Virtualization Service Client)」が必要になります(筆者注:VSCは、それほど複雑なものではなく、入力/出力をVMBusに引き渡すだけのドライバといえる)。

 VSCからの入力/出力は、チャイルドパーティションとペアレントパーティションのOS間をつなぐ、ソフト的なバスであるVMBusを使って、相互にデータをやり取りすることになります。

 VMBusは、VSCの下層に置かれ、チャイルドパーティションのOSとペアレントパーティションのOSと高速に通信する仕組みです。もうひとつ、ペアレントパーティションのOS側に既存のドライバとVMBusからのリクエストをつなぐVSP(Virtualization Service Providers)という小さなソフトが必要になります。


WSvでは、Windows OS以外でも高速な仮想環境をサポート

XenをWSvに対応させるために、マイクロソフトとXenSourceが共同で開発を進めている。Linux用のVSCやVMBus、Hypercallなどの開発が中心になっている
―WSvに対応したOSは、どのOSになりますか?

藤本氏
 現在WSvの環境を最大限活かすOSとしては、Windows Server 2008/2003になります。これは、EnlightenmentsやVSCなどのソフトがマイクロソフトから提供されるからです。しかし、Windows Server 2008/2003以外のOSでも、EnlightenmentsやVSC、VMBusなどを開発すれば、エミュレーション層を必要とせず、高速に動作する仮想OSを実現することができます。

 現在、Linuxの仮想環境として有名なXenを開発したXenSourceとマイクロソフトは協力して、Xenに対応したLinuxをWSvのHypervisor上で動作させるべく、Linux用のVSC、VMBus、Hypercallなどの開発を進めています。これらのソフトがそろえば、WSv上でLinuxも高いパフォーマンスで動かすことができます。

 また、先日提携したサン・マイクロシステムズとは、共同でSolaris OSをWSv上で動かすようになるでしょう。

 今回リリースされたWindows Server 2008 RC0には、VSC、VSPなどが搭載されています。これを利用すれば、エミュレーションよりも高速に仮想環境を動かすことができます。

 Windows Server 2008 RC0は、Windows Server 2008のすべての機能(仮想化以外)が入っています。OSのメニューなどの日本語化も終わり、後はバグ修正とチューンアップに主眼が置かれて開発が進められています。IT管理者や開発者の方には、Windows Server 2008 RC0を使って、新しいWindows Serverがどのようなものなのかを評価したり、RC0を使ってWindows Server 2008に対応したアプリケーションの開発を進めていってほしいと思います。


WSvの提供形態

―WSvの提供形態はどうなりますか?

藤本氏
 WSvは、Windows Server 2008のRTM版完成時には、β版として提供されます。WSvのRTM版は、Windows Server 2008 RTM版が完成して、180日以内にリリースされます(筆者注:今年の年末にWindows Server 2008 RTM版がリリースされるため、WSvは2008年の6月頃にリリースされるだろう)。

 提供形態に関しては、最終的なところは決まっていません。ただ、仮想化機能がOSに提供されているといっているので、別パッケージなどでの提供はないと思います(筆者注:Windows Server 2008のEnterprise版以上では無償で利用できるようにする見通し。Standard版やWeb版では、WSvはインストールできるが、仮想環境上で動かすチャイルドパーティションにWindows OSをインストールした場合、別にライセンスが必要となる)。


―WSvでは、当初予定していた機能がサポートされないようですが?

藤本氏
 周知のようにWSvの最初のバージョンでは、ライブ・マイグレーション機能(チャイルドパーティションを別の仮想サーバーに移動させる機能)は、サポートされません。このあたりの機能は、次バージョンでサポートされることになるでしょう。

 仮想環境を利用する上では、実ハードウェア環境をチェックして、仮想環境にマイグレーションするツール(P2V)など、さまざまなツール類が必要になってきます。WSvの完成とともに、これらのツール類の充実も図っていく予定にしています。



URL
  マイクロソフト株式会社
  http://www.microsoft.com/japan/
  Windows Server 2008
  http://www.microsoft.com/japan/windowsserver2008/

関連記事
  ・ マイクロソフトの新仮想サーバー「Windows Server Virtualization」を見る(2007/09/28)


( 山本 雅史 )
2007/10/12 12:21

Enterprise Watch ホームページ
Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.