クライアントPC向けのハイパーバイザー「XenClient」


 昨年から話題になっていた、PCの仮想化を行うXenClientが、米国・サンフランシスコで開催されたCitrixのテクニカルカンファレンス「Synergy 2010」で公開された。

 XenClientは、MicrosoftのVirtual PCや、Windows 7に搭載されているXP Mode、VMwareのVMware Workstationなどとは異なり、ハイパーバイザーを使用した仮想化ソフトだ。そこで、今回はXenClientに関して、紹介していく。


PC向けにハイパーバイザーを開発したXenClient

 XenClientの最大の特徴は、ベアメタル型のハイパーバイザーが採用されていることだ。これは、OSの上で仮想化ソフトを動作させ、さらにその上で仮想OSを動かすホスト型のハイパーバイザーとは異なり、ハードウェア上に直接ハイパーバイザーを動かし、その上で仮想OSを動かしている。つまり、サーバーで主流になっている仮想化と同じようなアーキテクチャを採用している。

 ハードウェア上で直接ハイパーバイザーを動作させることで、仮想OSのパフォーマンスが一気にアップする。これは、ホストOSが必要ないことから、ホストOSにCPUパワーなどを取られることがなくなるため。また、CPUが用意しているさまざまな仮想化支援機能を利用することで、パフォーマンスがアップしている。

 このように仮想化という面では、大きなメリットがあるベアメタル型のハイパーバイザーだが、PC用にはなかなか製品化されなかった。これは、サーバーと比べるとPCでは、サポートしなければならないハードウェアの数がけた違いに多くなるためだ。例えば、USB端子に接続する周辺機器は、プリンタ、HDD、USBメモリ、LANアダプタ、地デジユニットなど、サーバーからは考えられないほどの種類にわたる。

 また、サーバーの仮想化ではそれほど問題にならないグラフィック関連の機能も、PCの仮想化では大きな問題となる。サーバーでは、SVGAなどのグラフィック画面でもそれほど問題にならないが、PCではWindowsのAero画面(ウインドウの端が透けていたりする)が必要になる。

 つまり、PCを仮想化した場合でも、今までと同じ使い勝手やソフトウェアが同じようなパフォーマンスで動作しないと、多くのユーザーが利用するようにはならない。

 そこで、XenClientは、サーバー用に開発しているXenをベースに、PCに必要な機能を追加した、クライアントPC専用のハイパーバイザーとして開発された。特にグラフィック関連では、IntelのVT-dというハードウェア機能を使用することで、仮想OSであってもグラフィックの機能がすべて使えるようにしている。


PCを仮想化する意味は?

 XenClientは、単にPCを仮想化するというだけではなく、ITシステムに大きなインパクトを与える。

Citrixでは、BYOCというコンセプトを打ち出している
XenClientで、複数の仮想環境を切り替えるスクリーンイメージ

 CitrixのCIO Paul Martine氏は、Synergy 2010でBYOC(Bring Your Own Computer)というコンセプトを打ち出している。BYOCとは、個人用のPCをビジネスで利用できるようにするというものだ。

 現在、インターネットの進歩により、個人が利用するアプリケーションは、TwitterやFacebookなどがさまざまなモノが出てきている。さらに、iPhoneやiPadなどのスマートフォンなどのデバイスが一般的になれば、これらのデバイスと連携するアプリケーションがPCに搭載されることになる。

 しかし、企業側からいえば、管理できないアプリケーションが、企業で利用するPCに導入されることは、セキュリティ上の大きな問題になってくる。日本でも、会社のPCにP2Pのソフトがインストールされていて、企業のビジネス情報がP2Pネットワークに流出してしまうといったことも起こっている。

 このような状況を防ぐため、会社のPCはガチガチに管理しようというのが、最近のトレンドだった。このトレンドを実現するために、シンクライアントやサーバー側でデスクトップ環境を動かすVDIなどが出てきている。しかし、個人の生産性を向上させるツールとしてPCをみれば、そうした、ガチガチに管理されたPC環境は非常に使いにくい。また、企業のIT管理者は、最新のテクノロジーになかなか対応してくれないため、最新のインターネット・テクノロジーを取り入れにくいという面もある。

 そこで考えられたのが、クライアントPCを仮想化することで、個人の環境とビジネスの環境の2つを実現しようという考え方。このベースとして、ベアメタルのハイパーバイザーであるXenClientを使おう、というわけだ

 XenClientを利用すれば、個人のOS環境に、いろいろなアプリケーションがインストールされたり、最悪のケースとしてはウイルスに冒されたりしていても、ビジネスOS環境はセキュアな状態に保たれる。ユーザーは、個人のOS環境には、自由にソフトウェアをインストールできるが、ビジネスOS環境には勝手にソフトをインストールできない。

 つまり、個人のOS環境がどんなことになっていても、ビジネスOS環境は、きちんと保護される。もちろん、ビジネスOS環境は、企業側が管理することもできる。

 さらにCitrixでは、XenServerと組み合わせることで、XenClient上に構築されている仮想OS環境のバックアップを自動的に取ることができるようにしている。つまり、オフライン状態で使用しても、オンラインになれば、自動的にデータの差分が、XenServerにアップされる。これにより、クライアントPCの環境にトラブルが起こっても、バックアップされた仮想OS環境をダウンロードすることで、すぐに元に戻すこともできる。

