我尝试在 Ubuntu12.04 服务器上安装 openstack。我发现 Nova-compute 无法启动,错误如下。我按照各种论坛中的一些建议操作,但没有任何效果。这是一个 64 位内核,还启用了虚拟化。请帮忙。
# uname -a
Linux hostnamekvm 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
# egrep -c ' lm ' /proc/cpuinfo
4
这些是已安装的 qemu/kvm 包。
# dpkg --get-selections | grep qemu
ipxe-qemu install
qemu-common install
qemu-keymaps install
qemu-kvm install
qemu-system-common install
qemu-system-x86 install
qemu-utils install
# dpkg --get-selections | grep kvm
nova-compute-kvm install
qemu-kvm install
我看到我的 nova-compute.conf 文件中有 libvirt_type=kvm
# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
# lsmod | grep kvm
kvm_intel 137899 0
kvm 455932 1 kvm_intel
检查 nova-compute.log 消息
# tail -f /var/log/nova/nova-compute.log
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 179, in doit
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup result = proxy_call(self._autowrap, f, *args, **kwargs)
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 139, in proxy_call
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup rv = execute(f,*args,**kwargs)
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 77, in tworker
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup rv = meth(*args,**kwargs)
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/dist-packages/libvirt.py", line 2884, in getVersion
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup if ret == -1: raise libvirtError ('virConnectGetVersion() failed', conn=self)
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup libvirtError: internal error: Cannot find suitable emulator for x86_64
2014-04-11 10:00:52.597 4758 TRACE nova.openstack.common.threadgroup
检查 libvertd.log 消息,
# tail -f /var/log/libvirt/libvirtd.log
2014-04-11 08:10:58.353+0000: 13213: error : virCommandWait:2348 : internal error: Child process (LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin /usr/bin/qemu-system-x86_64 -help) unexpected exit status 127: /usr/bin/qemu-system-x86_64: symbol lookup error: /usr/bin/qemu-system-x86_64: undefined symbol: rbd_aio_discard
2014-04-11 08:10:58.374+0000: 13213: error : virCommandWait:2348 : internal error: Child process (LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin /usr/bin/kvm-spice -help) unexpected exit status 127: W: kvm binary is deprecated, please use qemu-system-x86_64 instead
qemu-system-x86_64: symbol lookup error: qemu-system-x86_64: undefined symbol: rbd_aio_discard
2014-04-11 08:10:58.395+0000: 13213: error : virCommandWait:2348 : internal error: Child process (LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin /usr/bin/kvm -help) unexpected exit status 127: W: kvm binary is deprecated, please use qemu-system-x86_64 instead
qemu-system-x86_64: symbol lookup error: qemu-system-x86_64: undefined symbol: rbd_aio_discard
2014-04-11 08:10:58.402+0000: 13215: error : virQEMUCapsGetDefaultVersion:1699 : internal error: Cannot find suitable emulator for x86_64
2014-04-11 08:10:58.440+0000: 13211: error : virNetSocketReadWire:1377 : End of file while reading data: Input/output error