start from no valid host was found
配置ironic的环境时,指定了compute_driver, scheduler_host_manager, compute_manager等,前面已经说过,当需要切换回使用虚机时,改变这些manager,driver等,
重启nova-compute和nova-scheduler服务,试图在dashboard上创建一个虚机,结果报错,查看日志显示“no valid host was found”。
这时发现nova-compute服务是down的,重启不能生效,报错为:
openstack-nova-compute.service start request repeated too quickly, refusing to start
等了一会儿重启仍然不行,看log!
log里面看到:
no connection driver available for qemu:///system
于是怀疑自己的libvirt有问题,重启libvirtd service,发现虽然libvirtd service显示的是active,然而有module load失败:
failed to load module /usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so
看起来是qemu module出了什么问题。
查了一会儿没有好的解决方法于是:
删除libvirt,重新安装,重启libvirt服务仍然出错,尝试重启机器,错误仍然在!
最后在redhat的bugzilla上:
https://bugzilla.redhat.com/show_bug.cgi?id=1164773
这是一个已知的bug, 解决方法是安装“device-mapper-1.02.90-1.fc21.x86_64”
yum install device-mapper
安装之后,重启nova-compute,nova-scheduler服务,由于重启了机器,有些服务竟然没有起来,包括
keystone和ironic的service,启动之就可以了。
事实上云计算作为一种服务的方式,除了框架上的难点,遇到问题,特别是底层的支柱libvirt或者xen,vmware虚拟技术的问题,
很多时候只有厂商解决,libvirt还好,闭源的呢?
理性的看,技术还是技术,云属于技术的一种呈现方式。