在 Openstack 中启动实例总是导致“错误:未找到有效主机”

在 Openstack 中启动实例总是导致“错误:未找到有效主机”

与此相关似乎还有几个其他问题,但没有答案,所以我也想问一下。

我通过 Landscape Autopilot 安装了 Openstack Juno,Openstack Horizo​​n 仪表板显示所有计算、存储和网络服务都处于活动状态。

当我在项目(任何项目,包括管理员)内启动实例时,最终会出现错误,示例如下:

错误:无法启动实例“docker_test”:请稍后重试[错误:未找到有效主机。实例 34722fff-8e59-47a0-898d-853a5d3c8dd8 的最大调度尝试次数已超过 3。最后一个异常:[u'Traceback(最近一次调用最后一次):\n',u' 文件“/usr/lib/python2.7/dist-packages/nova/compute/manager.py”,第 2039 行,在 _do 中]。

我真的不知道从哪里开始。有什么想法吗?

答案1

解决我的问题的办法在于,我在虚拟化环境中运行整个 Openstack 设置,特别是我的每个计算节点都是一个 VM。默认情况下,我的设置不允许嵌套 VM,即我的计算节点 VM 本身无法在自身内部创建实例 VM。我发现这篇文章非常有帮助: 使用基于 KVM 的嵌套虚拟化配置 DevStack

关键部分是通过 virsh 实用程序编辑 VM 的 libvirt XML 配置,将主机虚拟化扩展公开给节点 VM:

sudo virsh edit compute-node01-vm

更改以下代码片段以向虚拟机公开主机 CPU 功能:

<cpu mode='custom' match='exact'>
  <model fallback='allow'>Opteron_G3</model>
</cpu>

<cpu mode='host-passthrough'> </cpu>

重新启动所有节点以使更改生效。

相关内容