米MicrosoftでWindows Kernel PlatformのGroup Program ManagerであるMark Kieffer氏(写真)が,ITproの単独インタビューに応じた。Kieffer氏は,Windows Virtualizationグループで,製品仕様を設計および決定するマネージャである。次期サーバーOSのWindows Server Longhorn(開発コード名)に実装予定の仮想化技術などについて聞いた(聞き手は山口 哲弘=ITpro)。

写真●米Microsoft,Windows Kernel Platform Group Program ManagerのMark Kieffer氏

Windows Server Longhornにはどのような仮想化技術が実装されるのか。

Kieffer氏:Windows Server Longhornには,「Windows Hypervisor」と呼ぶ,ハイパーバイザ型の仮想マシン・モニターを実装する。Windows Hypervisorはハードウエア上で直接動作する非常に薄い仮想化レイヤーで,すべてのOSはWindows Hypervisor上で稼働する。

 Windows Hypervisor上で稼働するOSは,管理用の「親パーティション」と,いわゆるゲストOSに当たる「子パーティション」に分けられる。親パーティションは1つだけ存在し,ここにはWindows Server Longhornのコアのみをインストールする。それに対してユーザー・アプリケーションを動かすのが子パーティションだ。Windows Server Longhorn,Windows Server 2003,Windows 2000 Serverに正式対応する。Windows NT 4.0は,たぶん動くだろうが,既にサポートが終了しているので対象外である。

Windows Server LonghornのインストールDVD-ROMで,親パーティションと子パーティションの両方にインストールできるのか。

Kieffer氏:そうだ。インストール時に選択する。また,Enterprise Editionならば,ライセンス上の追加費用なしで,最大4つの子パーティションにWindows Server Longhornをインストール可能である。

Windows Server Longhornに実装される仮想化技術のアーキテクチャについて教えてほしい。

Kieffer氏:Windows Hypervisorは,Intel Virtualization Technology(VT)またはAMD Virtualization(AMD-V)に対応したプロセッサが必要である。例えばVT対応のハードウエアで動かした場合,Windows HypervisorはVMX rootモードで,親パーティションおよび子パーティションはVMX non-rootモードで動作する。仮想環境で動作する親パーティション及び子パーティションのOSとアプリケーションは,それぞれ実機上と同様に,システム(カーネル)はリング0,アプリケーション(ユーザー)はリング3で動作する。

 ゲストOSがハードウエアにアクセスしようとすると,ゲストOSに組み込んだドライバはWindows Hypervisorを通って親パーティションにアクセスする。そして,親パーティションに組み込んだドライバを使ってハードウエアにアクセスする(図1)。ただ,すべての子パーティション同士は完全に独立している。

図1●Windows Server Longhornに実装される仮想化技術の仕組み

独立していると言っても,子パーティションからのすべてのアクセスが必ず親パーティションを通るということは,万が一親パーティションに何らかの障害が発生した場合,それがすべての子パーティションに影響を及ぼす恐れがないか。

Kieffer氏:それは考えられる。

なぜ,子パーティションから直接Windows Hypervisorを通してハードウエアにアクセスする仕組みにしなかったのか。

Kieffer氏:IntelのVT-dや,AMDのIOMMUといった,デバイスの仮想化技術が実装され,周辺機器が対応してきたら,子パーティションから直接ハードウエアにアクセスする仕組みにする。また,現在のような,親パーティションのドライバを通る仕組みにすると,Windows用のドライバをそのまま利用できる利点がある。Windows Hypervisor向けにドライバを改変する必要はない。