PCのグラフィック機能を使える仮想デスクトップ「XenClient」を試す【前編】


 シトリックスがリリースしたXenClientは、クライアントPCを仮想化するためのクライアント・ハイパーバイザーだ。XenClientは、シトリックスがサーバー向けの開発しているXenServerをベースにして開発されている。

 XenClientの最大の特徴は、仮想OS上からGPUに直接アクセスできることだ。この機能により、仮想OSでありながら、GPUのハードウェアを使った画面表示が行える。つまり、シューティングゲームなどのDirectXを使ったゲームなども、XenClient上で動かすことが可能になった。

 エンタープライズにおいては、ゲームはあまりメリットがないが、今後DirectXを利用したアプリケーションが普及してくれば、XenClientのメリットは大きい。特に、GPUを表示に生かすInternet Explorer 9(IE9)などのWebブラウザが普及してくれば、ハイパーバイザー上でもDirectXが利用できる、XenClientのメリットがはっきり分かるようになるだろう。

 ホスト型のハイパーバイザー(VMware WorkStationなど)でも、専用のグラフィックドライバーを使うことで、一部のDirectXのAPIがサポートされていることもある。しかし、GPU機能をパススルーで利用できるハイパーバイザーとしてXenClientは注目に値する。
 仮想化道場では、2回にわたって、このXenClientをレポートしていく。

 

仮想デスクトップ(VDI)ソリューションの一部となるXenClient

XenClientは、ライセンス的にはXenDesktopの一部として提供されている
XenClientは、Xen.orgのクライアント・ハイパーバイザー・プロジェクトをベースに開発されている

 XenClientは、ライセンス的には、シトリックスがリリースしているXenDesktopの一部となっている。XenDesktopは、複数のテクノロジーを組み合わせたデスクトップ仮想化ソリューションだ。

 XenDesktopは、XenServer上に構築された仮想デスクトップに、シトリックスが開発したCitrix HDX(High Definition eXperience)プロトコルを使ってアクセスする。HDXを利用すれば、3Dグラフィックの表示やスムーズなビデオストリーミングなどの機能がサポートできる。

 XenDesktopは、複数のデスクトップ仮想化をサポートしている。HDXを利用してサーバー上に構築された仮想クライアントを、リモートデスクトップ接続で利用する方式が用意されている。この方式は、いってしまえば、デスクトップ画面をLANやWANを経由して、クライアントに送信するもので、キーボードやマウスの操作もサーバーに送信する。

 この方式を利用すれば、クライアントはPCだけでなく、シンクライアントを端末にしたり、iPad、iPhoneなど端末にしたりすることもできるし、デスクトップ全体だけでなく、特定のアプリケーションの画面だけを送信して、利用することも可能だ。

 また、XenDesktopに用意されているXenApp機能を利用すれば、サーバーからアプリケーションを仮想化して、クライアントに送信することができる。この機能を利用すれば、クライアント側にアプリケーションをインストールしなくても、サーバーからアプリケーションをオンデマンドで送信して、クライアントで利用することが可能になる。

 最後の方式が、XenClientになる。XenClientは、単にクライアントPCを仮想化するだけでなく、Receiver(XenClient側にインストール)とSynchronizer(XenServer側にインストール)を利用することで、XenDesktop上の仮想OSを同期することができる。ただし、現在のバージョンでは、XenDesktop上の仮想OSをXenClientに移動したり、XenClient上に構築された仮想OSをXenDesktopに移動したりすることはできない。

 Synchronizerを使えば、仮想OSのリース期間やポリシーの設定などを集中して管理することができる。また、紛失したPCに関してもリモートより仮想マシンを使用不可能にすることが可能だ。

 例えば、XenClientをインストールしたPCに、個人が使うOS環境と会社が提供するOS環境の2つをインストールしておく。もし、そのPCをなくしたとしても、会社の情報が入ったOS環境は、起動時にネットワーク経由で認証が行われるため、もしサーバーで使用不可にしておけば、その仮想OS環境は起動しない。

 このため、PCを紛失したり、盗まれたりしても、会社の情報が外部に漏れることはない。また、ReceiverとSynchronizerで、サーバー側に仮想OSのイメージがバックアップされるため、新しいPCでも簡単にOS環境やデータを戻すことができる。


XenClientとXenDesktopは、Synchronizer機能でクライアントPCの仮想OSをサーバー上の仮想OSと同期させるXenClientのSynchronizerは、LANだけでなくWANにも対応している。このため、外部に持ち出したノートパソコンでも同期機能が利用できる
XenClientでは、バックグラウンドで動作している仮想OSのアプリケーションをウインドウで表示することができる。これは、XenDesktopの一部の機能をXenClientにインプリメントしているXenClientで動作環境を仮想化することで、バックアップや配置などが非常に楽になる。今後、OSの仮想化が、企業におけるPCの基本になるかもしれない

 

XenClientが動作する環境は?

