2.2. 调整 MTU 以将 ML2 机制驱动程序从 OVS 迁移到 OVN
如果要使用 VXLAN 或 GRE 的 OVN 机制驱动程序从 RHOSP 16.2 迁移到带有 Geneve 的 OVN 机制驱动程序,您必须确保最大传输单元(MTU)设置小于或等于网络中的最小 MTU。
如果您的当前部署使用 VLAN 而不是 VXLAN 或 GRE,请跳过这个过程,并继续 从 OVS 机制驱动程序迁移到 OVN 机制驱动程序的容器镜像。
先决条件
- 您已完成了准备环境 从 OVS 机制驱动程序迁移到 OVN 机制驱动程序 的步骤。
- 您的预迁移部署是最新的 RHOSP 16.2 版本,带有 VXLAN。
流程
运行
ovn_migration.sh setup-mtu-t1
。这会降低运行 DHCP 代理的所有节点中 DHCP 服务器的 T1 参数,该服务器在 /var/lib/config-data/puppet-generated/neutron/etc/neutron/dhcp_agent.ini 中配置dhcp_renewal_time
。$ ovn_migration.sh setup-mtu-t1 | sudo tee -a /var/log/ovn_migration_output.txt
- 如果您的原始 OVS 部署使用 VXLAN 或 GRE 项目网络,请等待 DHCP 租期已在所有虚拟机实例上续订。这可能需要 24 小时,具体取决于租期续订设置和实例数量。
验证 T1 参数是否已传播到现有虚拟机。
- 连接到其中一个计算节点。
通过附加到项目网络的 VM tap 之一运行
tcpdump
。如果 T1 传播成功,预计大约每 30 秒发生请求:
[heat-admin@overcloud-novacompute-0 ~]$ sudo tcpdump -i tap52e872c2-e6 port 67 or port 68 -n tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on tap52e872c2-e6, link-type EN10MB (Ethernet), capture size 262144 bytes 13:17:28.954675 IP 192.168.99.5.bootpc > 192.168.99.3.bootps: BOOTP/DHCP, Request from fa:16:3e:6b:41:3d, length 300 13:17:28.961321 IP 192.168.99.3.bootps > 192.168.99.5.bootpc: BOOTP/DHCP, Reply, length 355 13:17:56.241156 IP 192.168.99.5.bootpc > 192.168.99.3.bootps: BOOTP/DHCP, Request from fa:16:3e:6b:41:3d, length 30013:17:56.249899 IP 192.168.99.3.bootps > 192.168.99.5.bootpc: BOOTP/DHCP, Reply, length 355
注意这个验证无法使用 cirros 虚拟机。cirros
udhcpc'
实现不会响应 DHCP 选项 58 (T1)。在属于完整的 Linux 虚拟机的端口中尝试此验证。红帽建议您检查工作负载中代表的所有不同操作系统,如 Windows 和 Linux 发行版本的变体。
- 如果任何虚拟机实例没有更新,以反映对 DHCP 的 T1 参数的更改,重启它们。
降低预迁移 VXLAN 和 GRE 网络的 MTU:
$ ovn_migration.sh reduce-mtu | sudo tee -a /var/log/ovn_migration_output.txt
这一步会降低 MTU 网络,并使用 adapted_mtu 标记已完成的网络。该工具仅适用于 VXLAN 和 GRE 网络。如果您的部署只有 VLAN 项目网络,此步骤不会更改任何值。
如果您在 VXLAN 或 GRE 项目网络上有任何静态 IP 分配的实例,请手动修改这些实例的配置来配置新的 Geneve MTU,这是当前的 VXLAN MTU 减 8 字节。例如,如果基于 VXLAN 的 MTU 是 1450,请将其改为 1442。
注意只有在 VXLAN 或 GRE 项目网络上手动提供了静态 IP 分配和 MTU 设置,才执行此步骤。默认情况下,DHCP 提供 IP 分配和 MTU 设置。
- 继续 准备容器镜像以从 OVS 机制驱动程序迁移到 OVN 机制驱动程序。