Debian で KVM
事前準備
- 最初の HDD に ESXi が残ったままだったので、 grub がインストールできなかった...。
- grub インストールをスキップし、とりあえずインストールを完了させる。
- netinst CD を使って、レスキューモードで起動。
- なんか使い方解らんかった...。
- ということで再インストール。
- ssh をインストール。
結局のところ、 Debian 最小構成 + SSH からのスタートということで。 さて、ここから KVM.
事前準備
aptitude install kvm
adduser mikoto kvm
shutdown -r now
※ mikoto を kvm グループに入れてますが、ブリッジ接続の為に、 sudo(or root ユーザ) で起動することになりました。
VM 作成
mkdir -p ~/vms/vdebian
kvm-img create -f qcow2 ~/vms/vdebian/vdebian.img 10GB
VM 実行してみる
iso はたまたま HDD にあった Debian の LiveCD イメージを流用。 インストール不要ですぐ動作確認・環境確認ができて意外と便利でした。
ホスト OS に X サーバを入れていないので、 VNC 接続でインストールする。
kvm -hda vdebian.img -cdrom ~/debian-live-6.0.4md64-standard.iso -boot d -m 2048 -vnc :0,password -monitor stdio
cQEMU 0.12.5 monitor - type 'help' for more information
(qemu) change vnc password
Password: **********
(qemu)
これで、 VNC クライアントで VM に接続できるようになった。
今は、 qemu への入力をファイルに書いてリダイレクトで流し込むようにしている。 本当は設定ファイルとかありそうですがね。
kvm -hda vdebian.img -cdrom ~/debian-live-6.0.4md64-standard.iso -boot d -m 2048 -vnc :0,password -monitor stdio < vdebian.conf
cQEMU 0.12.5 monitor - type 'help' for more information
(qemu) change vnc password
Password: **********
(qemu)
これだけだと、 NAT 接続の設定のようなので、ブリッジの設定を行う必要がある。
ブリッジの設定
/etc/network/interfaces の編集
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo br0
iface lo inet loopback
iface eth0 inet manual
# The primary network interface
allow-hotplug eth0
iface br0 inet static
address 192.168.1.111
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eth0
bridge_stp off
ネットワークの再起動
service networking restart
VM 起動
最終的に起動はこんな感じで。
- ブートでバイスを sda に設定
- qemu コンソールに接続したい場合は telnet を使用
- ホストに X が無いので、 -vnc は設定しておく。(無いとエラーで怒られるので)
- (基本的にコンソールでしか使わないので、 ssh の設定さえしてしまえばこっちのもの)
- デーモンとして起動
kvm -hda vdebian.img -boot c -m 2048 -monitor telnet:127.0.0.1:10023,server,nowait -net nic,macaddr=12:34:56:78:90:12,model=e1000 -net tap,ifname=tap0 -vnc none -daemonize
参考文献
openSUSE 12.2: 第13章 QEMU モニタを利用した仮想マシンの管理