Xenで動かすWindows Server 2008
 〜 「完全仮想化」で「高速動作」実現のヒミツ 〜

仮想化テクノロジ「Xen」の上で、Windows Server 2008を高速に動作できる環境が整った。その仕組みを解説するとともに、具体的な構築手順を紹介する(編集部)

ノベル株式会社
Linuxテクノロジー・エバンジェリスト
岡本 剛和

2008/7/28

 仮想化テクノロジ「Xen」を活用すれば、Windows Server 2008を仮想マシン上で「高速に」動作させることができます。この記事では、どのようにそれが実現されているかを解説しましょう。

Xenのアーキテクチャとその特徴

 すでに各所で取り上げられているためご存じの方も多いと思いますが、まずは仮想化ソフトウェア「Xen」の仮想化方式について押さえておきましょう。

 Xenには、仮想マシンを動作させる方式として、「フルバーチャル(完全仮想化)」と「パラバーチャル(準仮想化)」という2つのモードがあります。

 前者は、論理的な仮想マシンを、まるで物理マシンであるかのようにほぼ忠実に構築します。その上で動作するOSやアプリケーションは、仮想環境を意識することなく、そのまま動作させることができます。しかしこのためには、各種のエミュレーションを行う必要があり、パフォーマンスが遅くなったり、仮想化ならではの柔軟性や機能を十分に使えなかったりします。

 これに対して後者では、仮想環境を意識するようにOSに手を加えることで、これらの問題に対応できます。しかし、OSそのものに手を加えなければならないため、利用できるOSの種類やバージョンが制限され、LinuxやNetWareなど、Xenにコミットしているオープンソースの団体や企業が提供しているものに限られます。

 マイクロソフトはXenへの対応を表明していますが、これは「Xenに対応したWindowsカーネルを提供する」こととイコールではありません。従って、WindowsをXen仮想マシン上で動作させる場合、技術的にはフルバーチャルの環境で動作させることになります。

【関連記事】
http://www.atmarkit.co.jp/flinux/special/xen01/xen01.html
仮想化技術の大本命「Xen」を使ってみよう 〜 インストール&Debian環境構築編 〜
http://www.atmarkit.co.jp/flinux/index/indexfiles/xenindex.html
連載:実践! Xenで実現するサーバ統合

アイコン ノベルとマイクロソフトの提携

 2006年11月2日、ノベルとマイクロソフトは、ビジネス面、技術面を含む広範囲な提携を発表しました。この中には、相互の異なる仮想化技術を1つのシステムで混在して利用できるようにするという内容も含まれています。これは、WindowsをXenの上で動作させること、そしてLinuxをマイクロソフトの仮想化製品の上で動作させることを意味しています。

 発表当時、マイクロソフトは仮想化製品として「Virtual Server 2005」をリリースしていましたので、この上での「SUSE Linux Enterprise Server 10」の動作をサポートしました。そしてXen側では、SUSE Linux Enterprise Server 10 SP1上での「Windows Server 2003」の動作をサポートしました。

 2008年6月には、マイクロソフトがハイパーバイザ型の仮想化技術「Hyper-V」をリリースしました。そこで、この上でSUSE Linux Enterprise Server 10がサポートされることになりました。同時に、SUSE Linux Enterprise Server 10 SP2のXen上でのWindows Server 2008の動作サポートも開始しました。

 ちなみにHyper-Vでは、仮想マシン内でのゲストOSが、通常の物理的なハードウェアを意識したカーネルではなく、仮想環境を意識したカーネルで動作させるように進化しています。この結果、パフォーマンス、柔軟性がともに向上しています。

【関連記事】
http://www.atmarkit.co.jp/news/200806/27/hyperv.html
米マイクロソフトが仮想化技術「Hyper-V」の正式版公開
http://www.atmarkit.co.jp/news/200706/11/novell.html
ノベル幹部が明かすMSとの提携の意義

