第 13 章 配置分布式虚拟路由(DVR)


13.1. 了解分布式虚拟路由(DVR)

当您部署 Red Hat OpenStack Platform 时,您可以在集中式路由模型或 DVR 之间进行选择。

每个模型都有优缺点。使用此文档来仔细规划集中式路由或 DVR 是否适合您的需求。

新的默认 RHOSP 部署使用带有 Open Virtual Network 机制驱动程序(ML2/OVN)的 DVR 和 Modular Layer 2 插件。

在 ML2/OVS 部署中默认禁用 DVR。

13.1.1. 第 3 层路由概述

Red Hat OpenStack Platform Networking 服务(neutron)为项目网络提供路由服务。如果没有路由器,项目网络中的虚拟机实例可以通过共享 L2 广播域与其他实例通信。创建路由器并将其分配到项目网络,允许该网络中的实例与其他项目网络或上游通信(如果为路由器定义了外部网关)。

13.1.2. 路由流

Red Hat OpenStack Platform (RHOSP)中的路由服务可归类为三个主要流:

  • east-West 路由 - 同一项目中不同网络之间的流量路由。这个流量不会离开 RHOSP 部署。这个定义适用于 IPv4 和 IPv6 子网。
  • 使用浮动 IP 的 North-South 路由 - 浮动 IP 寻址是一个一对一的网络地址转换(NAT),可以修改以及虚拟机实例之间的浮点值。虽然浮动 IP 作为浮动 IP 和网络服务(neutron)端口之间的一对一关联建模,它们则通过与执行 NAT 转换的网络服务路由器关联来实施。浮动 IP 本身取自 uplink 网络,该网络为路由器提供外部连接。因此,实例可以与外部资源(如互联网上的端点)或其他方法通信。浮动 IP 是 IPv4 概念,不适用于 IPv6。假设项目使用的 IPv6 寻址(GUAs)使用跨项目没有重叠的全局广播地址(GUAs),因此可以在没有 NAT 的情况下路由。
  • 没有浮动 IP 的 North-South 路由(也称为 SNAT)- 网络服务为没有分配浮动 IP 的实例提供默认端口地址转换 (PAT) 服务。通过此服务,实例可以通过路由器与外部端点通信,但不能以其他方式通信。例如,一个实例可以浏览互联网上的网站,但外部的 Web 浏览器无法浏览托管在实例的网站。SNAT 仅适用于 IPv4 流量。此外,分配的 GUAs 前缀的网络服务网络不需要网络服务路由器外部网关端口上的 NAT。

13.1.3. 集中式路由

最初,网络服务(neutron)设计为具有由 Neutron L3 代理管理的项目虚拟路由器的集中式路由模型,它们都由 Neutron L3 代理部署在专用节点或节点上(称为网络节点或 Controller 节点)。这意味着,每次需要路由功能时(east/west、浮动 IP 或 SNAT),流量都会遍历拓扑中的专用节点。这带来了多个挑战,并导致出现最佳流量流。例如:

  • 通过 Controller 节点的实例流间的网络流量 - 当两个实例需要通过 L3 相互通信时,流量必须经过 Controller 节点。即使实例调度到同一 Compute 节点上,流量仍必须离开 Compute 节点,通过控制器流,并且重新路由到 Compute 节点。这会对性能造成负面影响。
  • 具有浮动 IP 的实例通过 Controller 节点接收和发送数据包 - 外部网络网关接口仅适用于 Controller 节点,因此流量是否源自实例,还是来自外部网络的实例,它必须通过 Controller 节点流过。因此,在大型环境中,Controller 节点会受大量流量负载的影响。这会影响性能和可扩展性,还需要仔细规划来适应外部网络网关接口中的足够带宽。相同的要求适用于 SNAT 流量。

为了更好地扩展 L3 代理,网络服务可以使用 L3 HA 功能,该功能将虚拟路由器分布到多个节点。如果 Controller 节点丢失,HA 路由器将在另一个节点上切换到备用节点,并在 HA 路由器故障转移完成后出现数据包丢失。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat