KVMマシン用のネットワーク設定

複数のkernelが必要なとき (追加ハードウェアささないといけないプロジェクトとか) にマシンを確保するのがめんどくさいし場所もとる、ということで、いい加減VMをホストするマシンを立てないといけないと思ってたのですが、ようやくKVMを動かすホストを確保したのでインストールメモ。インストールメモ、というよりは、KVM周りの設定メモかも。。(@ Debian lenny)

KVMのインストールは

aptitude install kvm bridge-utils

で行う。VM用ディスクイメージの準備やらゲストOSのインストールは普通どおり。

ネットワークは、LAN内の各種のサーバとの連携を考えて、ホストにブリッジを作って、tapデバイスでゲストが直接LANに出て行ける構成を取ることに。この設定は、br0デバイスを作って、eth0に紐付けるだけ、ではあるけど、手動でやると面倒なので、/etc/network/interfacesを編集して起動時に自動実行する方法で。/etc/network/interfacesからeth0のエントリを消して、

auto br0
iface br0 inet dhcp
  pre-up /sbin/ifconfig eth0 promisc up
  pre-up /usr/sbin/brctl addbr br0
  pre-up /usr/sbin/brctl addif br0 eth0
  post-down /sbin/ifconfig eth0 down
  post-down /sbin/ifconfig br0 down
  post-down /usr/sbin/brctl delbr br0

を突っ込む。LAN内はDHCP環境なので、これでホストは自動的にLANにつながる。

各VMを立ち上げるときは、tapデバイスにアクセスする権限のあるアカウント(root?)から、

kvm -hda disk-image.img -boot c -m <mem> -curses -net nic,macaddr=<mac addr> -net tap,ifname=<tap device>,script=/etc/kvm/kvm-ifup

を実行する。ゲストVMのMACアドレスは指定しないとすべてデフォルト(52:54:00:12:34:56)になるので、重ならないように各VM起動時に指定してやる。

One Response to

  1. KVMのネットワークその後 (解決編) « himorin’s blog via Pingback:

    […] KVM用マシンをセットアップして、VMを立ち上げて作業しているけどネットワークが不調という話の続き。結局は見ているところが違って、TSOでなくてGSOをチェックする必要があった、でした。 […]

Leave a Reply »