10.4. 为 OVS 维护网桥映射
删除任何 OVS 网桥映射后,您必须执行后续的清理,以确保网桥配置清除任何关联的补丁端口条目。您可以使用以下方法执行此操作:
- 手动端口清理 - 需要仔细删除多余的补丁端口。不需要中断网络连接。
- 自动端口清理 - 执行自动清理,但需要中断,并且要求重新添加所需的网桥映射。当可以容忍网络连接中断时,在调度的维护窗口期间选择这个选项。
删除 OVN 网桥映射时,OVN 控制器会自动清理任何关联的补丁端口。
10.4.1. 手动清理 OVS 补丁端口
删除任何 OVS 网桥映射后,您还必须删除关联的补丁端口。
先决条件
- 要清理的补丁端口必须是 Open Virtual Switch (OVS)端口。
- 执行手动补丁端口清理 不需要 系统中断。
您可以通过其命名约定来识别要清理的补丁端口:
-
在
br-$external_bridge
补丁端口中,名为phy-<external bridge name>
(如 phy-br-ex2)。 -
在
br-int
补丁端口中,名为int-<external bridge name>
(例如int-br-ex2)。
-
在
流程
使用
ovs-vsctl
删除与已删除网桥映射条目关联的 OVS 补丁端口:# ovs-vsctl del-port br-ex2 datacentre # ovs-vsctl del-port br-tenant tenant
重启
neutron-openvswitch-agent
:# service neutron-openvswitch-agent restart
10.4.2. 自动清理 OVS 补丁端口
删除任何 OVS 网桥映射后,您还必须删除关联的补丁端口。
删除 OVN 网桥映射时,OVN 控制器会自动清理任何关联的补丁端口。
先决条件
- 要清理的补丁端口必须是 Open Virtual Switch (OVS)端口。
-
使用
neutron-ovs-cleanup
命令自动清理补丁端口会导致网络连接中断,且应仅在调度的维护窗口期间执行。 -
使用标志
--ovs_all_ports
从br-int
中删除所有 patch 端口,清理来自br-tun
的隧道结束,以及从网桥到网桥的 patch 端口。 -
neutron-ovs-cleanup
命令从所有 OVS 网桥中拔出所有补丁端口(instances、qdhcp/qrouter 等)。
流程
使用
--ovs_all_ports
标志运行neutron-ovs-cleanup
命令。重要缓解此步骤将导致总网络中断。
# /usr/bin/neutron-ovs-cleanup --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --log-file /var/log/neutron/ovs-cleanup.log --ovs_all_ports
通过重新部署 overcloud 来恢复连接。
重新运行
openstack overcloud deploy
命令时,您的网桥映射值会被重新应用。注意重启后,OVS 代理不会影响 bridge_mappings 中不存在的任何连接。因此,如果您有连接到
br-ex2
的br-int
,并且br-ex2
上有一些数据流,在重启 OVS 代理或节点时,从 bridge_mappings 配置中删除br-int
不会断开这两个网桥。
其他资源
- 高级 Overcloud 自定义指南中的 网络环境参数
- 高级 Overcloud 自定义指南中的创建 overcloud 中包括环境文件