Citrixは、さまざまなレベルでの仮想化を推し進めている。今までに、デスクトップ仮想化のXenDesktop、アプリケーション仮想化XenAppなどがリリースされている。XenClientは、クライアントPC自体を仮想化するXenClientは、XenDesktopと統合することで、サーバー側から一括管理できる。もちろん、PCが盗まれた場合は、盗まれたPCを起動しないようにすることもできる



XenClientのアーキテクチャは?

 XenClientは、オープンソースのXenをベースにしてクライアント向きに開発したXen Client Initiative(XCI)を基盤としている。

 XenClientは、Xenと同じアーキテクチャが使用されている。このためXenのDom0にあたる部分がControl Domainとして存在する。Control Domainは、ベースとしてはLinux OSが使用されている。ただし、XenClientの管理に必要な機能には、通常のLinuxでは必要ない機能があるため、それを取り外してコンパクトにしている。

 さらに、XenClientは、XenServerと同期する機能(Synchronizer)、リモートアクセスを行うCitrix Receiverなどの機能が追加されている。

XenClientは、XenServer上にバックアップされたVMと同期することができる。XenServer上のSynchronizerと同期して、クライアントPC上の仮想OSを管理することができるSynchronizerは、クライアントPCの仮想マシンのバックアップやデプロイメントを行う。仮想OS自体は、VHDフォーマットが採用されている
XenClientのServiceVMは、セキュリティ関連やVPN、ネットワークの高速化などで利用される。SDKは、2011年にリリース予定

 また、Control Domainや仮想OS環境(VM)以外に、Service VMと仮想環境が動作するようになっている。Service VMは、通常の仮想OS環境とは異なり、Control Domainと同じように管理用の仮想環境を動かすことになる。

 今回のSynergy 2010で、ウイルス対策ベンダーのMcAfeeと提携して、仮想環境におけるファイアウォールやウイルス対策ソフトをリリースすると発表した。例えば、McAfeeの統合セキュリティソフトをServiceVMで動作させれば、仮想OS環境とやり取りするネットワークトラフィックを管理したり、仮想OS環境でウイルススキャンを行ったりできるだろう。

 これなら、それぞれの仮想OS環境でセキュリティソフトを動かさなくても、XenClientのServiceVMに対応したセキュリティソフトを1つ導入すれば、クライアントPCの環境をセキュアに保護することが可能になる。CPUパワーを無駄に使うこともないし、セキュリティソフトを複数クライアントPCに導入するコストもかからない。

 CitrixではServiceVMに関して、限定されたソフトベンダーだけに公開する計画にしている。誰でもが勝手にServiceVMを起動できるようになれば、セキュリティ上も大きな問題になるからだろう。

 クライアントPCにとって重要なグラフィックに関しては、Intelが開発したVT-dというIOパススルー機能を利用している。VT-dは、仮想OSから、直接IOをコントロールできるようするハードウェア機能だ。XenClientでは、VT-dを使用することで、仮想OS環境からGPUに直接アクセスできるようになった。

 注意が必要なのは、VT-dによりGPUを単一の仮想OS環境が占有するため、サーバーの仮想環境のように、1つの画面で複数の仮想OS環境を表示することはできない。そのためCitrixでは、個々の仮想OS環境にFlexCastをインストールすることで、リモートデスクトップとして表示ができるようにしている。また、この機能を拡張して、指定したアプリケーションのウインドウだけをリモートで表示できる。PortICAという機能も用意されている。

 PortICAを利用すれば、個人のOS環境で、ビジネスOS環境にインストールされた業務アプリケーションを表示し、操作することができる。もちろん、実体としてはビジネスOS環境で動作しているため、個人OS環境の影響は全く受けない。例えば、個人OSがWindows XPでも、ビジネスOS上で動作している最新のソフトを利用することもできる。

