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


DellのノートPC「Latitude E4310」

 前回は、XenClientの概要に関して解説した。今回は、実際にXenClientをインストールして、テストしていく。

 PCは、Dellからノート型のLatitude E4310をお借りした。Latitude E4310は、Citrixのハードウェア互換リストにも掲載されているため、XenClientが動作することは確認されている。従って、インストールでつまずくところはなかった。

 なお、XenClientは、インストール時にHDDの内容を初期化するため、もしテストする場合はHDDの内容をバックアップしておくか、新しいHDDと取り換えて利用した方がいいだろう。

 ちなみに、年が明けてすぐの1月4日に、XenClient 1.0 SP1がリリースされている。

 

XenClientのインストール

 XenClientを利用するためには、仮想化関連の設定をオンにしておく必要がある。Latitude E4310のBIOS画面でVT-xとVT-dをオンにしておく。そうしないと、インストールが途中で止まってしまう。

 次に、XenClientをCitrixのWebサイトからダウンロードしておく。

 ダウンロードしたXenClientは、ISOファイル形式になっているため、CDライティングソフトでメディアに書き込んでおく。ダウンロードしたXenClientは、350MBぐらいなので、CD-R/RWで十分だ(DVD-Rほどの容量は必要ない)。

 個人的には、USBメモリをブートドライブとして、インストールできるようになると便利になると思うが、標準ではサポートされていない。ただし、ダウンロードしたISOファイルをUSBメモリにコピーするソフトがあれば可能かもしれない。

 XenClientのCDをPCに入れてブートすれば、インストールが開始される。インストール時の作業は、言語(日本語)の選択ぐらいだけだ。後は、自動的にインストールが進む。その後、リブートすれば、XenClientが起動する。

 なお、XenClientの動作確認がされていないvPro対応PCでは、リブート後にXenClientのメニューが表示されないこともあった。

CD/DVDからXenClientを起動後、言語選択でJapanを選択HDDを初期化するため、ウォーニングが表示されるXenClientの管理者パスワードを入力する

 

XenClientにOSをインストール

 XenClientが起動したら、仮想環境にOSをインストールしてみよう。

