サーバ構築メモ#3(KVM編その2)(2010年10月11日)
Ubuntu10.10(Maverick)が正式リリースされKernelのバージョンが2.6.35になったので
Ubuntu10.10+KVM+QEMU+vhost-netを試してみる際のメモ
COLOR(cyan){まずはvhostモジュールを組み込んでみる}
COLOR(yellow){$sudo modprobe vhost-net}
これでkvm上でvhostが使用可能になる
COLOR(cyan){Ubuntu標準搭載のQEMUはvhostに対応していないので}
COLOR(cyan){gitを使用して最新版を取ってくる}
まずgitをインストールし、必要なソースコードを取得
COLOR(yellow){$sudo apt-get install git-core}
COLOR(yellow){$git clone git://git.kernel.org/pub/scm/linux/kernel/git/mst/qemu-kvm.git qemu}
COLOR(yellow){$cd qemu}
コンパイルに必要なモジュールを取ってくる
COLOR(yellow){$sudo apt-get install zlib1g-dev libpci-dev libaio-dev uuid-dev ncurses-dev}
ソースコードからバイナリを構築する
COLOR(yellow){$./configure}
COLOR(yellow){$make}
インストールを行う
COLOR(yellow){$sudo make install}
COLOR(cyan){今までのスクリプトと互換性を保つために適当にシンボリックリンクを作成}
COLOR(yellow){$sudo ln -s /usr/local/bin/qemu-system-x86_64 /usr/bin/kvm}
COLOR(cyan){毎回modprobeするのは面倒なのでrc.localで自動的に行うようにする}
COLOR(yellow){$sudo vi /etc/rc.local}
# vhost-net module
modprobe vhost-net
COLOR(cyan){以下、前回のKVM編(ブリッジ接続の項目以下)と同様の作業を行う}
COLOR(cyan){その際にvhostが有効になるように起動スクリプトを下記のように追記}
COLOR(yellow){$sudo vi /home/run_main}
#!/bin/sh
kvm -m 512 -vnc :0 -monitor telnet::4000,server,nowait -k ja -daemonize \
-drive file=/home/server-main.img,if=virtio,index=0,boot=on \
-drive file=/home/server-sub.img,if=virtio,index=1 \
-net nic,model=virtio,macaddr=52:54:00:12:34:56 \
-net tap,ifname=tap0,script=/etc/kvm/kvm-ifup,downscript=/etc/kvm/kvm-ifdownCOLOR(red){,vhost=on}
軽くテストを行いましたが、2TB以上のストレージをマウントするとデータを破壊するバグ等は
0.12.5以降修正されているので、問題なさそうです