読者です 読者をやめる 読者になる 読者になる

Fedora12でKVM+SPICEを使ってみた(1)

先日Red HatからSPICE関連のツールがオープンソース化されたのだが、Fedora12 (筆者が使ったのは、x86_64版) でこれらのツールを試す方法が紹介されていたので、合わせて実施してみた。
http://www.linux-kvm.com/content/getting-started-spice-fedora-12

SPICEは仮想デスクトップ用の通信プロトコルで、詳しくはこちらを参照。
http://www.spice-space.org/download.html


方法は、リンク先の通りで、yumレポジトリの追加を行い、qemu-spice, spice-client のインストールを行うことになる。

なお、ゲストOSとしては、CentOS5.4 64bit版(virt-managerから作っておいたものを使用) を使ったのだが、qemu-spice での起動、spicecでの接続時にXを起動するには、あらかじめQXL用のXドライバをインストールしておき、

yum -y install xorg-x11-drv-qxl

xorg.confで、

Driver "qxl"  (通常は、 Driver "cirrus"  の部分)

を指定する必要があった。

この状態だとほとんどVNCと変わらない様子だったため、youtubeで動きの大きい画像を見て、両者の負荷を比較してみた。
この際、libvirtを使わない場合のQEMUの通信設定で若干迷ったのだが、これについては後述。。
※ ちなみにyoutubeの画像はこちらを使用してみた。 ww (→ http://www.youtube.com/watch?v=Wm8ec5U2bvU : youtubeのページ(音声あり)なので、リンク先に飛ぶときは注意 )

VNC, SPICE共にホストOSとの通信はTCPで行うため、sar -n DEV 1 にて、通信状態を確認してみた。ここでは、一番通信が多かった部分のみ貼っておく。。だいたいVNCの方が1.5倍程度なのだが、見る限り、全体的にこのようだったと思う。(Gangliaの画像があるとよかったのだが、lo経由なので取れていなかった。。 orz )

VNC:
05:00:13 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
05:00:14 PM        lo    495.05    495.05  12135.86  12135.86      0.00      0.00      0.00
05:00:14 PM      eth0      0.99      0.00      0.11      0.00      0.00      0.00      0.00
05:00:14 PM       br0      0.99      0.00      0.10      0.00      0.00     
SPICE:
05:07:48 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
05:07:49 PM        lo    354.00    354.00   8521.38   8521.38      0.00      0.00      0.00
05:07:49 PM      eth0     44.00     38.00     62.54      2.70      0.00      0.00      0.00
05:07:49 PM       br0     44.00     38.00     61.94      2.70      0.00      0.00      0.00

CPU負荷の違いはこちらである。(こちらはGangliaで取得。)

残念ながら、この画像で見る限り、ホストOSの負荷にはあまり変わりは無かった。w SPICEではクライアント側のCPUを使うので、クライアントPCの負荷が上がるとのことだが、今回はlocalhost宛の通信なので、あまり差が出ていない。。



ざっくり使って見たところでは、こんな感じである。やはりクライアントPCとKVM実施ホストを分けないとVNCとの違いははっきりしない様である。。もう一台Fedora12の物理ノードをセットアップすればよいのだが、面倒なので。。 orz それと、今回音声がきちんとクライアント側で聞けるかについても確認したかったのだが、設定の不足なのか上手くつながらなかった。これらについても後々確認していきたいところである。。