常见问题解答¶
问:ML2/ovs 和 ML2/ovn 之间的主要区别是什么?
详情 |
ml2/ovs |
ml2/ovn |
|---|---|---|
agent/server 通信 |
Rabbit MQ 消息传递 + RPC。 |
南北向数据库上的 ovsdb 协议。 |
l3ha API |
路由器暴露一个“ha”字段,管理员可以通过部署默认值启用或禁用该字段。 |
路由器不暴露“ha”字段,一旦存在多个网络节点,就会使用 HA。 |
l3ha 数据平面 |
带有 keepalive 进程和 VRRP 流量的内部 ha 网络的 qrouter 命名空间。 |
ovn-controller 配置特定的 OpenFlow 规则,并在隧道端点上启用 BFD 协议以检测到节点的连接问题。 |
DVR API |
仅允许管理员修改路由器上的“distributed”标志。 |
根据配置选项 enable_distributed_floating_ip 暴露“distributed”标志 |
DVR 数据平面 |
在计算节点上使用命名空间、veth、ip 路由、ip 规则和 iptables。 |
在计算节点上使用 OpenFlow 规则。 |
E/W 流量 |
当路由器未分布式(DVR)时,流量通过网络节点。 |
在所有情况下完全分布式。 |
元数据服务 |
元数据服务由网络节点中的 qrouters 或 dhcp 命名空间提供。 |
元数据完全分布在计算节点上,并由 ovnmeta-xxxxx-xxxx 命名空间提供。 |
DHCP 服务 |
DHCP 通过在内部运行 dnsmasq 的 qdhcp-xxxxx-xxx 命名空间提供。 |
DHCP 由 OpenFlow 和 ovn-controller 提供,分布在计算节点上。 |
Trunk 端口 |
Trunk 端口通过创建 br-trunk-xxx 桥接和 patch 端口构建。 |
Trunk 端口存在于 br-int 中作为 OpenFlow 规则,而子端口直接连接到 br-int。 |
问:为什么我不能使用路由器的 distributed 或 ha 标志?
Networking OVN 以对管理员和用户透明的方式实现 HA 和分布式。
一旦检测到两个以上的网关节点,HA 将自动用于路由器。并且只要配置了(请参阅下一个问题),分布式浮动 IP 就会被使用。
问:OVN 是否支持 DVR 或分布式 L3 路由?
是的,它由配置中的单个标志控制。
如果 neutron 服务器配置中 ovn / enable_distributed_floating_ip 标志配置为 True,则 DVR 将用于浮动 IP,这是一个全部署范围的设置。与仅管理员可以为每个路由器指定此设置的 ML2/ovs 形成对比。
虽然 ovn 驱动程序不通过 API 暴露路由器的“distributed”标志。
问:OVN 是否支持与物理交换机的集成?
OVN 目前通过选择性地将它们用作从逻辑网络到物理网络的 VTEP 网关以及 Neutron ML2 框架提供的集成(分层端口绑定)与物理交换机集成。
问:ovn 驱动程序和 OVN 的 HA 状态如何?
通常,多个 neutron-server 在多个服务器上运行,并使用负载均衡器。ovn 驱动程序提供的 neutron ML2 机制驱动程序支持这种部署模型。DHCP 和元数据服务分布在计算节点上,不依赖于网络节点。
OVN 的网络控制器部分是分布式的 - OVN 控制器服务的实例在每个超visor 上运行。OVN 还包含一些用于控制目的的中央组件。
ovn-northd 是一个集中式服务,它在 OVN 的北向和南向数据库之间进行一些转换。目前,您只运行一次此服务。您可以使用类似 Pacemaker 的东西以主动/被动 HA 模式对其进行管理。OVN 项目计划允许此服务水平扩展,既用于扩展又用于 HA 原因。这将允许它以主动/主动 HA 模式运行。
OVN 还使用 ovsdb-server 用于 OVN 北向和南向数据库。ovsdb-server 支持使用复制进行主动/被动 HA。有关更多信息,请参见:http://docs.openvswitch.org/en/2025.2/topics/ovsdb-replication/
典型的部署将使用类似 Pacemaker 的东西来管理主动/被动 HA 过程。客户端将被指向虚拟 IP 地址。当 HA 管理器检测到主服务器发生故障时,虚拟 IP 将被移动,被动副本将成为新的主服务器。
问:我应该为我的 OpenStack 安装使用哪个核心 OVN 版本?
OpenStack 没有为 OVN 安装设置明确的版本要求,但建议遵循至少在 upstream CI 中使用的版本,例如:https://github.com/openstack/neutron/blob/4d31284373e89cb2b29539d6718f90a4c4d8284b/zuul.d/tempest-singlenode.yaml#L310
一些新功能可能需要最新的核心 OVN 版本才能工作。例如,要能够使用 VXLAN 网络类型,必须运行 OVN 20.09+。
有关 OVN 架构的更多详细信息的链接,请参见 OVN 信息。