■CPUフラグの確認
$ grep flags /proc/cpuinfo | sed s/" "/"\n"/g | grep "vmx\|svm"
vmx
vmx
■KVM-QEMUの導入
$ echo "qemu-kvm bridge-utils virtinst virt-manager virt-viewer libvirt-bin python-libvirt libvirt-doc" | \
for list in `xargs`;do \
echo "[ $list ]"; \
apt-cache show "$list" | grep ^Description | head -1; \
done
[ qemu-kvm ]
Description-ja: x86 ハードウェアの完全仮想化
[ bridge-utils ]
Description-ja: Linux イーサネットブリッジの設定ユーティリティ
[ virtinst ]
Description-ja: 仮想マシンを作成、複製するためのプログラム
[ virt-manager ]
Description-ja: 仮想マシン管理用デスクトップアプリケーション
[ virt-viewer ]
Description-en: Displaying the graphical console of a virtual machine
[ libvirt-bin ]
Description-ja: libvirt ライブラリ用のプログラム
[ python-libvirt ]
Description-ja: libvirt の Python バインディング
[ libvirt-doc ]
Description-ja: libvirt ライブラリ用のドキュメント
$ echo "qemu-kvm bridge-utils virtinst virt-manager virt-viewer libvirt-bin python-libvirt libvirt-doc" | \
sudo apt-get install -y `xargs`
■確認
kvm_amd.koはAMD系のCPUの場合
$ sudo virsh list
Id Name State
----------------------------------------------------
■KVMのカーネルモジュール
KVM仮想化基盤のカーネルモジュール kvm.ko
プロセッサ特有のカーネルモジュール kvm-intel.ko、kvm-amd.ko
$ sudo find /lib -type f -name "kvm*.ko"
/lib/modules/3.2.0-4-amd64/kernel/arch/x86/kvm/kvm.ko
/lib/modules/3.2.0-4-amd64/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/3.2.0-4-amd64/kernel/arch/x86/kvm/kvm-intel.ko
■qemu-kvmのスタートアップスクリプト内でcpuのフラグを判定して、
モジュールをロードしている。
$ lsmod | grep kvm
kvm_intel 121968 0
kvm 287749 1 kvm_intel
$ sudo /etc/init.d/qemu-kvm restart
[ ok ] Succesfully unloaded kvm module kvm_intel.
[ ok ] Loading kvm module kvm_intel.
$ grep cpuinfo /etc/init.d/qemu-kvm
if grep -q '^flags.*\<vmx\>' /proc/cpuinfo
elif grep -q '^flags.*\<svm\>' /proc/cpuinfo
$ ls /etc/kvm/
kvm-ifdown kvm-ifup target-x86_64.conf
■ブリッジの設定
$ sudo grep -A 100 "auto eth1" /etc/network/interfaces
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.152.32
network 192.168.152.0
netmask 255.255.255.0
broadcast 192.168.152.255
route add -net 192.168.152.0/24 gw 192.168.152.2 eth1
auto br0
allow-hotplug br0
iface br0 inet static
address 192.168.152.32
network 192.168.152.0
netmask 255.255.255.0
broadcast 192.168.152.255
route add -net 192.168.152.0/24 gw 192.168.152.2 br1
bridge_ports eth1
$ sudo ifup br0
$ env LANG=C /sbin/ifconfig br0 | grep "inet addr"
inet addr:192.168.152.32 Bcast:192.168.152.255 Mask:255.255.255.0
■イメージの作成
$ KVMDIR=/var/local/kvm; \
test -d "${KVMDIR}" || sudo mkdir "${KVMDIR}"; \
sudo qemu-img create -f raw "${KVMDIR}/qdeb2.img" 40G
■インストール
TTY経由でのインストールとなっているが、
おとなしくX上のコンソールから行うこと。
※仮想マシンビューアが起動する。
$ sudo virt-install \
--name qdeb2 \
--ram 512 \
-f /var/local/kvm/qdeb2.img \
-s 8 \
--vcpu=1 \
--os-type linux \
--os-variant=debianwheezy \
--network bridge=br0 \
--location='http://ftp.riken.jp/Linux/debian/debian/dists/wheezy/main/installer-amd64/' \
--extra-args='console=/dev/pts/0'
■後は普通のdebian。
■確認
$ sudo virsh list
Id Name State
----------------------------------------------------
1 qdeb3 running
■テンプレートの取得
$ sudo virsh dumpxml qdeb3 > qdeb3.xml