アイコン Xen上でWindowsを動作させる技術的なアプローチ

 前述のとおり、Xen上でWindowsを動作させるためには、フルバーチャルの環境が必要となります。これは最初に触れたように、一種のエミュレーション環境です。I/Oデバイスも例外ではありません。

 Xenはその実装から、大きなI/O処理を行うと、目に見えて動作が遅くなるという特徴があります。一般的に、これを解消するため、ディスクとネットワークのI/Oに関しては、エミュレーションをやめ、代わりにゲストOSに専用のデバイスドライバをインストールするという方式が取られます。この仕組みは、ドライバ部分がXenに対応した呼び出しを行うため「パラバーチャルドライバ」(準仮想化ドライバ)と呼ばれています。

 今日現在、オープンなドライバも出始めています。しかし、Xenを含んだディストリビューションや製品では、受け手となるハイパーバイザ側にも手を入れていることが少なくありません。やはりパラバーチャルドライバについては、ハイパーバイザを提供している企業のものを使うことを推奨します。

■パラバーチャルドライバをフルバーチャルOSに提供

 しかし、パラバーチャルドライバのインストールでは、I/Oが速くなるだけにすぎません。

 これに対しWindows Server 2008では、OSカーネルそのものがHyper-Vの仮想環境を意識して動作するようになっています。このため、仮想化環境ならではのメモリの取り扱いなどを認識することができます。

 この「仮想化環境ならでは」という点に関しては、XenもHyper-Vも大きく変わるところはありません。ですがそのまま、Xenの上にWindows Server 2008を載せるだけでは、実装技術が違っていますので動きません。この問題を解消するために、ノベルとマイクロソフトでは、互いにAPIを変換するアダプタを提供しています。

図1
図1 OSレベル・サーバ仮想化アーキテクチャ

 これにより、Xen上でWindows Server 2008を動作させると、Windows Server 2008は下層がHyper-Vだと思ってHyper-Vの呼び出しを行います。しかし実際にはそれは、このアダプタを通してXenの呼び出しに変換されています。

図2
図2 拡張フレームワーク(ドメインごとに拡張モジュールを適用可能)

 一方、ハイパーバイザのXenでは、パラバーチャルOSのように呼び出してくれるようになります。このため、フルバーチャルの処理がより簡素化され、パフォーマンスの向上につながります。

 
1/3

Index
Xenで動かすWindows Server 2008
 「完全仮想化」で「高速動作」実現のヒミツ
Page 1
 Xenのアーキテクチャとその特徴
 ノベルとマイクロソフトの提携
 Xen上でWindowsを動作させる技術的なアプローチ
  Page 2
 Xen環境の構築
 コラム XenとHyper-Vのアーキテクチャ
  Page 3
 Windows Server 2008のインストール
 コラム Hyper-V上でSLESを動かす
 柔軟な環境構成を実現

Linux Square全記事インデックス


 Linux Squareフォーラム 仮想化技術関連記事
連載:実践! Xenで実現するサーバ統合
有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します
特集:サーバの仮想化技術とビジネス展開の可能性
jailからUML/VMwareまで
1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった
特集:仮想化技術のアプローチと実装
VMwareから要注目技術Xenまで

1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう
特集:仮想OS「User Mode Linux」活用法
技術解説からカーネルカスタマイズまで
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説
特集:仮想化技術の大本命「Xen」を使ってみよう
インストール & Debian環境構築編

高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう
特集:仮想化技術の大本命「Xen」を使ってみよう
Xen対応カスタムカーネル構築編

Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる
特集:IPv6、UML、セキュリティ機能の統合
全貌を現したLinuxカーネル2.6[第4章]

今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう
Linux Squareプロダクトレビュー VMware Workstation 4
PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう
古くて新しい「サーバ仮想化技術」の行方
サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する
Linux Squareフォーラム全記事インデックス


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間