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 网桥拔出所有跳接端口(实例、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
不会断开这两个网桥。