4.8. 对 VLAN 提供商网络中的实例物理网络连接进行故障排除
请参考 VLAN 提供商网络中的连接功能"如何 VLAN 提供商网络中的 VLAN 提供商网络中的数据包流发挥作用?"时。另外,请查看以下配置选项:
流程
验证
bridge_mapping
配置中使用的物理网络名称与物理网络名称匹配。示例
$ openstack network show provider-vlan171
输出示例
... | provider:physical_network | physnet1 ...
示例
$ grep bridge_mapping /etc/neutron/plugins/ml2/openvswitch_agent.ini
输出示例
在本例中,物理网络名称
physnet1
与bridge_mapping
配置中使用的名称匹配:bridge_mappings = physnet1:br-ex
确认网络已创建
为外部
,类型为vlan
,并使用正确的segmentation_id
值:示例
$ openstack network show provider-vlan171
输出示例
... | provider:network_type | vlan | | provider:physical_network | physnet1 | | provider:segmentation_id | 171 | ...
检查 patch-peer。
验证
br-int
和br-ex
是否使用 patch-peerint-br-ex <--> phy-br-ex
连接。$ ovs-vsctl show
此连接在重启
neutron-openvswitch-agent
时创建,只要bridge_mapping
在/etc/neutron/plugins/ml2/openvswitch_agent.ini
中被正确配置。如果即使重启该服务后没有创建,则重新检查
bridge_mapping
设置。检查网络流。
-
要查看传出数据包的流,请运行
ovs-ofctl dump-flows br-ex
和ovs-ofctl dump-flows br-int
,并验证流是否将内部 VLAN ID 映射到外部 VLAN ID (segmentation_id
)。 对于传入数据包,将外部 VLAN ID 映射到内部 VLAN ID。
当您第一次生成实例到此网络时,neutron OVS 代理会添加此流。
-
如果在生成实例后没有创建此流,请确保网络创建为
vlan
,为外部
,并且physical_network
名称正确。另外,再次检查bridge_mapping
设置。 最后,重新检查
ifcfg-br-ex
和ifcfg-ethx
配置。确保
br-ex
包含端口ethX
,并且ifcfg-br-ex
和ifcfg-ethx
在ip a
命令的输出中都有一个UP
标志。示例
$ ovs-vsctl show
在本例中,
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"
示例
$ ip a
输出示例
在本例中,
eth1
已添加为端口,并且内核已配置为将所有数据包从接口移动到 OVS 网桥br-ex
。条目将演示这一点,即master ovs-system
。5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 1000
-
要查看传出数据包的流,请运行