以前、「Nested KVMでOpenStack構築」という記事を書きましたが、CirrOSは動くものの他のOSが起動中に停止するという問題が起きるようでした。次の例はNested CentOS 6.5上でKVMを実行したNova-ComputeでFedora 20を起動した場合です。ちなみにnova-computeのログには特にエラーは出ていませんでした。
Ubuntu Serverのスクリーンショットは取りわすれてしまったのですが、Kernel Panicを起こしているようなログが出力されていました。
ちなみに起動中に停止したインスタンスのKVMのログはこんな感じです。
2014-05-31 14:57:14.818+0000: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/libexec/qemu-kvm -name instance-00000011 -S -M rhel6.5.0 -cpu Nehalem,+rdtscp,+hypervisor,+vmx,+ss,+vme -no-kvm -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid b0af7939-d630-45db-83ad-23eb0e892ce6 -smbios type=1,manufacturer=Red Hat Inc.,product=OpenStack Nova,version=2014.1-4.el6,serial=e41f5cd3-b83f-40fe-aeba-aeabe141c73d,uuid=b0af7939-d630-45db-83ad-23eb0e892ce6 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/instance-00000011.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/nova/instances/b0af7939-d630-45db-83ad-23eb0e892ce6/disk,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=25,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:a4:3e:4f,bus=pci.0,addr=0x3 -chardev file,id=charserial0,path=/var/lib/nova/instances/b0af7939-d630-45db-83ad-23eb0e892ce6/console.log -device isa-serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 -device isa-serial,chardev=charserial1,id=serial1 -device usb-tablet,id=input0 -vnc 0.0.0.0:0 -k en-us -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
char device redirected to /dev/pts/1
[6/8追記]
この問題はyum updateしてKVMホストのFedora 20を再起動したところ、発生しなくなりました。
ちなみに次のような構成です。
KVM-VM OpenStack Instance
Linux-KVM L1 CentOS 6.5(Nova-Compute)
Linux-KVM L0 Fedora 20
KVM-VM OpenStack Instance
Linux-KVM L1 Fedora 20(Nova-Compute)
Linux-KVM L0 Fedora 20
ともに現時点では正常に動いています。
ちなみに次の構成は上手くいきませんでした。これはCentOS 6.5のカーネルおよびQemu、KVMのバージョンが古いためだと思われます。パッケージをソースビルドして動かせば動作するようですが、面倒なのでやりませんでした。
KVM-VM OpenStack Instance
Linux-KVM L1 CentOS 6.5(Nova-Compute)
Linux-KVM L0 CentOS 6.5
[root@centos65]# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.415.el6_5.8.x86_64[root@fedora20]# rpm -q qemu-kvm
qemu-kvm-1.6.2-5.fc20.x86_64