XenClient 1.0では、Windows XP 32ビット版/Vista(32ビット版、64ビット版)/Windows 7(32ビット版、64ビット版)がサポートされている

 XenClientでは、現在インストールできるOSが、Windows 7 32ビット版/64ビット版、Windows Vista 32ビット版/64ビット版、Windows XP 32ビット版となっている。これらのOSなら、XenClient専用のドライバをインストールして、VT-d機能を使って直接GPUを利用することもできる。

 今回は、Windows 7 64ビット版、Windows XP 32ビット版の2つのOSをインストールする。

 OSのインストールを行うには、XenClientのメニューで、「Create From Install Disc」もしくは、管理画面の左上にある「Add VM」を選択してする。

 次のステップは、仮想環境が使用するメモリと仮想CPU数を設定する。Windows 7/Vistaでは、最低1GBのメモリ容量を割り当てることが必要だろう。Windows XPでは最小動作メモリが128MBとなるが、ある程度アプリケーションを動かすことを考えれば、最低でも512MBは必要になる。

 このため、XenClientを動かすPCでは、できるだけメモリを搭載しておく必要がある。仮想環境に割り当てるメモリ容量を少なくすると、仮想環境の性能が落ちてしまう。

 XenClientの推奨環境では、4GB以上のメモリとなっているし、例えば、仮想環境に1GBずつ割り当てるなら、2つの仮想環境で2GB、XenClientの動作環境と余裕を見て1GB、トータル3GBは必要になる。

 XenClientは、ハイパーバイザー側で64ビット環境をサポートしているため、4GB以上のメインメモリを搭載してもOKだ。8GBぐらいのメモリを搭載していると、複数の仮想環境を動かしても、メモリが足りなくなることもないだろう。

 仮想CPUに関しては、最大4つまで設定できる。物理CPUがコアを2つしか持っていない場合でも、仮想CPUとして物理CPU以上設定できるが、設定しても、仮想環境が速くなるわけではない。やはり、物理CPUが持つコア数以上を仮想環境では割り当てない方がいい。

 仮想環境が使用するHDDの容量とネットワークの設定だ。Windows XPでは最小HDD容量としては2.1GB、Windows 7では20GB(64ビット版)だ。ただし、このHDD容量は、最低限OSを動かすための値だ。もし、いろいろなアプリケーションをインストールしたり、ある程度快適に仮想環境を動かしたりすることを考えれば、それぞれの仮想環境が使用するHDD容量は、100Bぐらいにしておく方がいいだろう。

 ネットワークに関しては、XenClientでは、無線ネットワーク(WiFi)と有線ネットワークの両方をサポートしている。ただし、両方とも、サポートされているNICやチップは限定されているため、外付けのLANカードなどはサポートされていない。

 ネットワーク設定では、Bridgedモード、Sharedモード、Internalモードの3つが設定できる。

 Bridgeモードは、仮想環境ごとにIPアドレスを取得してネットワークに接続する。一方、Sharedモードは、1つのIPアドレスをすべて仮想環境で共有する。Internalモードは、XenClient上で動作している仮想環境同士のネットワークだけで、外部のパソコンやインターネットにはアクセスできない。

 SharedモードやInternalモードは、特殊な設定といえる。このため、今回は、Bridgedモードを利用した。

 最後に、「Start VM&Install OS」を選択して、DVD/CDドライブから仮想環境にOSをインストールする。

 「Create VM & Install OS Later」を選択すれば、仮想環境だけが作成される(OSのインストールは後で行うことになる)。

 個人的に残念だったのは、OSのインストールがDVD/CDメディアからしか行えないことだ。例えば、Windows 7のようにUSBメモリからOSをインストールしたり、VHDの仮想イメージをXenClientに取り込んでインストールしたりすることはできないようだ。これらの機能がサポートされれば、OSのインストールも速く行えることになる。

 できれば、XenClientの管理環境に特殊なストレージエリアを用意して、外部からOSのISOイメージなどをコピーできるようになれば、便利になると思う。コピーしたOSのISOイメージを仮想CD/DVDドライブとしてマウントして、OSのインストールができれば、OSインストール自体も高速に行える。


リブートすると、XenClientの管理画面が表示される仮想環境を作成する場合は、左上のメニューから「Add VM」を選択する仮想環境が使用するメモリ容量と仮想CPUを設定する
仮想環境が使用するディスク容量とネットワークを設定。ネットワークは、有線とWiFiがサポートされている。通常は、Bridgedを選択するCD/DVDドライブからWindows XPをインストール。フル画面でインストール画面が表示されるため、仮想環境でインストールしているとは思わないだろうXenClientの管理画面では、作成した仮想環境のオン/オフ/サスペンド/リセットなどがコントロールできる

 

XenClientの専用ツールをインストール

XenClient上にインストールしたWindows 7に、仮想ドライブとしてXC-Toolsが用意されている

 仮想環境にOSをインストールしたら、最初にXenClientの専用ツールXC-Toolsをインストールする。

 XC-Toolsは、インストールしたOSをXenClient環境に対応させるための、ドライバやアプリケーションが入っている。このドライバをインストールしないと、直接GPUにアクセスできないし、USBポートなどが仮想環境から使用できない。

 XC-Toolsのインストールにあたっては、XC-Toolsという仮想ドライブがあらかじめマウントされている。このXC-ToolsにあるSetupプログラムを起動すれば、XC-Toolsがインストールできる。

 XC-Toolsがインストールできれば、グラフィックの解像度もアップする。また、仮想環境の切り替えのために、画面の上部にコントロールバーが表示されるようになる。

 また、XenClientの特殊キーもサポートされ、CTRL+0キーでXenClientの管理コンソール画面に切り替えることが可能。CTRL+0番が管理コンソールで、CTRL+1番が最初に起動した仮想環境となる。このキーで、仮想環境を切り替えることができる。

 XenClientの画面表示に関しては、1つの画面に複数の仮想環境のウインドウを表示することはできない。CTRL+番号キーで、起動されている仮想環境の画面を切り替える方式だ。これは、仮想環境が直接GPUにアクセスするため、複数のデスクトップを1つの画面に表示する仕組みにはなっていないため。将来的にXenClientのバージョンがアップすれば、1つの画面に複数のデスクトップが表示できるようになるかもしれない。


