2010年に公開されるメジャーアップデート版「Xen 4.0」


 今回は、11月末に中国・上海で開催されたXen Summit Asia 2009の情報を元に、年明け早々にアップデートされるハイパーバイザー「Xen」の最新状況を解説する。


年明け早々にXen 4.0がリリース

2010年の年明けには、マイナーアップデートのXen 3.4.3とメジャーアップデートのXen 4.0がリリースされる

 Xen.orgでは、XenのメジャーアップデートとなるXen 4.0とマイナーリリースのXen 3.4.3をリリースする。

 2009年12月段階で、リリースされているのはXen 3.4.2。Xen 3.4.3は、リリースされているXenのバグフィックスなどの修正バージョンだ。このため、Xen 3.4.3にはほとんど新しい機能は追加されていない。しかし、Xen 3.4.3のリリースにより、Xen 3.4系列のハイパーバイザーがより安定してきたといえる。Xen.orgでは、3カ月ごとにマイナーリリースを行い、6~9カ月おきにメジャーリリースを行う計画をしている。

 CitrixのXenServer 5.5は、安定性を重視してXen 3.3系を採用している。Xen 3.4.3がリリースされれば、2010年の前半にもXenServerもバージョンアップされるだろう。実際、12月に発表されたXenベースのOracle VM 2.2は、Xen 3.4系を採用している。

 Xen 3.4.3と同時にリリースが計画されているのが、メジャーアップデートのXen 4.0だ。安定性ということを考えると運用環境への採用は、もう少し時間はかかるだろう。しかし、Xen 4.0系は、Xen 3.4系から大幅に機能アップしている。

Linuxカーネルにpv_opsが採用されたことにより、Xen 4.0ではpv_opsに移行した

 Xen 4.0は、メジャーアップデートとなるため、カーネル関連にさまざまな機能が追加されている。大きな変更としては、Xenが使用しているLinuxカーネルが、Linuxカーネル2.6.18から仮想化環境にチューニングされたpv_ops(Paravirt_Ops)に変更されている。pv_opsは、Linuxカーネル2.6.23から、メインラインに統合されている(2009年12月現在の最新Linuxカーネルは2.6.32)。

 Xen自体が、Linuxカーネルのメインラインに統合されるかどうかは、未定といったところだ。KVMが一足先にメインラインに統合されたため、難しいと考える人も多い。Xen側でも、Linuxのメインラインにするには、カーネルのメンテナーの考え方にマッチするように、コードの書き換えが必要になっている。

 Xen 4.0では、フォールトトレランス(FT)機能のRemusがサポートされた。Remusがサポートされたことで、Xen上で実行中の仮想マシンをバックアップサーバーで常に更新し、障害時にはバックアップサーバーに切り替えることで、仮想マシンの動作を保証する(Remusは、カナダのブリティッシュコロンビア大学で開発されていたプロジェクト)。


Xen 4.0では、フォールトトレランスの機能が入るXen 4.0のフォールトトレランス機能は、カナダのブリティッシュコロンビア大学が開発したRemusが利用された

 Xenは、VMwareのvSphere4やMicrosoftのHyper-Vに比べると、システムの耐障害性に難があるといわれていたが、Remusのサポートにより可用性を高めることができる。

 Page Sharing機能は、複数の仮想マシンが使用しているメモリをチェックして、同一ブロックを一つにまとめることで、仮想マシンが消費するメモリを少なく押さえている。この機能により、Xen 4.0上で、同じOSを複数動かすときは、消費するメモリが少なくなり、より多くの仮想マシンを動かすことができる。

blktap2によりVHDストレージがサポートされた

 Xen 4.0では、ディスク関連のモジュールblktap(Block Tap)が、blktap2のバージョンアップされている。blktap2では、仮想ディスクのVHDがサポートされた。これにより、Windowsの仮想ディスクをXen上でアクセスすることが可能になった。

 ネットワーク関連では、netchannel2がサポートされた。これにより、Xenのネットワークパフォーマンスがアップした。さらに、マルチQueueを持ったNICへの対応、I/O仮想化機能(SR-IOV)を持ったNICへの対応が行われている。

 netchannel2は、最新のNICやチップセット(VT-dやIOMMU)に対応したといえる。ストレージエリアネットワーク(SAN)などを使って、ネットワークをストレージに利用するため、ネットワークにより高いパフォーマンスが必要になったからだろう。


9月に開催されたIntelの開発者セミナーIDFで、I/O仮想化をサポートしたXenがデモされていた。Xen 4.0は、SR-IOV機能が搭載されているSR-IOV機能を使うことで、NICのパフォーマンスは、ネイティブほとんど変わらなくなる

 Xen 4.0として目立った機能アップとしては、こういったモノだ。より詳細に関しては、Xen 4.0がリリースされたときに、紹介していきたいと思う。ただ、Xen 4.0系が、CitrixのXenServerやOracle VMなどに採用されるには、まだ時間がかかるだろう。安定性や信頼性といった部分を考えれば、ベンダーからXen 4.0ベースの仮想化ソフトがリリースされるのは、2010年末もしくは、2011年に入るとおもわれる。


