CentOS 5.4 から KVM が正式にサポートされたようなので、試してみた。
まずは既存の 5.3 環境から 5.4 にアップグレード。
$ sudo yum -y upgrade
不要になった kernel-xen は削除。
$ sudo yum -y remove kernel-xen
kmod-kvm, kvm をインストール。
$ sudo yum -y install kmod-kvm kvm
/boot/grub/menu.lst 修正。
title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vg00/lv_root vga=773
initrd /initrd-2.6.18-164.el5.img
再起動する。
今まで Xen をつかっていて、Cobbler + Koan で VM をつくっていたが、KVM でも同じ手順でできるはず、ってことで koan コマンド実行してみた。
$ sudo koan --server localhost --virt --profile=FC11-x86_64 --virt-name=fc11-kvm
- looking for Cobbler at http://localhost/cobbler_api
- reading URL: http://192.168.10.11/cblr/svc/op/ks/profile/FC11-x86_64
install_tree: http://192.168.10.11:80/cblr/links/FC11-x86_64
libvirtd (pid 3681) is running...
- using qemu hypervisor, type=kvm
Fri, 30 Oct 2009 17:37:07 DEBUG No conn passed to Guest, opening URI 'qemu:///system'
Fri, 30 Oct 2009 17:37:07 DEBUG DistroInstaller location is a network source.
libvir: QEMU error : Domain not found: no domain with matching name 'fc11-kvm'
- adding disk: /opt/qemu//fc11-kvm-disk0 of size 5
... 中略 ...
libvir: QEMU error : internal error Failed to add tap interface 'vnet%d' to bridge 'xenbr0' : No such device
... 以下略 ...
type=kvm と表示されているので、KVM が使われているようだが、エラーに。
Xen ではないため、xenbr0 が存在しないが、Xen の時の設定が Cobbler に残っていた。
libvirt が生成する virbr0 というブリッジインターフェースが存在するが、外部との接続ができないようなので、新たにブリッジインターフェースを作成することにした。
まずは /etc/sysconfig/network-scripts/ifcfg-br0 を作成。
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-eth0 に以下を追加。
BRIDGE=br0
ネットワーク再起動する。
$ sudo /etc/init.d/network restart
これで br0 ができるので、br0 を使うように cobbler コマンドで設定する。
$ sudo cobbler profile edit --name=FC11-x86_64 --virt-bridge=br0
ついでに、CUI からコンソール接続できるように、この profile で利用している /var/lib/cobbler/kickstarts/sample.ks の bootloader 行を以下のように修正。
bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
再度 koan を実行して VM 作成。
$ sudo koan --server localhost --virt --profile=FC11-x86_64 --virt-name=fc11-kvm
状態確認。
$ sudo virsh list --all
Id Name State
----------------------------------
10 fc11-kvm running
インストールが終わると、shut off になる。
$ sudo virsh list --all
Id Name State
----------------------------------
- fc11-kvm shut off
起動する。
$ sudo virsh start fc11-kvm
コンソール接続してみる。
$ sudo virsh console fc11-kvm
Connected to domain fc11-kvm
Escape character is ^]
?G Welcome to Fedora
Press 'I' to enter interactive startup.
Starting udev: G[ OK ]
Setting hostname h029.southpark: [ OK ]
mdadm: No arrays found in config file or automatically
Setting up Logical Volume Management: 2 logical volume(s) in volume group "vg_h029" now active
... 中略 ...
Fedora release 11 (Leonidas)
Kernel 2.6.29.4-167.fc11.x86_64 on an x86_64 (/dev/ttyS0)
h029.southpark login:
イメージファイル作成。
$ sudo qemu-img create /opt/qemu/fc11-kvm-disk1 8G
disk.xml を以下の内容で作成。
<disk type='file' device='disk'>
<source file='/opt/qemu/fc11-kvm-disk1'/>
<target dev='vdb' bus='virtio' />
</disk>
追加する。
$ sudo virsh attach-device fc11-kvm disk.xml
Device attached successfully
これで /dev/vdb が VM から見えるようになる。