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的主要内容,如果未能解决你的问题,请参考以下文章

openstack N版——创建云主机

openstack之创建虚拟机

OpenStack-12-增加flat网段

在openstack上创建第一个虚拟机

OpenStack Mitaka部署<四;

Openstack 之 使用flat网络