クラウド向けのXen Cloud Platform

8月末に発表したXCPイニシアティブには、AMD、Intel、Dell、HPだけでなく、クラウドサービスのAmazonやCloudera、rackspaceなどのクラウドサービスベンダーも入っている
現在、XCPは、ドラフトのバージョン0.1が公開されている
XCPには、仮想スイッチのvSwitchが搭載される予定だ

 8月末に発表されたクラウド向けのXen Cloud Platform(XCP)が、キチンとしたソフトウェアセットとしてリリースされる。

 XCPは、パブリッククラウド間、パブリッククラウドとプライベートクラウド間における、相互運用性を目指したモノだ。つまり、社内のプライベートクラウドで動作している仮想マシンを、Amazon EC2などのパブリッククラウドに移行して動かしたりできるようにしようというプロジェクトだ。

 XCPは、Linuxカーネット2.6.27とXen 3.4をインフラとしている。さらに、Xenハイパーバイザーを外部のアプリケーションから管理するためのXAPIというツールスタックが用意されている。

 仮想マシンの設定情報(仮想CPU数、メモリ、ネットワーク設定など)を相互に運用できるように、標準化団体のDTMF(Distributed Management Task Force)で標準化が進められているOVF(Open Virtualization Format)もサポートされる。

 さまざまな標準規格を利用することで、仮想マシンをパブリック、プライベートを問わずに自由に移動させることができるようになる。また、今後普及していくと考えられている仮想アプライアンスを、運営事業者の異なるパブリッククラウド間で利用できるようになるだろう。

 さらに、XCPでは、オープンソースの仮想スイッチソフトのvSwitch(http://www.openvswitch.org/)を含めることで、ネットワークレイヤーも仮想化していこうとしている。

 現在XCPは、0.1という初期段階だが、2010年にはバージョン1.0を提供する予定だ。XCPは、Xen 4.0のように新しい機能というよりも、相互運用性をどのように規定するかというのが、最も大きな作業となるだろう。


クライアントPC用のハイパーバイザーを2010年にはリリース

クライアントハイパーバイザー「XCI」のアーキテクチャ図
XCIがリリースされれば、セキュアなビジネス環境とコンシューマ向けの自由な環境の両方が一つのPC上で実現する

 Xen.orgは、クライアントPCで利用するクライアントハイパーバイザー「XCI(Xen Client Initiative)」を2010年にはリリースする予定だ。

 XCI自体は、2009年5月に開催されたCitrixのイベント「Synergy 09」の基調講演で、デモが行われている。日本国内でも、いくつかのイベントで動作しているXCIをデモしているため、そろそろ完成に近づいているといえる。

 XCIは、ベアメタルのハイパーバイザーとしてはバージョン1.0のリリースは近づいている。しかし、クライアントPCのさまざまな機能が完全にXCIで実現しているわけではない。

 例えば、PCのパワーマネジメント一つとっても、複雑な作業がある。あるOSは、パワーセーブ状態に入っているが、別のOSは負荷が高くてフルパワーで動作したいといったときに、どのようにしていくのか? また、ノートPCなどで使われるサスペンド(一時休止)やハイバネーションなどは、どうしていくかなど、いろいろ問題がある。

 最も大きな問題は、グラフィックだろう。最近のPCでは、GPUでいくつかの処理を行うため、複数のOSが同時にGPUを使うには、どうすればいいのかなどは難しい問題だ。

 このため、XCIの初期バージョンでは、PCのすべての機能を仮想化するのでなく、ある程度限定した形でのサポートを考えているようだ。XCIは、一般ユーザーに向けたモノではなく、企業のクライアントPCに向けてリリースされることになりそうだ。


Intelは、XCIに向けてQ45グラフィックチップの仮想化を行ったベンチマークでは、ネイティブに比べて98.03%のパフォーマンスを実現している。ただし、一つの仮想マシンがGPUを占有している環境下でのデータだGPU仮想化の概念図。VT-dなどのI/O仮想化機能が必須となる

 2010年のXenは、クラウド、サーバー、クライアントと3つの分野で、大きな進化を果たしそうだ。特に、技術の基盤となるのが、メジャーアップデートとなるXen 4.0だ。クラウドのXCPにおいても、Xen 4.0で搭載された新機能は、非常に重要視されている。

 Citrixは、Xen.orgでの成果をベースに、2010年はクラウド、クライアントの仮想化といった分野において、さまざまな新製品を出す予定にしている。



(山本 雅史)

2009/12/21/ 00:00