You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

OpenStack Kolla多节点环境创建实例时网络分配失败求助

OpenStack Kolla多节点环境创建实例时网络分配失败求助

你好,针对你在OpenStack Kolla多节点环境中遇到的实例创建时网络分配失败问题,结合你描述的场景(VMware ESXi节点使用vmxnet3网卡、Kolla Ansible部署)和给出的错误信息,我整理了几个实用的排查方向,你可以逐一尝试:

  • 检查计算节点的网卡与Libvirt状态

    • 首先确认VMware ESXi上的计算节点虚拟机已启用混杂模式:OpenStack虚拟网络需要物理网卡支持混杂模式才能转发实例的网络流量,你可以在ESXi控制台找到计算节点的网卡,开启混杂模式选项。
    • 登录到计算节点的nova_compute容器,检查Libvirt服务是否正常运行:
      docker exec -it nova_compute virsh list --all
      
      如果命令能正常返回结果,说明Libvirt与Hypervisor连接正常;若报错,需要排查Libvirt的配置或Hypervisor的连接权限。
  • 排查Neutron网络组件状态

    • 确认所有节点上的Neutron相关容器(如neutron_serverneutron_openvswitch_agent)都处于运行状态:
      docker ps | grep neutron
      
      若有容器异常,查看对应日志定位问题:
      docker logs neutron_openvswitch_agent
      
    • 检查实例关联的Neutron端口状态,用实例ID查询:
      openstack port list --server 96447a00-8068-4f8d-86a2-d844775666d7
      
      若端口状态不是ACTIVE,说明端口未正确绑定到计算节点的OVS网桥,需检查网桥配置或隧道连通性(如果是VXLAN网络)。
    • 对于VXLAN类型的网络,确认计算节点之间的隧道端点能正常通信,比如用ping测试其他节点的VXLAN本地IP,或通过OVS命令查看隧道端口状态:
      ovs-vsctl show
      
  • 查看完整的Nova与Libvirt日志
    你提供的错误信息只显示了部分Traceback,建议查看nova_compute容器的完整日志,获取更详细的错误细节:

    docker logs nova_compute
    

    同时可以查看容器内Libvirt的QEMU日志,路径通常为/var/log/libvirt/qemu/,这里会记录实例创建时网络接口的具体报错(比如网桥不存在、权限不足等)。

  • 验证Kolla Ansible的部署配置

    • 检查部署时的globals.yml文件,确认network_interface参数是否指向计算节点的正确物理网卡,neutron_plugin_agent是否设置为openvswitch
    • 确认计算节点的内核网络参数配置正确,比如IP转发是否开启:
      sysctl net.ipv4.ip_forward
      
      若返回值为0,需要开启该参数(Kolla通常会自动配置,但若异常可手动设置)。

你提供的错误信息如下:

fault | {'code': 500, 'created': '2024-05-14T12:31:44Z', 'message': 'Build of instance 96447a00-8068-4f8d-86a2-d844775666d7 aborted:
Failed to allocate the network(s), not rescheduling.', 'details': 'Traceback (most recent call last):\n File "/var/lib/kolla/venv/lib/python3.10/site-packages/nova/virt/libvirt/driver.py", line 8006, in _create_guest_with_network\n with self.virtapi.wait_for_instance_event(\n File "/usr/lib/python3.10/contextlib.py", line 142, in exit\n next(self.gen)\n File "/var/lib/kolla/venv/lib/python3.10/site-packages/nova/compute/manager.py", line 559, in wait_for...

备注:内容来源于stack exchange,提问作者sajad mazaheri

火山引擎 最新活动