2009」では、米Citrixのクライアント仮想化ソフト「XenClient」に関するセッションが開催された。今回は、XenClientを元にクライアントハイパーバイザーを解説する。Clientsというコンセプトで考えている。このコンセプトでは、クライアントの要求に合わせて、バランスのとれたクライアントPCを採用するということだ。さまざまな仕組みのクライアントPCを導入しても、vProを使えば、一元的に管理できるvProを構成する要素。インテルCPU、チップセット、ネットワークチップ(AMTサポート)。ビジネス用の管理機能を有したPCは、vProマークがついているXenClientは、サーバー用のハイパーバイザー「Xen」をベースにして開発されたPC向けのハイパーバイザー(クライアントハイパーバイザー)だ。PCでハイパーバイザー?と思われる読者もいるだろう。最近ではPCの仮想化が非常に重要になってきている。XPを動かしている(ホスト型の仮想化)。XPのアプリケーションを動かすことができる。Modeでアプリケーションを動かしても、快適に動作しているとは言い難い。XPのアプリケーションを快適に動かすには、相当パワフルなCPUや大容量のメモリが必要になるからだ。XPをある程度のパフォーマンスで動かすことができる。7を使うといった使い方ができるのだ。クライアントハイパーバイザーのもう一つのメリットは、クライアントPCの使い分けができることだ。ウイルスなどに犯されたPCにより重要なデータが流出するなど、企業において、クライアントPCの管理は大きな課題だ。このため、会社で使用するPCは、きちんとウイルス対策ソフトを導入し、ユーザーが勝手にアプリケーションをインストールできなくして、がちがちに管理している企業も多い。これでは高性能なPCを生かしきることができない。ITの利用法も大幅に変化してきており、会社のデスク上にあるPCだけでなく、ノートPC、携帯電話などさまざまなデジタルデバイスを利用するようになっている。このため、1台のPCをがちがちに管理するのではなく、ビジネスに使用するPC環境だけをきちんと管理しようという方向性に変わり始めている。クライアントハイパーバイザーを利用すれば、仕事用のOS環境と個人用のOS環境を分けることができる。1台のPC上に2つの環境をお互いに干渉することなく同居させることができれば、PCそのものを企業が購入する必要もなくなる。従業員は企業から補助を受けて自分の好みのPCを購入し、仕事用のOS環境をクライアントハイパーバイザー上に構築すればいいというわけだ。仕事用のOS環境は、IT管理者がきちんと管理しており、ユーザーが勝手に設定を変更したり、アプリケーションをインストールすることはできなくなっている。同じPC上にユーザーが好きにアプリケーションをインストールできる個人用のOS環境があれば、自分の使いやすいように環境を整えることもできる。XenClient上で動作しているもう一つの仮想マシン。画面の上部にあるのが、仮想マシンのタスクスイッチ。緑のラインで囲まれているWebブラウザは、セキュア環境で動いているWebブラウザ。Vistaのフリップ3Dでウィンドウを表示しても、セキュア環境のWebブラウザは画面表示されない。いった部分もセキュアにできている将来的に、仕事用のOS環境がクラウド上に保存されるようになれば、仮想化されたOS環境をネットワークで引き出すことで、異なるPCでも同じ環境を動かすことができるようになるかもしれない。クライアントハイパーバイザーは、こういったことができるようになるためのインフラといえる。将来的には、仮想マシンをデータセンターに置き、クライアントPCでアップデートされた情報をデータセンターに送信することで、クライアント環境のバックアップが簡単に取れる。スナップショットが取れるため、昔の環境に簡単に戻すことも可能だ■XenClientでみるクライアントハイパーバイザーXenClientでは、セキュアなビジネス環境と自由なパーソナル環境を同一マシン上で実現するVT-d機能によりグラフィックカード(GPU)を直接仮想マシンに割り当てることで、GPUの機能を仮想マシンから利用することができるVT-dの機能説明。仮想マシンから直接、I/Oにアクセスすることができる。ハイパーバイザーは介在しない。ここでは、ネットワークとなっているが、グラフィックカードにも応用できるXenClientのハイパーバイザーは、Xenをベースにして開発されている。このため、CPUの仮想化支援機能(VT-x)などを使って、パフォーマンスをアップしている。Table)などの機能を利用すれば、仮想化のオーバーヘッドが非常に小さくなり、物理マシンと比べると数パーセントのオーバーヘッドで仮想マシンを動かすことができる。XenClientでは、ドメイン0といわれる仮想化を管理するためのOS(Linux)が搭載されている。このドメイン0がデバイスドライバを持ち、各仮想マシンからのアクセスをコントロールしている。各仮想マシンのOS上では、仮想化専用のドライバをインストールすれば、仮想環境にマッチさせることができる。このとき、もっとも問題になるのがグラフィック(GPU)だ。最近のグラフィックカードは、どんどんインテリジェント化して、単にグラフィックを表示するだけのものから演算ユニットになってきている。ハードウェアとして、GPUを仮想化するまでには発展していない。これは、グラフィックチップベンダーやOSベンダーが、そこまでの仮想化を考えて作ってはいないからだ(将来的な計画はあるが、実現には時間がかかる)。現状のままクライアントPCの仮想化を行うと、サーバーの仮想化と同じように、ソフトウェアでエミュレーションした標準VGAグラフィックでしか動作しない。UIやDirectXベースのゲームなどは、仮想化したクライアントPCでは動作しないことになる。これでは、クライアントPCの仮想化としては大きな問題となる。そこで、考え出されたのが、IntelのVT-dといったI/O仮想化の技術を使って、仮想マシンの直接グラフィックカードを割り当てようというものだ。いわゆるパススルーでグラフィックカードを仮想マシンに割り当てることで、仮想マシン上では、ダイレクトのグラフィックカードを扱うことができる。仮想マシンでありながら、DirectXベースのゲームを動かすことができるようになる。仮想マシンにダイレクトに接続するといっても、一つの仮想マシンがずっと占有するわけではない。ドメインOのコントロール機能により、別の仮想マシンにスイッチしたときには、その仮想マシンにグラフィックカードが占有されることになる。同じ画面に2つの仮想マシンの表示はできないということだ。画面での操作が多くなるクライアントOSは、仮想マシンがグラフィックカードを占有しても、利用上は大きな問題にはならない。画面表示がされていない仮想マシンも、動作がストップするのではなく、画面が表示されていないだけで、バックグラウンドで動作はしている。Vistaの仮想環境。UIも仮想化上で動作しているもう一つ重要なのが、USBデバイスの共有だろう。ESXなど一部のハイパーバイザーでは、仮想マシン上のUSBメモリの共有などが行われている。さまざまなUSBデバイスを共有するまでにはいたっていない。ネットワークなどは、Xenの準仮想化ドライバが入っているそこで、XenClientでは、ドメイン0に各種のUSBデバイスを動かすためのドライバをインストールし、仮想マシン上には準仮想化USBドライバをインストールする。Intelでは、企業向けのvProとクライアントハイパーバイザーを密接に構築することで、vProのセキュリティ性の高いOS環境(トラステッドOS)が実現できる。Technology)を利用して、クライアントハイパーバイザーやドメイン0のメジャーメント(いわゆるチェック)を行い、ハイパーバイザーやOSがウイルスや悪意のあるコードに犯されていないかをチェックすることができる。仮想マシンもメジャーメントできるので、仮想マシン環境の信頼性を確保することもできる。XenClientでは、TXTなどの機能を利用して、セキュアなアプリケーション動作が可能になっている。キー入力を横取りして、IDやパスワードを盗むキーロガーがOSに侵入していても、セキュアなWebブラウザを利用すれば、キーロガーなどが動作していても、キー入力を盗み取ることができなくなっている。VMという考え方もある。これは、Xenにある仮想アプライアンスと同じようなコンセプトだ。PC用のVoIPソフトをWindows上でアプリケーションとして動かすのではなく、仮想アプライアンスとして、区分けされた独自の環境で動かすことで、Windowsのほかのアプリケーションとぶつかって動作が不安定になるということもなくなる。OS上に構築して、VoIPの中核機能は、仮想アプライアンスとして導入すればいい。いった仮想アプライアンスを考えれば、指紋認証やカード認証などの認証システムやファイアウォールなどさまざまなモノが考えられる。TXT機能を利用すれば、これらの仮想アプライアンスがウイルスに冒されていないかをチェックすることも可能だ。TXTを使えば、セキュアなOSブート、データをUSBメモリにコピーしたり、印刷できなくすることもできるクライアントハイパーバイザーは、いろいろとメリットが大きいし、面白そうなテクノロジーだ。XenClientの場合、ドメイン0がLinuxベースとなるため、Windowsのようにさまざまなデバイスが利用できるかが問題になる。地デジのチューナーカードなどは、クライアントハイパーバイザーの環境では動作しないかもしれない。このように、サポートされるデバイスもある程度制限されるかもしれない。ビジネスで使用するPCは、それほど多種多様なデバイスは利用されていない。このため、ある程度デバイスが制限されていても問題ないだろう。IntelのvPro用にチューニングされたCitrixのXenClientは、2009年の年末までにリリースされる予定だ。クライアントハイパーバイザー自体は、無償でOEMメーカーに提供される。Citrixは、クライアントハイパーバイザーでもうけるのではなく、クライアント管理ツールを販売する計画だ。