カテゴリー別アーカイブ: KVM

KVM環境 VNC から SPICE への変更

仮想環境に 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 サーバがインストールされているか確認します。

# rpm -qa spice-server
spice-server-0.10.1-10.el6.x86_64

赤び~の環境では spice-server パッケージはインストール済でしたが、インストールされていない場合は yum からインストール可能です。

# yum install spice-server

~ 以下、略 ~

2.2. SPICE クライアントのインストール

ゲストマシンに接続するには SPICE クライアントが必要です。
今回は KVM ホストサーバにインストールしています。

SPICE クライアントがインストールされているか確認します。

# rpm -qa spice-client
spice-client-0.8.2-15.el6-x86_64

赤び~の環境では前述の spice-server と関連するパッケージしかインストールされていませんでした。

# rpm -qa spice-client
# 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 からインストール可能です。

# yum install spice-client

~ 略 ~

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) にインストール済

# rpm -qa xorg-x11-drv-qxl
xorg-x11-drv-qxl-0.0.14-14.el6_3.x86_64

ゲストマシン (Fedora 18) にインストール済

# rpm -qa xorg-x11-drv-qxl
xorg-x11-drv-qxl-0.0.22-5.20120718gitde6620788.fc18.x86_64

ゲストマシンに未インストール

# rpm -qa xorg-x11-drv-qxl
# yum install xorg-x11-drv-qxl

~ 以下、略 ~

(*) Windows 用のドライバも存在するようです。
@see 「SPICE - Download
@see 「Spice User Manual」-「6.1 Windows」

3. VNC から SPICE への変更

仮想マシンマネージャを起動し、ゲストマシンの起動パラメータを VNC から SPICE に変更します。

20130228_01

「適用」ボタンを選択すると、SPICE への変更と agent channel の追加を確認するダイアログが表示されるので「はい」を選択します。

20130228_02

変更後は「ディスプレイ」メニューに「TLS Port」項目が追加されます。

20130228_03

また、「Channel」メニューと「Controller Virtio Serial」メニューも新しく追加されています。

20130228_04 20130228_05

4. SPICE クライアントからの接続

spicec コマンドを使用して起動済みのゲストマシンに接続します。

$ spicec -h 127.0.0.1 -p 5900

アドレス (-h パラメタ) とポート (-p パラメタ) は仮想マシンマネージャの「ディスプレイ」メニューから確認可能です。
「ポート」が「自動割り当て」となっている場合、「5900」が割り当てられています。

また、-f パラメタを指定するとフルスクリーンで表示されます。

接続後は VNC 使用時と同様に使用可能です。

20130228_06 20130228_07

[ END ]