XenClientのアーキテクチャ図グラフィックは、VT-dによりパススルーで接続される。パススルーで接続するため、複数のVMで共有することはできない。一度にアクセスできるのは、1つのVMからだけだXenClientでは、PortICAにより、セキュアなVM上で動作しているアプリケーションを、個人OS環境で動かすこともできる。ただし、仕組み的には、セキュアなVM上で動作しているアプリケーションの画面だけを、個人OS環境に表示する。いわば、XP Modeのアプリケーションモードのようなものだ

 また、キーボード入力やマウスのコントロールに関しては、個々の仮想OSがコントロールするのではなく、Control Domainで一括して管理されている。これにより、セキュアな入力環境が保証されることになる。つまり、キーボードの入力を取り込むキーロガーなどに対抗することができる。

 USBインターフェイスは、Control DomainでUSBホストコントローラをエミュレートされるので、個々の仮想OS環境がUSBデバイスのドライバを管理しなくてもよくなっている。すべてのUSB機器は、Control Domainが管理する。これにより、アクティブになった仮想OS環境で優先して、USB機器が利用できることになる。


XenClientの製品版は、2010年秋には登場

 今回リリースされたXenClientは、RC版ということで、製品版ではない。このため、動作環境でも、機能にもいろいろと制限がある。

 Citrixが動作を保証しているPCとしては、HP EliteBook、Dell Latitude、Dell Optiplex、Lenovo ThinkPadなどとしている。ただし、最新のvPro対応PCなら動作する可能性は高い。

 また、1.0 RCでサポートされているOSとしては、Windows XP SP3/Vista SP2/Windows7の32ビット版だ。これらのOSでは、XenClientのツール「XenClient Tools」がサポートされているから。使い勝手は悪くなるが、他のOSをインストールすることも可能だろう。

 同時に、XenServer上にXenClientのバックアップを取るSynchronizerがリリースされている。SynchronizerはXenServerのVirtual Applianceとして動作する。

 Citrixでは、XenClientを、2010年秋にはXenDesktopの一機能としてリリースする予定にしている。XenDesktopに統合されることで、ユーザーは、クライアントPCの仮想化、デスクトップの仮想化、アプリケーションの仮想化といったさまざまなレベルで仮想化環境を構築することができる。

 また、XenClientは、Intelと共同で開発しているため、将来的には無償でPCメーカーに提供される予定だ。これにより、仮想化を前提としたビジネスPCでは、XenClientが搭載されてリリースされる可能性もある。ただ、小売り販売は難しいため、企業が大量に導入するキッティングサービスなどにより、XenClientをプリインストールして販売することになるだろう。

【参考】
XenClient 1.0 RC版が動作するPC

  • HP EliteBook 6930P/2530P/8440P
  • Dell Latitude E4300/E6400/E6410/E6500
  • Dell Optiplex 780
  • Lenovo ThinkPad X200/T400/T500

動作するハードウェア
CPU:Intel Core 2 Duo、Core i5/i7
グラフィック:Intel GMA4500、Intel HD Graphics
メモリ:4GB以上
HDD:160GB以上
無線LAN:Intel WiFi Link 5100/5300、Intel Centrino Advanced-N 6200、Intel Centrino Ultimate-N 6300

vPro対応のPCが強く推奨される(VT-x、VT-dがサポートされていればXenClientは最低限の動作はする)





(山本 雅史)

2010/5/31/ 00:00