KVM使ってみる

今更だけど、KVM使ったことないので使ってみます。

今回は、OSX上のVMware Fusionを使いました。

http://inokara.hateblo.jp/entry/2013/04/06/092700

aptitude install qemu-kvm libvirt-bin
sudo aptitude install qemu-kvm libvirt-bin
aptitude install virt-manager

kanaiをkvm触れるようにする
adduser kanai libvirt

/etc/network/interfaces
を編集する。
# The primary network interface
allow-hotplug eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
  bridge_ports eth0

/etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
> bridgeにiptablesをかけない
sudo sysctl -p /etc/sysctl.conf


一応インストール状況を確認
kanai@debian-server:~$ lsmod | grep kvm
kvm_intel             122053  0
kvm                   291967  1 kvm_intel

次に、一般ユーザからの変更を許可する。
/etc/libvirt/libvirtd.conf
のいかがあればコメントアウトを「はずす」
unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_unix_rw = "none"
auth_unix_ro = "none"

次にイメージを作る。
/var/lib/libvirt/images/
sudo chown root:libvirt /var/lib/libvirt/images/
sudo chmod 775  /var/lib/libvirt/images/
# ディスク領域を確保したいなら
# qemu-img create -f raw /var/lib/libvirt/images/pc1.raw.img 5G
# 必要に応じて確保なら
qemu-img create -f qcow2 /var/lib/libvirt/images/pc1.cow.img 5G


qemu-img create -f raw /var/lib/libvirt/images/pc1.raw.img 5G

virt-install \
 --name=pc1 \
 --connect=qemu:///system \
 --ram 512 \
 --vcpus=1 \
 --os-type=linux \
 --hvm \
 --virt-type=kvm \
 --disk path=/var/lib/libvirt/images/pc1.cow.img,device=disk,bus=virtio\
 --cdrom=/home/kanai/debian-6.0.6-amd64-DVD-1.iso\
 --vnc --vncport=5901 --vnclisten=0.0.0.0\
 --network=bridge:br0\
 --keymap=ja

virsh --connect qemu:///system
virt-manager
> OSXの場合、ホストに"-X"付きでログインしておけば、コンソールが開きます

それで普通にインストールする

http://www.programming-knowledge.com/wiki/KVM%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%99%E3%82%8B#.E3.82.B3.E3.83.9E.E3.83.B3.E3.83.89.E3.83.A9.E3.82.A4.E3.83.B3.E3.81.8B.E3.82.89.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E3.81.99.E3.82.8B

まず、ネットワーク構成を考えますが、 3段構成のNW機器とエッジがあることを想定します。

とりあえず、ブリッジは、

br0: インターネット側
br1:

:: sysctl -w net.bridge.bridge-nf-call-ip6tables=0 sysctl -w net.bridge.bridge-nf-call-iptables=0 sysctl -w net.bridge.bridge-nf-call-arptables=0