delete from hateblo.jp where 1=1;

タイトルに意味はありません。

KVMの設定についてのメモ

対象

セットアップ

# 仮想サーバー
sudo aptitude install kvm lib-virtbin virt-image
# 仮想ネットワーク
sudo aptitude install uml-utilities

設定

ユーザーの追加
# ユーザーの追加(guestという名前の場合)
sudo adduser guest kvm
# 物理CD-ROMドライブへアクセスする場合必要 
sudo adduser guest cdrom
# tapで接続するための権限
sudo adduser guest uml-net
ネットワークの設定

設定ファイル

sudo vi /etc/network/interfaces

仮想ネットワークを構築する

# The loopback network interfaceauto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth1
iface eth1 inet dhcp

# この周辺から追記 
auto tap1
iface tap1 inet manual
    tunctl_user guest
    uml_proxy_ether eth1

auto tap2
iface tap2 inet manual
    tunctl_user guest
    uml_proxy_ether eth1


auto br1
iface br1 inet dhcp
    bridge-ports eth1 tap1 tap2
  • eth1がメインのネットワークですが、環境によってはeth0だったりするので設定を吟味してから使ってください。
  • tunctl_user はtap*を使うユーザー名を入力
  • tap*を追加したら、bridge-portsにスペース区切りで追加していく

以上、設定終わり。
ネットワークの再起動を行い、完了。

sudo /etc/init.d/networking restart
  • tap1とかのデバイスが見当たらないとか出ることがある
    • 作らないとだめかな?
起動

guestでログインし、kvmを起動。

nohup kvm -hda host1.img -m 384 -net nic,vlan=0,macaddr=52:54:00:12:34:01 -net tap,vlan=0,ifname=tap1,script=no,downscript=no -vnc :1 -name host1 &

nohup kvm -hda host2.img -m 384 -net nic,vlan=0,macaddr=52:54:00:12:34:02 -net tap,vlan=0,ifname=tap2,script=no,downscript=no -vnc :2 -name host2 &
  • nohup はログアウトしても存在し続けるようにするコマンド。
    • 終了させる場合はkillall kvmですべて消える。
  • intel-vtなどをサポートしない場合は -no-kvm 引数を追加
  • snapshotからの起動の場合は -loadvm
  • 上記例はvnc経由での制御
    • Ctrl+Alt+2でqemuコンソール
      • snapshotを作成するときは savevm
      • snapshotを削除するときは delvm
      • snapshotを実行するときは loadvm
    • Ctrl+Alt+1で通常画面へ
  • macアドレスを指定すべき(指定しない場合は52:54:00:12:34:56とか)

参考文献