仮想環境に Xen を使用していた時はゲストマシンへの接続に VNC を使用していました。
その流れで Xen から KVM に移行後も VNC を使い続けていたのですが、最近 SPICE への切り替えを行いました。
1. VNC と SPICE の比較
VNC は RFB プロトコルを使用しているため、いくつか制限があります。
SPICE への切り替えを行ったのは、SPICE が VNC では実現できないマルチモニタに対応していたからです。
マルチモニタ対応以外にも VNC と比較して SPICE が優れていることがあります。
- マルチモニタ対応
- 動画再生支援
- 音声対応
- USB 対応
- SSL 対応
- ゲストマシン側の設定は必須ではない
(*) 設定が必須なのはホストマシンのみ
赤び~は動画再生支援や音声転送こそ使いませんが、USB、SSL への対応も便利そうです。
デメリットとして、Mac OS X 用の SPICE クライアントが存在しないことです。
(*) Windows 用はすでに存在するようです。
@see 「SPICE - Download」
2. SPICE のインストール
2.1. SPICE サーバのインストール
VNC と異なり、SPICE サーバは KVM のホストマシンへインストールします。
(*) VNC サーバはゲストマシン側にインストールする。
SPICE サーバがインストールされているか確認します。
spice-server-0.10.1-10.el6.x86_64
赤び~の環境では spice-server パッケージはインストール済でしたが、インストールされていない場合は yum からインストール可能です。
~ 以下、略 ~
2.2. SPICE クライアントのインストール
ゲストマシンに接続するには SPICE クライアントが必要です。
今回は KVM ホストサーバにインストールしています。
SPICE クライアントがインストールされているか確認します。
spice-client-0.8.2-15.el6-x86_64
赤び~の環境では前述の spice-server と関連するパッケージしかインストールされていませんでした。
# yum list installed | grep spice
spice-glib.x86_64 0.11-11.el6_3.1 @updates
spice-gtk.x86_64 0.11-11.el6_3.1 @updates
spice-gtk-python.x86_64 0.11-11.el6_3.1 @updates
spice-server.x86_64 0.10.1-10.el6 @base
spice-client パッケージも yum からインストール可能です。
~ 略 ~
Transaction Summary
================================================================================
Install 1 Package(s)
Total download size: 347 k
Installed size: 1.2 M
~ 略 ~
Installed:
spice-client.x86_64 0:0.8.2-15.el6
Complete!
2.3. QLX デバイスドライバのインストール
ゲストマシンに QLX デバイスドライバをインストールすると、SPICE クライアントから使用する際の画面表示パフォーマンスが向上します。
(*) インストールしなくても動作します。
インストール有無を確認し、インストールされていなければ yum でインストールします。
ゲストマシン (CentOS 6.3) にインストール済
xorg-x11-drv-qxl-0.0.14-14.el6_3.x86_64
ゲストマシン (Fedora 18) にインストール済
xorg-x11-drv-qxl-0.0.22-5.20120718gitde6620788.fc18.x86_64
ゲストマシンに未インストール
# yum install xorg-x11-drv-qxl
~ 以下、略 ~
(*) Windows 用のドライバも存在するようです。
@see 「SPICE - Download」
@see 「Spice User Manual」-「6.1 Windows」
3. VNC から SPICE への変更
仮想マシンマネージャを起動し、ゲストマシンの起動パラメータを VNC から SPICE に変更します。
「適用」ボタンを選択すると、SPICE への変更と agent channel の追加を確認するダイアログが表示されるので「はい」を選択します。
変更後は「ディスプレイ」メニューに「TLS Port」項目が追加されます。
また、「Channel」メニューと「Controller Virtio Serial」メニューも新しく追加されています。
4. SPICE クライアントからの接続
spicec コマンドを使用して起動済みのゲストマシンに接続します。
アドレス (-h パラメタ) とポート (-p パラメタ) は仮想マシンマネージャの「ディスプレイ」メニューから確認可能です。
「ポート」が「自動割り当て」となっている場合、「5900」が割り当てられています。
また、-f パラメタを指定するとフルスクリーンで表示されます。
接続後は VNC 使用時と同様に使用可能です。