KVMの準備
結局セットアップだけでこんな時間になっちゃったよ!
emerge
まずはqemu-kvm。デフォルトだとターゲットプラットフォームが凄まじいことになっているのでmake.confでごにょごにょと。
QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="${QEMU_SOFTMMU_TARGETS}"
GUIがないとちょっときついので、とりあえずvirt-managerもいれておく。例によってマスクされてるのでautounmask。
ブリッジしたいんじゃあああ
で、ネットワークの設定がわけわからん。
Windowsのブリッジ設定を思い出しながらGentooWikiと格闘することたぶん1時間強。なんとなくわかったことは、
- br0というブリッジデバイスを作る
そこにeth0を追加してやるしなくても動いてるような→なんとなくハッピー- 追記:全然ハッピーじゃなかった*1のでWiki通りに/etc/conf.d/netを設定しましたとさ
- あとはvirt-managerもといlibvirtさんがなんとかしてくれるらしい
で、KVM使わないときもモジュールとかデーモンとか動かれると起動遅くなりそうだから*2init.dスクリプトにしてみた。Wikiに載ってるやつをシンプルにした程度。
#!/sbin/runscript # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ depend() { need net use libvirtd } start() { #ebegin "Loading the kvm module" #/sbin/modprobe kvm #eend $? "Failed to load the kvm module" #ebegin "Loading the kvm_intel module" #/sbin/modprobe kvm_intel #eend $? "Failed to load the kvm_intel module" ebegin "Loading the vhost-net module" /sbin/modprobe vhost-net eend $? "Failed to load the vhost-net module" ebegin "Setting up the bridge device (br0)" /sbin/brctl addbr br0 /sbin/ifconfig br0 up eend $? "Failed to create the bridge interface" eend 0 } stop() { ebegin "Stopping the bridge device (br0)" /sbin/ifconfig br0 down /sbin/brctl delbr br0 eend $? "Failed to stop the bridge interface" ebegin "Unloading the vhost-net module" /sbin/modprobe -r vhost-net eend $? "Failed to unload the vhost-net module" #ebegin "Unloading the kvm_intel module" #/sbin/modprobe -r kvm_intel #eend $? "Failed to unload the kvm_intel module" #ebegin "Unloading the kvm module" #/sbin/modprobe -r kvm #eend $? "Failed to unload the kvm module" eend 0 } restart() { stop start }
コメントアウトしてあるのはビルトインにしちゃったから。うん。
だいたい理解できてないけど動いているからいい、みたい。