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
# ovs-vsctl del-port br-ex2 datacentre # ovs-vsctl del-port br-tenant tenant
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
neutron-openvswitch-agent
:service neutron-openvswitch-agent restart
# service neutron-openvswitch-agent restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# /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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过重新部署 overcloud 恢复连接。
重新运行
openstack overcloud deploy
命令时,您的网桥映射值会被重新应用。注意重启后,OVS 代理不会影响 bridge_mappings 中不存在的任何连接。因此,如果您有连接到
br-ex2
的br-int
,并且br-ex2
上有一些数据流,在重启 OVS 代理或节点时,从 bridge_mappings 配置中删除br-int
不会断开这两个网桥。