XC-Toolsからは、XenClientを利用する上で必要なドライバーやツール類がインストールできる。XC-Toolsをインストールすると、画面の上部に仮想環境を切り替えるためのタスクバーが表示される。このバーは、必要なければ、自動的に閉じられる

 

USBデバイスもサポート

管理画面で、仮想環境に接続したUSBメモリが確認できる

 XenClientでは、USBデバイスをサポートしている。これにより、仮想環境で、USBメモリなどを利用することができる。

 USBデバイスも画面表示と同じように、1つの仮想環境が占有する仕組みになっている。特に、USBデバイスは、ユーザーが特定の仮想環境から切り離しをしないと、その仮想環境がずっと占有し続けることになる。

 これは、USBデバイスが、同時に複数の仮想環境からアクセスできるようにはなっていないからだ。特に、同時にUSBデバイスにアクセスした時に競合が起こったり、データの上書きが起こったりする。こういったトラブルを防ぐために、1つの仮想環境からしかアクセスできなくなっている。

 また、XenClientでサポートされているUSBデバイスとして、USBメモリやUSB-HDDなどは、動作が確認されている。ただし、USB接続のネットワークデバイス、TVチューナーなどはまた確認していない。やはり、すべてのUSBデバイスがXenClientで利用できるとは思わない方がいいだろう。

仮想環境でGPUを利用する

 仮想環境で直接GPUを利用するには、いくつかの設定を行う必要がある。仮想環境にOSをインストールしただけでは、直接GPUを利用することはできない。標準では、XenClient専用の仮想グラフィックドライバがインストールされている。

 GPUを利用するためには、XenClientの管理コンソールで、GPUを利用したい仮想環境を選択する。この時、「View」を詳細表示モードにしておく。詳細表示モードの「Experimental」タブを選択して、「3D Graphics Support」をEnabledにする。

 そうすると、仮想環境上でGPUが認識されるため、XenClient専用の仮想化グラフィックドライバから、GPUに対応したドライバをインストールすることになる。再起動後、ディスプレイアダプタとして「Intel HD Graphics」のドライバがインストールされる。

 これで、仮想環境からGPUが直接利用できるようになり、GPUを利用するInternet Explorer 9(IE9)などのアプリケーションが使えるようになった。もちろん、ゲームソフトなども仮想環境で使用できる。

 ただし、現在XenClient1.0でサポートしているGPUが、Intel HD Graphics(Core iシリーズに内蔵されているグラフィックチップ)、Intel GMA4500(Q45チップセットに内蔵されているグラフィックチップ)の2種類しかない。これらのGPUは、性能的には高くないため、ゲームを動かしても、あまり高い性能でプレーできない。

 NVIDIAやAMDのGPUを仮想化することは、XenClientでも大きな課題となっている。5月に開催されるCitrixのイベント「Synergy」で、XenClient 2.0が発表されれば、もしかすると、NVIDIAなどのGPUがサポートされる可能性もある。

 ただ、すべてのGPUに対応するわけではないだろう。クライアントハイパーバイザーがどのPCでも動作するようになるには、まだ時間がかかるのではないか。

管理コンソールで、仮想環境の詳細表示モードにする。画面のViewを右側の詳細にすることで詳細モードが表示されるExperimentタブから、3D Graphics SupportをEnableにする
仮想環境のWindows 7を再起動すると、グラフィックドライバとして物理環境のグラフィックチップIntel HD Graphics用のドライバがインストールされているのがわかるIE9のベンチマークソフトを動かしてみた。仮想環境でも直接GPUにアクセスできるため、画面表示の性能は物理環境と同じだ

