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)。

流程

  1. 使用 ovs-vsctl 删除与删除的网桥映射条目关联的 OVS 跳接端口:

    # ovs-vsctl del-port br-ex2 datacentre
    # ovs-vsctl del-port br-tenant tenant
  2. 重启 neutron-openvswitch-agent

    # service neutron-openvswitch-agent restart

10.4.2. 自动清理 OVS 跳接端口

在移除任何 OVS 网桥映射后,还必须删除关联的跳接端口。

注意

删除 OVN 网桥映射时,OVN 控制器会自动清理任何关联的补丁端口。

先决条件

  • 您清理的跳接端口必须是 Open Virtual Switch (OVS)端口。
  • 使用 neutron-ovs-cleanup 命令自动清理跳接端口会导致网络连接中断,并且仅在计划的维护窗口期间执行。
  • 使用标志 --ovs_all_portsbr-int 中删除所有 patch 端口,清理来自 br-tun 的隧道结束,以及从网桥到网桥的 patch 端口。
  • neutron-ovs-cleanup 命令从所有 OVS 网桥拔出所有跳接端口(实例、qrouter 等)。

流程

  1. 使用 --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
  2. 通过重新部署 overcloud 来恢复连接。

    重新运行 openstack overcloud deploy 命令时,您的网桥映射值将重新应用。

    注意

    重启后,OVS 代理不会干扰 bridge_mappings 中不存在的任何连接。因此,如果您有连接到 br-ex2br-int,并且 br-ex2 上有一些数据流,在重启 OVS 代理或节点时,从 bridge_mappings 配置中删除 br-int 不会断开这两个网桥。