今回は、11月上旬にリリースされたFedora 14に搭載されたデスクトップ仮想化技術「SPICE」の基本的な使用法をご紹介します。
- Fedora Project
- URL:http://fedoraproject.org/
SPICEとは
SPICEは、LinuxKVMを開発したことで知られるQumranet社が開発したリモートデスクトッププロトコルです。Red Hat社に買収された後、オープンソース化されました。
SPICEの特徴として、音声転送(再生・録音に対応)やクリップボード転送機能、ネットワーク帯域が少ない環境でも快適に利用できるように映像や音声を転送する仕組みが最適化されている点などが挙げられます。例えば、外出先からイーモバイルやWiMAXなどといったモバイル環境で使用して接続しても、ストレス無くリモート操作すること可能です。
- SPICE公式サイト
- URL:http://www.spice-space.org/
SPICEを試してみよう
SPICEの使い方については、わかりやすく言うとQemuのvncオプションの代わりに使うイメージになります。これまでKVMでは次のようなオプション指定して、リモートからVNC接続して仮想マシンを操作していました。
SPICEでは、上記の代わりに次のようなオプションを指定して、リモートからSPICEクライアントで接続して仮想マシンを操作します。
よって、SPICEを試すまでの大まかな手順は次の通りとなります。
- Fedora 14でKVM環境を用意する。
- 仮想マシンを構築する。
- SPICEサーバーを仮想ホストにインストールする。
- SPICEを有効にして仮想マシンを起動する。
- SPICEクライアントで仮想マシンに接続する。
- 仮想マシンに必要なドライバをインストールする。
KVM環境の用意
まずはFedora 14でKVM環境を構築します。こちらは特に注意事項はありません。お好みで、ネットワークブリッジを作成してください。テスト用の仮想マシンは、Windows、Linuxどちらでも利用可能です。今回はWindows XP仮想マシンを例に説明を行います。ストレージ・ネットワークのVirtioドライバがインストール済みの環境であることを前提とします。
ちなみに、Fedora 14の仮想マシンを作成する場合は、インストール後にOSのアップデートを実行することと、後述のvdagentをソースからコンパイルしてインストールする必要があります。
SPICEサーバのインストール
SPICEのサーバパッケージを仮想ホスト上にインストールします。yumコマンドで簡単にインストールすることができます。
SPICEを有効にして仮想マシンを起動する
SPICEは現在、libvirtや仮想マシンマネージャで利用することができません。よって、コマンドで仮想マシンを起動させる必要があります。前回の記事(第5回 Fedora 13で最新のLinux KVMに触れてみよう)で紹介した「vhost_netを有効にして仮想マシンを起動する」で行った方法と同じく、仮想マシンマネージャで仮想マシンを起動し、psコマンドで実行中の仮想マシンのパラメータを取得します。
不要なパラメータを取り除きつつ、SPICEに関するパラメータを追加します。赤文字が取り除くパラメータ、青文字が追記する部分です。
SPICEに関するパラメータは次の通りです。
portはポート番号、disable-ticketingはパスワード無しで接続可能にするオプションです。パスワードを設定するには次のように指定します。
また、次のパラメータはクリップボード転送を有効にするためのものです。
次に、qemu-ifup、qemu-ifdownスクリプトを作成します。作成方法は前回の記事を参照してください。
クライアントから接続する
仮想マシンを起動したら、SPICEクライアントから仮想マシンに接続します。SPICEのクライアントには、現在のところWindows版とLinux版の2種類が用意されています。クライアントは下記URLから入手できます。
- Spice - Download
- URL:http://www.spice-space.org/download.html
使い方についてはどちらも共通です。
- Windows版を利用する場合:上記URLからclientとlibrariesの2つをダウンロードします。解凍したものの中からspicec.exeとlibcelt_0_5_1.dllを取り出し、同じディレクトリに配置して利用します。なお、クライアントの動作には.NET Framework 3.5 SP1が必要になります。
- Linux(Fedora 14)の場合:yumコマンドでspice-clientパッケージをインストールします。
spicecを起動すると、図1のような画面が表示されるので、接続先やポート番号などの情報を入力して接続します。
また、コマンドラインから直接パラメータを指定して起動することも可能です。
接続に成功すると、デスクトップ画面が表示されます。
ドライバのインストール
仮想マシンを起動すると、次のドライバのインストールを求められるので、インストールを行います。最新のドライバは先述のSPICE公式サイトのダウンロードページで配布されています。
- qxl ドライバ
- virtio-serial ドライバ
上記のインストールが済んだら、同じくSPICEの公式サイトで配布されているゲストエージェント(vdagent)をインストールします。これはクリップボード転送に必要なエージェントになります。ダウンロード・解凍したディレクトリをコマンドプロンプトで開き、次のコマンドでインストールします。
以上でSPICEに必要なドライバとエージェントがインストールされました。
SPICEがモバイル環境で快適に使えるか試してみる
さて、モバイル環境ではどのくらい快適に利用できるのでしょうか。VNCプロトコルとの比較も行いつつ、自宅のベランダでWiMAX回線を使った検証と、自宅の光回線の2種類で、YouTubeの動画を再生するテストを行ってみました。
検証した環境
検証環境は以下の通りです。
【サーバ】HP BL460c
CPU | Intel Quad-Core Xeon L5320(1.86GHz)×2 |
メモリ | 16GB(PC5300 FB-DIMM 4GB×4) |
ネットワーク | データセンターの100Mbps回線を使用 |
仮想マシン | 2vCPU |
2GB仮想メモリ |
Windows XP SP3 |
【クライアント】MacBook
OS | ブートキャンプを使って起動したWindows XP SP3 |
ネットワーク | 次の2種類で検証 |
- WiMAX回線。およその速度は下り5Mbps、上り2Mbps。
- 自宅の光回線(VDSL)。およその速度は下り30Mbps、上り18Mbps。
|
モバイル環境で比較
SPICE環境で動画再生を行ったところ、音声は比較的スムーズに届いてくることがわかりました(外の雑音がひどいですが……)。一方、映像はややもたついて見える印象です。
次はVNC環境です。音声はそもそも有効にならないため、映像のみとなりますが、紙芝居状態となってしまっています。再生直後に送信したスクロールがだいぶ後になって反映されてしまうなど、操作が難しい状態になっています。
光回線で比較
SPICE環境での再生結果はこちらです。下り速度が約6倍になったため、モバイル環境で再生した時よりも映像がだいぶスムーズに転送されるようになりました。
VNC環境は画面の更新間隔がおよそ2秒ほどに縮まりましたが、それでも紙芝居状態です。
まとめ
Fedora 14時点のSPICEは、libvirt・仮想マシンマネージャーでの利用ができないため、実行にはやや手間がかかりますが、VNCよりも十分快適に利用できることがわかりました。また、検証ではYouTube動画の再生という少々ヘビーなテストを行いましたが、オフィススイートの使用程度の用途であればモバイル環境でも快適に使用できるでしょう。