別の仮想環境のアプリケーションを共有する

 XenClientでは、1つの画面に複数のデスクトップを表示することはできない。そこで、バックグラウンドで動作している仮想環境のアプリケーションを、XenAppのテクノロジーを利用して、フロントで動作している仮想環境に画面転送する機能「PortICA」を用意している。

 この機能を利用すれば、会社から提供されているアプリケーションを、バックグラウンドの仮想環境で動作させ、フロントで動作している仮想環境に、画面表示を集められる。これなら、アプリケーションによっていちいちOSを切り替えたりしなくても、あたかも、1つのデスクトップで動いているように利用できる。

 また、通常の環境では1つのOS内に同居できない、IE9とIE6を同じ画面で使うこともできる。Officeなども、複数のバージョンを同時に使用することが可能だ。

 PortICA機能を使用するためには、アプリケーションを提供する側(Publish側)と利用する側(Subscriber側)をきちんと決める必要がある。今回は、Windows XPをPublish側、Windows 7をSubscriber側に設定した。

 PortICA機能を利用するには、まず、専用のドライバをインストールする。Windows XPのXC-Toolsドライブの中にある「SecureApplicationSharing」フォルダを開く。このフォルダにあるSetupプログラムを起動する。プログラムが起動したら「Publish Applications」にチェックを入れて、インストールを開始する。

 次に、XenClientの管理コンソールに移動して、Windows XPの詳細表示モードから「Experimental」タブを選択して、「Publish Applications」をEnableにする。これで、Windows XPの環境をPublish側として設定できた。

 Windows 7でも同じく「SecureApplicationSharing」フォルダでSetupプログラムを起動。Windows 7では、「Subscribe to Applications」をチェックして、インストールする。XenClientの管理コンソールに移動して、Windows 7の詳細表示モードから「Experimental」タブを選択して、「Subscribe Applications」をEnableにする。

 これで、Windows 7で、Windows XPのアプリケーションを使用するには、Windows 7とWindows XPの仮想環境を両方とも起動しておく。Windows 7で「Dazzle」というアプリケーションが表示される。Dazzleには、Windows XPにインストールされているアプリケーションが表示されている。アプリケーション一覧で「Add」ボタンを押せば、Windows 7からWindows XPのアプリケーションが利用できるようになる。

 Windows XPのアプリケーションは、スタートメニューのDazzle Appsの下に追加されている。これをクリックすれば、Windows XPのログオン画面が表示され、ユーザー名とパスワードを入力すれば、アプリケーションが表示される。


Windows XPのXC-Toolsドライブの中にある「SecureApplicationSharing」フォルダのSetupプログラムを起動するWindows XPは、アプリケーションを提供する側なので、「Publish Applications」をチェックする管理コンソールの詳細表示ビューから、Experimentタブを選択。「Publish Applications」をEnableにする
Windows 7は、Windows XPのアプリケーションを利用する側なので、XC-Toolsドライブの中にある「SecureApplicationSharing」のSetupプログラムでSubscribe to Applicationsを選択。管理コンソールのExperimentタブでも、「Subscribe to Applications」をEnableにしておくWindows 7を起動するとDazzleというアプリケーションが起動されるDazzleには、Windows XPにインストールされているアプリケーションが一覧表示されている。ここでは、IE6をAddすれば、Windows 7でIE6の画面が表示される
IE6をAddすると、スタートメニューのDazzle AppsにIE6が追加されているDazzle Appsに追加されたIE6を起動すると、Windows XPのログオン画面が表示される。ユーザー名とパスワードを入力するIE9とIE6を2つ表示してみた。IE9はWindows 7で動作しているが、IE6はWindows XPで動作している。画面だけをWindows 7に転送している

 XenClientは、クライアントハイパーバイザーとして、新しいPCの利用法を切り開いているように思う。企業が提供するOS環境と個人が使用する環境を切り分けられるようになれば、セキュリティ面でもメリットがある。

 さらに、将来的には、仮想環境にウイルス対策ソフトやファイアウォールなどを動かす仮想アプライアンスが提供されるかもしれない。セキュリティ関連の機能を仮想アプライアンス化すれば、仮想環境のOSが変わっても、同じセキュリティソフトがそのまま利用できる。また、仮想アプライアンスが自動的にアップデートするようになれば、いつも最新のセキュリティ機能がすべての仮想環境に適応することができる。

 今回は、テスト環境などの都合で、XenServerやXenDesktopと組み合わせたソリューションとしてのテストができなかった。こちらの方は、近々テストして、またレポートしたいと思っている。

関連情報