11.5. 配置 ML2/OVN 北向路径 MTU 发现,以实现巨型帧碎片
如果内部网络中的虚拟机将巨型帧发送到外部网络,并且内部网络的最大传输单元(MTU)超过外部网络的 MTU,则北向帧可以轻松地超过外部网络的容量。
ML2/OVS 会自动处理这种过度化数据包问题,ML2/OVN 会自动处理 TCP 数据包。
但是,为了确保正确处理使用 ML2/OVN 机制驱动程序的部署中的无线 UDP 数据包,您需要执行额外的配置步骤。
这些步骤将 ML2/OVN 路由器配置为将 ICMP"fragment required"数据包返回到发送虚拟机,其中发送的应用程序会将有效负载分成较小的数据包。
注意
在 east/west 流量中,RHOSP ML2/OVN 部署不支持碎片超过 east/west 路径上最小 MTU 的数据包。例如:
- VM1 位于 Network1 上,其 MTU 为 1300。
- VM2 位于 Network2 上,其 MTU 为 1200。
在 VM1 和 VM2 之间以方向形式进行 ping,大小为 1171 或更少成功。大于 1171 的 ping 会导致数据包丢失百分比。
由于没有客户的具体要求,红帽还没有计划提供对它的支持。
先决条件
- 带有 kernel-4.18.0-193.20.1.el8_2 或更高版本的RHEL 8.2.0.4 或更高版本。
流程
检查内核版本。
ovs-appctl -t ovs-vswitchd dpif/show-dp-features br-int
-
如果输出包含
Check pkt length action: No
,或者输出中没有检查 pkt length 操作
字符串,请升级到 RHEL 8.2.0.4 或更高版本,或者不会将巨型帧发送到具有较小的 MTU 的外部网络。 如果输出包含
Check pkt length action: Yes
,请在 ml2_conf.ini 的 [ovn] 部分中设置以下值:ovn_emit_need_to_frag = True