第 3 章 将从 ML2/OVS 迁移到 ML2/OVN
如果您使用 ovn-migration.sh 备份 来备份控制器节点,如准备环境 迁移到 OVN 机制驱动程序 中所述, 您也可以在从 ML2/OVS 升级到 ML2/OVN 前备份 overcloud 模板,您可以通过执行这些基本步骤来恢复迁移。
- 恢复控制器节点。
- 运行 restore.yaml 以删除 ML2/OVN 工件。
- 使用您备份的 ML2/OVS 模板重新部署 overcloud。
恢复迁移并恢复计算节点后,您可能会遇到大量网络停机时间 20 分钟或更长时间。
ML2/OVS 到 ML2/OVN 迁移以可能无法完全解析的方式改变环境。
如果您遵循正确的备份步骤并恢复指令,则可以恢复失败或中断的迁移,但恢复的 OVS 环境可能会改变原始的 OVS 环境。例如,如果您迁移到 OVN 机制驱动程序,请将实例迁移到另一个 Compute 节点,然后恢复 OVN 迁移,实例将位于原始 Compute 节点上。另外,恢复操作中断与 dataplane 的连接。
在生产环境中迁移之前,请主动提交支持问题单。然后,与您的红帽大客户经理或红帽全局专业服务合作,在符合您生产环境的暂存环境中创建备份和迁移计划并测试迁移。
如果您选择为潜在的迁移恢复准备备份,您还应在暂存环境中测试迁移恢复。
迁移恢复不是反向迁移。它旨在仅在迁移失败时作为最后的手段。如果迁移通过验证,且稍后识别迁移后环境中的操作问题,请在迁移后以错误的形式解决这些问题,
3.1. 恢复控制器节点以恢复 ML2/OVN 迁移 复制链接链接已复制到粘贴板!
如果您使用 ovn-migration.sh 备份 来在迁移前备份控制器节点,您可以使用 Relax 和 Recover 工具(ReaR)在迁移后失败时恢复它们。
前提条件
- 您已为失败的迁移提交了支持问题单,并收到红帽的说明。
-
在迁移前,您使用
ovn-migration.sh 备份来备份控制器节点。 - 您可以访问备份节点。
- 您备份了重新部署 ML2/OVS overcloud 所需的 overcloud 模板。
流程
- 停止与 control plane API 交互的所有操作,如创建新网络、子网或路由器,或在计算节点之间迁移虚拟机实例。
- 关闭每个 control plane 节点。在继续操作前,请确保 control plane 节点已完全关闭。
- 使用对应的备份 ISO 镜像引导每个 control plane 节点。
当每个 control plane 节点上显示
Relax-and-Recover引导菜单时,选择Recover <control_plane_node>。将<control_plane_node> 替换为对应的 control plane 节点的名称。注意如果您的系统使用 UEFI,请选择
Relax-and-Recover (no Secure Boot)选项。在每个 control plane 节点上,以
root用户身份登录并恢复节点:这时会显示以下信息:
Welcome to Relax-and-Recover. Run "rear recover" to restore your system! RESCUE <control_plane_node>:~ # rear recover
Welcome to Relax-and-Recover. Run "rear recover" to restore your system! RESCUE <control_plane_node>:~ # rear recoverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当 control plane 节点恢复过程完成时,控制台会显示以下信息:
Finished recovering your system Exiting rear recover Running exit tasks
Finished recovering your system Exiting rear recover Running exit tasksCopy to Clipboard Copied! Toggle word wrap Toggle overflow 关闭该节点:
RESCUE <control_plane_node>:~ # poweroff
RESCUE <control_plane_node>:~ # poweroffCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 将引导序列设置为正常引导设备。在引导时,节点会恢复之前的状态。
为确保服务正确运行,请检查 pacemaker 的状态。以
root用户身份登录 Controller 节点,然后输入以下命令:pcs status
# pcs statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
ovn-router显示为任何环境文件或模板中NeutronPluginExtensions的值,请将ovn-替换为路由器。router参数可能出现在多个文件中。例如,一个这样的文件是tripleo-heat templates/environments/services/neutron-ovn-dvr-ha.yaml:parameter_defaults: NeutronServicePlugins: "router,trunk,qos,placement"
parameter_defaults: NeutronServicePlugins: "router,trunk,qos,placement"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
恢复参数运行迁移脚本:ovn_migration.sh revert
$ ovn_migration.sh revertCopy to Clipboard Copied! Toggle word wrap Toggle overflow
故障排除
-
运行以下命令,清除
pcs status显示的资源警报:
pcs resource clean
# pcs resource clean
-
运行以下命令,清除
pcs status显示的 STONITH 隔离操作错误:
pcs resource clean pcs stonith history cleanup
# pcs resource clean
# pcs stonith history cleanup