実践!仮想化ソフトウェア 2010 Updates

第6回 Fedora 14で話題のSPICEを体験しよう

この記事を読むのに必要な時間:およそ 3 分

今回は,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接続して仮想マシンを操作していました。

qemu-kvm (中略) -vnc 127.0.0.1:0

SPICEでは,上記の代わりに次のようなオプションを指定して,リモートからSPICEクライアントで接続して仮想マシンを操作します。

qemu-kvm (中略) -spice port=5930,disable-ticketing

よって,SPICEを試すまでの大まかな手順は次の通りとなります。

  1. Fedora 14でKVM環境を用意する。
  2. 仮想マシンを構築する。
  3. SPICEサーバーを仮想ホストにインストールする。
  4. SPICEを有効にして仮想マシンを起動する。
  5. SPICEクライアントで仮想マシンに接続する。
  6. 仮想マシンに必要なドライバをインストールする。

KVM環境の用意

まずはFedora 14でKVM環境を構築します。こちらは特に注意事項はありません。お好みで,ネットワークブリッジを作成してください。テスト用の仮想マシンは,Windows,Linuxどちらでも利用可能です。今回はWindows XP仮想マシンを例に説明を行います。ストレージ・ネットワークのVirtioドライバがインストール済みの環境であることを前提とします。

Virtioドライバの使い方は「本気で使いたいユーザのためのLinux KVM活用法」「ネットワークデバイスのVirtio化」⁠仮想ディスクのVirtio化」を参照してください。なお,Fedora 14でのネットワークデバイスのVirtio化は,仮想マシン停止中であれば既存のネットワークデバイスを削除せずに変更することが可能です。

最新のドライバは下記URLの「Download Latest VirtIO Win drivers from Fedora」を辿ると,ISOイメージが入手できるので,こちらを仮想マシンにマウスとして利用します。

WindowsGuestDrivers/Download Drivers - KVM
URL:http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

ちなみに,Fedora 14の仮想マシンを作成する場合は,インストール後にOSのアップデートを実行することと,後述のvdagentをソースからコンパイルしてインストールする必要があります。

SPICEサーバのインストール

SPICEのサーバパッケージを仮想ホスト上にインストールします。yumコマンドで簡単にインストールすることができます。

# yum install spice-server

SPICEを有効にして仮想マシンを起動する

SPICEは現在,libvirtや仮想マシンマネージャで利用することができません。よって,コマンドで仮想マシンを起動させる必要があります。前回の記事(第5回 Fedora 13で最新のLinux KVMに触れてみよう)で紹介した「vhost_netを有効にして仮想マシンを起動する」で行った方法と同じく,仮想マシンマネージャで仮想マシンを起動し,psコマンドで実行中の仮想マシンのパラメータを取得します。

#ps auxww | grep kvm-qemu

不要なパラメータを取り除きつつ,SPICEに関するパラメータを追加します。赤文字が取り除くパラメータ,青文字が追記する部分です。

/usr/bin/qemu-kvm -S -M pc-0.13 -enable-kvm -m 1024 -smp 2,sockets=1,cores=2,threads=2 -name WinXP -uuid 74b52e50-b95e-569e-1f04-85101152e6e5 -nodefconfig -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/WinXP.monitor,server,nowait -mon chardev=monitor,mode=readline -rtc base=localtime -boot c -drive file=/var/lib/libvirt/images/WinXP.img,if=none,id=drive-virtio-disk0,boot=on,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0 -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:a6:01:81,bus=pci.0,addr=0x3 -net tap,vlan=0,name=hostnet0 -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -device usb-tablet,id=input0 -vnc 127.0.0.1:0 -vga cirrus -vga qxl -spice port=5930,password=,disable-ticketing -device AC97,id=sound0,bus=pci.0,addr=0x4 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -device virtio-serial,bus=pci.0,addr=0x7 -device spicevmc,subtype=vdagent

SPICEに関するパラメータは次の通りです。

-vga qxl -spice port=5930,disable-ticketing

portはポート番号,disable-ticketingはパスワード無しで接続可能にするオプションです。パスワードを設定するには次のように指定します。

-spice port=5930,password=(パスワード)

また,次のパラメータはクリップボード転送を有効にするためのものです。

-device virtio-serial,bus=pci.0,addr=0x7 -device spicevmc,subtype=vdagent

次に,qemu-ifup,qemu-ifdownスクリプトを作成します。作成方法は前回の記事を参照してください。

著者プロフィール

大内明(おおうちあきら)

1988年生まれ,北海道根室市出身。日本仮想化技術株式会社 技術部所属。主にVMware製品やLinux KVMの検証・構築を担当。バックアップも少々。サーバを見ること・触ることが好きで,社長の宮原と共にヤフオクの出物探しに燃えている。 個人ではIntel AtomマシンでXen環境を構築して自宅サーバを運用している。このサーバにCD-ROMドライブを外付けして「ハムスター用リモート給餌装置」や「エアコンリモート操作装置」を作るといったネタが,ごく一部の人たちにウケている。

コメント

コメントの記入