====== SPICEとは ====== 仮想化(シンクライアントと説明されてるけどちょっと違うと思う)を実現するためのオープンソースプログラム。 ベースとなってるのはKVM。 なので、Intel-vtなりAMD-Vなりが使えるCPUが必要となる。 ===== サーバーインストール ===== とりあえず最小構成に仮想化もインストールしとこうw ちなみに、パッケージ選択までにネットワーク設定画面が無かった。 このままインストールをすると起動時にネットワークの設定をする必要がある。 そんなの面倒って場合は、PCをネットワークに接続したうえでリポジトリにチェックを入れてみよう。 ネットワーク設定画面が表示されるので自分のネットワーク構成にあった設定する。 今回使用したのはFedora 13 64bit ===== SPICEインストール ===== Fedora 13にした理由はyumパッケージが用意されてるからなんだw\\ # wget -P /etc/yum.repos.d/ http://spice-space.org/download/spice.repo\\ # rpm --import http://spice-space.org/download/RPM-GPG-KEY-spice-fedora-12-x86_64\\   ※Fedora 12 64bit用だけど大丈夫w # yum install qemu-spice spice-server ハードディスクの領域を確保する(10GBの領域を作る場合)\\ # qemu-img create -f qcow2 hdd.img 10G isoイメージからインストールする\\ # /usr/libexec/qemu-spice -hda hdd.img -m 1024 -qxl 1 -spice port=5930,disable-ticketing -usb -usbdevice table -cdrom xp_pro.iso -boot d もし、isoイメージが無ければ以下のコマンドで作成する事ができる\\ # dd if=/dev/cdrom of=isoファイル名 すでにイメージが作成されているなら以下のコマンドで実行できます\\ # /usr/libexec/qemu-spice -hda hdd.img -m 1024 -qxl 1 -spice port=5930,disable-ticketing -usb -usbdevice table ゲストOSにLinux(RedHat系?)をインストールしていれば以下のドライバを入れれば画像描画がよくなるそうだ\\ # yum install xorg-x11-drv-qxl Windowsの場合は以下からダウンロードできる\\ http://www.spice-space.org/download/stable/windows_binaries_0_4.zip ===== Windowsクライアント ===== 以下からダウンロードする\\ http://www.spice-space.org/download/binaries/spice-client-win32-0.6.0.zip 解凍したら実行しやすいところにコピーすりゃいいんだけど、コマンドプロンプトにドラッグアンドドロップするのならどこでもいいw C:\spicec.exe -h 192.168.1.150 -p 5930 ところが・・・ libcelt_0_5_1.dllがないんじゃこりゃ!!と怒られる(--; http://www.spice-space.org/download/unstable/spice_libs_win32_unstable.zipをダウンロードしてきて解凍したらlibcelt_0_5_1.dllをSPICEと同じフォルダにいれる。 再度実行したらSPICEクライアントが開きます。 もし、つながらない場合はサーバー側のファイアーウォールかクライアント側のファイアーウォールを停止してください。 ===== ゲストOSのネットワーク設定 ===== このままだとゲストOSから外部へは繋がらない。\\ どうやらKVMはブリッジモードにするにはいろいろと手間らしい(--; まずはネットワークマネージャーを止めてネットワークを起動する。 # chkconfig NetworkManager off # chkconfig network on # service NetworkManager stop # service network start まずはbr0を作成しよう # cd /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=static DNS1=192.168.1.1 IPADDR=192.168.1.150 NETMASK=255.255.255.0 ONBOOT=yes DELAY=0 次にeth0を修正する\\ # cd /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none HWADDR=XX:XX:XX:XX:XX:XX ONBOOT=yes BRIDGE=br0 この設定を保存した瞬間にSSHで接続してたら切れちゃうかもしれない(^^; もしネットワークが切れたらコンソールから以下のコマンドを実行する # service network restart iptablesを設定してゲストOSからホストOSに接続できるようにする # iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT # service iptables save # service iptables restart # sysctl -p /etc/sysctl.conf libvirtdをリロードする\\ # service libvirtd reload 以下のコマンドでブリッジモードが設定されているか確認ができる # brctl show bridge name bridge id STP enabled interfaces br0 8000.0022190602a0 no eth0 virbr0 8000.000000000000 yes つぎにqemuで使えるようにするスクリプトを作成\\ # vi /etc/qemu-ifup #!/bin/sh /sbin/ifconfig $1 0.0.0.0 promisc up /usr/sbin/brctl addif br0 $1 sleep 2 さぁ~ここまで来たらあと一息、ゲストOSを再び起動させよう # /usr/libexec/qemu-spice -hda /usr/local/src/xppro.img -m 1024 -qxl 1 -spice port=5930,disable-ticketing -usb -usbdevice table -net nic,macaddr=10:10:10:10:10:10 -net tap,ifname=tap1,script=/etc/qemu-ifup 複数起動する場合は、macaddrをユニークなアドレスに変更するのと、tap1をta2などに変更して立ち上げる。\\ 忘れてた!!試してないけど、起動ポートも変更してやる必要あるんじゃないかな これもスクリプトにしとけばいいか(^^;