XenClient自体は、無償で提供されている。さらに、XenDesktopを含めて10デバイスまでは、検証用として使用できる

 XenClientは、XenDesktopの一部として提供されている。ただし、クライアントハイパーバイザー(XenClient)は、無償で提供されている。さらに、管理機能(Synchronizer)を利用する場合は、XenDesktopのライセンスが必要になる。ただし、検証用として、10デバイスまでは無償で利用できる。

 XenClient上で動かすWindowsに関しては、別にライセンスが必要になる。ただし、マイクロソフトの企業向けボリュームライセンスプログラムにおいて、Windows 7をソフトウェアアシュアランス(SA)付きで購入していれば、1台のPC上で4つの仮想OSを動かすライセンスがある。またボリュームライセンスで購入するなどして、OSのダウングレード権があれば、最新のWindows 7だけでなく、Windows XP/Vistaなどを仮想環境で動かすことも可能だ。

 XenClientは、どんなPCでも動作するわけではない。サポートされている動作PCは非常に限定されている。

 現在サポートされているPCは、シトリックスのWebサイトに互換リストが出ているが、基本的にはIntel vProのPCだけだ。

 ただし、すべてのvPro PCでXenClientが動作するわけではない。実際、筆者が持っていたQ57チップセットのマザーボードIntel DQ57TMでは、XenClientは動作しなかった。XenClientをテストするには、互換リストに掲載されているPCを用意するしかない。

 XenClientの動作が保証されているPCとしては、Dell、HP、Lenovo、Panasonicなど30種ほどのPCだけだ(これ以外にも、リストに出ているPCと同じようなCPUやチップセットなどを利用したパソコンなら、XenClientが動作する可能性はある)。


XenClientは、メモリが4GB、ディスクが160GB以上のシステム。CPUとグラフィック、ワイヤレスLANは限定されたチップしかサポートされていない。基本的には、vPro対応のPCが最低条件となるようだ。現状では、Dell、HP、Lenovo、PanasonicなどのPCしかサポートされていないXenClientは、ベアメタルのハイパーバイザーとして動作する。2011年には、仮想アプライアンス(Service VM)機能も提供される
XenClientの特徴として、VT-d機能を使って、グラフィックのパススルー機能をサポートしている。VT-dが必須のため、現在ではAMD系のCPUとチップセットでは動作しない。将来的には、AMD系CPUとチップセットでも、VT-dを同じIOMMUという機能により、動作する可能性もある

 XenClientの利用には、CPUの仮想化支援機能(VT-x)と、仮想OSから直接GPUを利用するために、Intelが開発したVT-dというIOパススルー機能が必要になる。VT-dは、仮想OSから、直接IOをコントロールできるようするハードウェア機能だ。XenClientでは、VT-dを使用することで、仮想OS環境からGPUに直接アクセスできるようになった。

 また、有線LANだけでなくワイヤレスLANも仮想化して使用することができる。ワイヤレスLANの仮想化は、IntelのワイヤレスLANチップといくつかのワイヤレスチップだけがサポートされている。

 XenClientで最も問題になるのが、グラフィックチップだ。vProということで、Intelのグラフィックチップだけがサポートされている。将来のバージョンでは、Intel以外のGPUをサポートすることが検討されているが、現在のVer 1.0ではIntelのグラフィックチップだけとなっている。

 なお、XenClientでサポートされているグラフィック機能は、特定の仮想OSがGPUをパススルーで利用する。このため、複数の仮想OSから、同時にGPUが利用できるわけではない。

 また、周辺機器で使用される、USBに関しても、同時に複数の仮想OSからアクセスできるわけではない。あらかじめ指定した仮想OSが、USBデバイスを占有することになる。

 

クライアントハイパーバイザーはエンタープライズ・コンピューティングを大きく変える

 XenClientは、企業のITシステムにおいて、大きな変化をもたらすモノだ。

 今までのITシステムでは、クライアントPCの管理を厳格に行うことで、情報の流出などを抑えようとしていた。企業にとって重要なデータを持つクライアントPCに、勝手にさまざまなアプリケーションをインストールされることは管理面からは大きな問題となるからだ。

 このため、PCのパワーを生かして、さまざまなアプリケーションを動かすことができなくなったきた。つまり、ユーザーが自由にアプリケーションをインストールしにくくなっているのだが、依然として、自分の好きなアプリケーションを利用したい、という声は強い。

Citrixでは、XenClientの登場により、BYOC(Bring Your Own Computer: 私有パソコンの持ち込み)やDaaS(Desktop as a Service:デスクトップをサービスとして利用)などの新しいビジネスモデルが企業で利用されると予測している

 こうした二律背反する要求をクリアする解が、クライアントハイパーバイザーだ。厳重にセキュリティがかかった仮想OS環境とユーザーが自由に利用できる仮想OS環境の2つを1つのPC上で動かすようにできれば、管理とPCの自由さの2つを満足させることができる。

 さらに、デスクトップ仮想化とクライアントハイパーバイザーを融合させることで、1つの仮想OSをサーバー上で動かしたり、PC上で動かしたりすることができる。

 また、クライアント環境は、PCだけでなく、iPhoneやAndroidなどのスマートフォン、iPadなどのタブレット端末など、非常に多様化してきている。これらの端末から、サーバー上に構築されたデスクトップ仮想化(VDI)にアクセスできるようになれば、企業のITシステムにとっては非常に使いやすくなる。

 クライアントハイパーバイザーは、XenClientが一歩先に進んでいるが、マイクロソフトでもWindows 8でHyper-VベースのハイパーバイザーをクライアントOSに搭載する計画もあるようだ。

 今後、さまざまなPCでクライアントハイパーバイザーが動作し、企業のITシステムでVDIが採用されれば、多くの企業がクライアントハイパーバイザーが利用されるようになるだろう。

 

 次回は、実際にXenClientをインストールして、どのように利用できるかを紹介していく。

関連情報