4.5. 对扁平提供商网络中的实例物理网络连接进行故障排除
"平面提供商网络流工作方式中提供的输出 "如何提供足够的调试信息以对扁平提供商网络进行故障排除,则应该出现问题。以下步骤包含有关故障排除过程的更多信息。
流程
查看
bridge_mappings。验证您使用的物理网络名称是否与
bridge_mapping配置的内容一致。示例
在本例中,物理网络名称为
physnet1。$ openstack network show provider-flat
输出示例
... | provider:physical_network | physnet1 ...
示例
在本例中,
bridge_mapping配置的内容也是physnet1:$ grep bridge_mapping /etc/neutron/plugins/ml2/openvswitch_agent.ini
输出示例
bridge_mappings = physnet1:br-ex
检查网络配置。
确认网络是作为
外部创建的,并使用扁平类型:示例
在本例中,会查询有关
provider-flat网络的详细信息:$ openstack network show provider-flat
输出示例
... | provider:network_type | flat | | router:external | True | ...
检查 patch-peer。
验证
br-int和br-ex是否使用 patch-peerint-br-ex <--> phy-br-ex连接。$ ovs-vsctl show
输出示例
Bridge br-int fail_mode: secure Port int-br-ex Interface int-br-ex type: patch options: {peer=phy-br-ex}输出示例
在
br-ex上配置 patch-peer :Bridge br-ex Port phy-br-ex Interface phy-br-ex type: patch options: {peer=int-br-ex} Port br-ex Interface br-ex type: internal如果
bridge_mapping在/etc/neutron/plugins/ml2/openvswitch_agent.ini中正确配置,这个连接会在重启neutron-openvswitch-agent服务时被创建。如果在重启该服务后没有创建连接,请重新检查
bridge_mapping设置。检查网络流。
运行
ovs-ofctl dump-flows br-ex和ovs-ofctl dump-flows br-int,并检查流是否去除传出数据包的内部 VLAN ID,并为传入的数据包添加 VLAN ID。当您在特定 Compute 节点上生成实例到这个网络时,首先会添加此流。-
如果在生成实例后没有创建此流,验证网络是否创建为
flat,是外部的,并且physical_network名称是否正确。另外,检查bridge_mapping设置。 最后,查看
ifcfg-br-ex和ifcfg-ethx配置。确保ethX作为端口添加到br-ex中,并且ifcfg-br-ex和ifcfg-ethx在ip的输出中具有UP标志。输出示例
以下输出显示
eth1是br-ex中的一个端口:Bridge br-ex Port phy-br-ex Interface phy-br-ex type: patch options: {peer=int-br-ex} Port "eth1" Interface "eth1"示例
以下示例演示了
eth1配置为 OVS 端口,并且内核知道要从 接口传输所有数据包,并将它们发送到 OVS 网桥br-ex。这可以在条目master ovs-system中观察到。$ ip a 5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 1000
-
如果在生成实例后没有创建此流,验证网络是否创建为