ML2/OVS 与 OVN 的差距

这是目前已知的 ML2/OVS 和 OVN 之间差距的列表。 这不是一个完整的列表,但足以作为实施者解决这些差距的起点。 OVN 的 TODO 列表位于 [1]

  • Placement API 中 QoS 最小带宽分配

    ML2/OVN 与 Nova placement API 的集成,为端口提供保证的最小带宽 [2]。 正在进行中,请参阅 [3]

  • 实例的 DHCP 服务

    ML2/OVS 会向每个实例添加数据包过滤规则,允许来自实例的 DHCP 查询到达 DHCP 代理。 对于 OVN,必须通过附加到实例的安全组规则显式允许此流量。 请注意,默认安全组允许所有传出流量,因此只有在使用自定义安全组时才相关 [4]。 建议的补丁是 [5],但需要重新激活并更新。

  • 实例的 DNS 解析

    OVN 无法使用主机的网络进行 DNS 解析,因此 [6] 中的 Case 2b 只能在部署额外的 DHCP 代理时使用。 对于 Case 2a,必须在 ml2_conf.ini 中使用不同的配置选项

    [ovn]
    dns_servers = 203.0.113.8, 198.51.100.53
    

    OVN 通过模拟来自配置的 DNS 服务器的响应来回答租户网络中主机和 IP 地址的查询。 这可能会导致调试时产生混淆。

    OVN 只能回答通过 UDP 发送的查询,使用 TCP 的查询将被 OVN 忽略并转发到配置的解析器。

    OVN 只能回答没有设置任何附加选项(EDNS)的查询。 根据 OVN 版本,依赖于此的查询要么会得到错误的响应,要么也会转发到配置的解析器。

  • IPv6 NDP 代理

    OVN 不支持 IPv6 地址的 NDP 代理功能。

  • 东西向分片

    核心 OVN 实现不支持使用 OVN 路由器在两个私有网络之间对东西向流量进行分片。 这正在被跟踪在 [7][8]

  • 南北向分片和路径 MTU 发现

    当目标网络的 MTU 小于源网络的 MTU 时,OVN 无法正确地分片 IPv4 数据包。 相反,受影响的数据包可能会根据方向被静默丢弃。 即使使用了 ml2_conf.ini 中的必要配置选项,OVN 也不会为具有 DF 位设置的数据包生成 ICMP“数据包太大”响应

    [ovn]
    ovn_emit_need_to_frag = true
    

    这会导致路径 MTU 发现失败,并且正在被跟踪在 [7][9]

  • 流量计量

    目前 neutron-metering-agent 只能与 Neutron L3 代理一起工作。 它不受 ovn-router 服务插件或 neutron-ovn-agent 的支持。 这正在被报告和跟踪在 [10]

  • 提供商网络和分布式路由中的浮动 IP 端口转发

    当前,当像 vlanflat 这样的提供商网络类型作为内部网络连接到路由器时,同时启用了 enable_distributed_floating_ip 配置选项,使用此类路由器的浮动 IP 端口转发将无法正常工作。 这是由于路由器设置不兼容,导致 vlan/flat 网络中的流量被分布式,但端口转发始终集中在 ML2/OVN 后端。 这正在被报告在 [11]

参考