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 网桥拔出所有跳接端口(实例、qq/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
不会断开这两个网桥。
其他资源
- Director 安装和使用指南中的 在 overcloud 创建中包含的环境文件