OpenStack使用flat网络创建虚拟机失败——PortBindingFailed: Binding failed for port
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack使用flat网络创建虚拟机失败——PortBindingFailed: Binding failed for port相关的知识,希望对你有一定的参考价值。
参考技术A kolla-ansible
ussuri
集群环境
通过镜像创建虚拟机时(ussuri),选择flat网络,结果创建失败,虚拟机处于关闭/错误状态。
查看日志:
/var/log/kolla/nova/nova-compute.log
/var/log/kolla/neutron/neutron-server.log
nova_compute.log显示,端口绑定失败,大概可知,是由于nova请求neutron失败所致,所以问题在neutron上。
从neutron_server.log的报错信息可以看到一些信息,报错的主体为plugins.ml2.managers,network_type为flat,physical_network为physnet1。
打开neutron.conf (/etc/kolla/neutron-server/neutron.conf)
可以看到driver为openvswitch
查看openvswitch_agent.ini (/etc/kolla/neutron-openvswitch-agent/openvswitch_agent.ini)
可以看到ovs的bridge_mappings为空,其原因是 在kolla-ansible部署前,没有在配置文件中指定外部网络接口 。我们需要通过手动创建虚拟网桥把flat网络和物理接口连接起来。
flat网络名字可以通过ml2_conf.ini (/etc/kolla/neutron-server/ml2_conf.ini)文件确认
进入容器neutron_openvswitch_agent,需要用root角色
在容器中,通过以下openvswitch命令,添加虚拟网桥,并映射到flat网络接口
打开openvswitch_agent.ini (/etc/kolla/neutron-openvswitch-agent/openvswitch_agent.ini)
可以看到bridge_mappings为空。编辑文件,将bridge_mappings的值改为physnet1:br-ex。
其中physnet1表示桥接的物理网卡,br-ex是新建的虚拟网桥。
docker restart neutron_server neutron_openvswitch_agent
the End
以上是关于OpenStack使用flat网络创建虚拟机失败——PortBindingFailed: Binding failed for port的主要内容,如果未能解决你的问题,请参考以下文章