1.4. 规划和准备原位升级
在对 OpenStack Platform 环境进行原位升级前,为升级创建一个计划,并满足可能阻止成功升级的潜在障碍。
1.4.1. 熟悉 Red Hat OpenStack Platform 17.1
在执行升级前,熟悉 Red Hat OpenStack Platform 17.1 以帮助您了解生成的环境以及可能会影响升级的任何潜在的版本更改。要熟悉 Red Hat OpenStack Platform 17.1,请遵循以下建议:
阅读升级路径中所有版本的发行注记,并识别需要计划的任何潜在方面:
- 包含新功能的组件
- 已知问题
使用以下链接为每个版本打开发行注记:
- Red Hat OpenStack Platform 16.2,这是您的源版本
- Red Hat OpenStack Platform 17.1,这是您的目标版本
- 阅读《 使用 director 版本 17.1 安装和管理 Red Hat OpenStack Platform 指南),并熟悉本指南中任何新的要求和流程。
- 安装概念验证 Red Hat OpenStack Platform 17.1 undercloud 和 overcloud。开发目标 OpenStack Platform 版本的实践体验,并调查目标版本和当前版本之间的潜在差异。
1.4.2. Leapp 升级使用 Red Hat OpenStack Platform
长生命 Red Hat OpenStack Platform 升级需要一个从 Red Hat Enterprise Linux (RHEL) 8.4 升级到 RHEL 9.2 的基本操作系统。升级过程使用 Leapp 程序执行到 RHEL 9.2 的升级。但是,Leapp 升级的一些方面会被自定义,以确保您专门从 RHEL 8.4 升级到 RHEL 9.2。要将操作系统升级到 RHEL 9.2,请参阅 执行 undercloud 系统升级。
限制
有关可能会影响升级的潜在限制的详情,请参考从 RHEL 8 升级到 RHEL 9 指南中的以下部分:
如果任何已知的限制影响您的环境,请联系红帽技术支持团队 的建议。
故障排除
有关故障排除潜在 Leapp 问题的详情,请参考从 RHEL 8 升级到 RHEL 9 中的 故障排除。
1.4.3. 支持的升级场景
在进行升级前,请检查您的 overcloud 是否被支持。
如果您不确定这些列表中未提及的特定场景是否被支持,请参阅红帽 技术支持团队 的建议。
支持的场景
以下原位升级场景经过测试并被支持。
- 具有默认角色类型的标准环境:控制器、计算和 Ceph Storage OSD
- Split-Controller 可组合角色
- Ceph Storage 可组合角色
- Hyper-Converged Infrastructure:同一节点上的计算和 Ceph Storage OSD 服务
- 具有网络功能虚拟化(NFV)技术的环境:单根输入/输出虚拟化(SR-IOV)和数据平面开发套件(DPDK)
启用实例 HA 的环境
注意在升级过程中,支持 nova 实时迁移。但是,由 Instance HA 启动的撤离不被支持。当您升级 Compute 节点时,节点会被完全关闭,且该节点上运行的任何工作负载都不会自动被 Instance HA 撤离。相反,您必须手动执行实时迁移。
技术预览场景
当您与这些功能结合使用时,升级的框架被视为技术预览,因此不受红帽完全支持。您应该只在概念验证环境中测试此场景,而不在生产环境中进行升级。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。
- 边缘和分布式 Compute 节点(DCN)场景
1.4.4. 使用外部 Ceph 部署升级的注意事项
如果您单独部署了 Red Hat Ceph Storage 系统,然后使用 director 部署和配置 OpenStack,然后才能将 Red Hat OpenStack Platform (RHOSP)部署从 16.2 升级到 17.1,您必须将 Red Hat Ceph Storage 集群从版本 4 升级到 5。升级 Red Hat Ceph Storage 集群后,Red Hat OpenStack Platform 16 将继续操作,并与存储集群兼容。有关更多信息,请参阅 Red Hat Ceph Storage 5 升级指南中的升级 Red Hat Ceph Storage 集群。
1.4.5. 可能会阻止升级的已知问题
查看以下可能影响成功升级的已知问题。
如果您将操作系统从 RHEL 7.x 升级到 RHEL 8.x,或从 RHEL 8.x 升级到 RHEL 9.x,请不要使用 --debug
选项运行 Leapp 升级。系统 会一直处于设置代码状态的早期控制台
,不会自动重启。要避免这个问题,UpgradeLeappDebug
参数默认设置为 false
。不要在您的模板中更改这个值。
重启 overcloud 节点后,权限问题会导致 collectd-sensubility 停止工作。因此,collectd-sensubility 会停止报告容器健康状况。在从 Red Hat OpenStack Platform (RHOSP) 16.2 升级到 RHOSP 17.1 的过程中,overcloud 节点会作为 Leapp 升级的一部分重启。为确保 collectd-sensubility 继续工作,请运行以下命令:
sudo podman exec -it collectd setfacl -R -m u:collectd:rwx /run/podman
多 RHEL 环境中不支持以下部署:
- ShiftOnStack
- DirectorOperator
您必须将所有 Compute 主机升级到 RHEL 9.2,或者保持所有在 RHEL 8.4 上运行的计算主机。
分布式 Compute 节点(DCN)部署不支持 Multi-RHEL 环境,也不支持从 RHOSP 16.2 升级到 RHOSP 17.1。
Pacemaker 控制的 ceph-nfs
资源需要一个运行时目录来存储某些进程数据。安装或升级 RHOSP 时会创建该目录。目前,重启 Controller 节点会删除目录,在 Controller 节点重启时不会恢复 ceph-nfs
服务。如果所有 Controller 节点都已重启,ceph-nfs
服务会永久失败。
您可以应用以下临时解决方案:
如果重启 Controller 节点,登录到 Controller 节点并创建
/var/run/ceph
目录:$ mkdir -p /var/run/ceph
在所有已重新引导的 Controller 节点上重复此步骤。如果在创建目录后
ceph-nfs-pacemaker
服务已标记为失败,请从任何 Controller 节点运行以下命令:$ pcs resource cleanup
从 RHEL 8.4 升级到 RHEL 9.2 后,nova_virtlogd
容器镜像将继续运行。此容器镜像使用 Red Hat Universal Base Image (UBI) 8 容器。另外,还会创建另一个名为 nova_virtlogd_wrapper
的容器镜像,该镜像使用 UBI 9 容器。升级后,所有容器镜像都应该使用 UBI 9 容器。但是,nova_virtlogd
容器镜像不会影响环境。后续 RHOSP 发行版本中会进行修复。
目前,在 ovn_controller
和 ovn_dbs
的部署步骤中存在一个竞争条件,这会导致 ovn_dbs
在 ovn_controller
前升级。如果在 ovn_dbs
之前没有升级 ovn_controller
,则重启到新版本时出错会导致数据包丢失。如果在 Open Virtual Network (OVN)升级过程中发生竞争条件,预计会出现一分钟网络中断。后续 RHOSP 发行版本中会进行修复。
1.4.6. 备份和恢复
在升级 Red Hat OpenStack Platform (RHOSP) 16.2 环境前,请使用以下选项之一备份 undercloud 和 overcloud control plane:
- 在执行升级前备份节点。有关在升级前备份节点的更多信息,请参阅 Red Hat OpenStack Platform 16.2 备份和恢复 undercloud 和 control plane 节点。
- 执行 undercloud 升级前,并在执行 overcloud 升级前备份 undercloud 节点。有关备份 undercloud 的更多信息,请参阅 Red Hat OpenStack Platform 17.1 备份和恢复 undercloud 和 control plane 节点中的 undercloud 节点的备份。
- 使用适合您的环境的第三方备份和恢复工具。有关认证备份和恢复工具的更多信息,请参阅 红帽生态系统目录。
1.4.7. 次版本更新
如果您在升级 RHOSP 环境前使用早于 16.2.4 的 Red Hat OpenStack Platform (RHOSP)版本,请将环境更新至当前版本的最新次版本。例如,在升级到 Red Hat OpenStack Platform 17.1 之前,将 Red Hat OpenStack Platform 16.2.3 环境更新至最新的 16.2 版本。
有关为 Red Hat OpenStack Platform 16.2 执行次要版本更新的说明,请参阅 保持 Red Hat OpenStack Platform Updated。
1.4.8. 代理配置
如果您将代理与 Red Hat OpenStack Platform 16.2 环境搭配使用,则 /etc/environment
文件中的代理配置会保留操作系统升级和 Red Hat OpenStack Platform 17.1 升级。
- 如需有关 Red Hat OpenStack Platform 16.2 代理配置的更多信息,请参阅 安装和管理 Red Hat OpenStack Platform 中的使用 代理运行 undercloud 时的注意事项。
- 有关 Red Hat OpenStack Platform 17.1 的代理配置的更多信息,请参阅 安装和管理 Red Hat OpenStack Platform 中的使用 代理运行 undercloud 时的注意事项。
1.4.9. 计划 Compute 节点升级
将 Compute 节点从 Red Hat OpenStack Platform (RHOSP) 16.2 升级到 RHOSP 17.1 后,您可以选择以下选项之一升级 Compute 主机操作系统:
- 在 Red Hat Enterprise Linux (RHEL) 8.4 上保留一部分 Compute 节点,并将剩余的计算节点升级到 RHEL 9.2。这被称为多 RHEL 环境。
- 将所有 Compute 节点升级到 RHEL 9.2,并完成环境的升级。
- 在 RHEL 8.4 上保留所有 Compute 节点。RHEL 8.4 的生命周期适用。
多 RHEL 环境的好处
您必须将所有 Compute 节点升级到 RHEL 9.2,以利用任何只在 RHOSP 17.1 中支持的硬件相关功能,如 vTPM 和安全引导。但是,您可能需要某些或所有 Compute 节点保留在 RHEL 8.4 上。例如,如果您为 RHEL 8 认证了一个应用程序,您可以在 RHEL 8.4 上保持 Compute 节点来支持应用程序,而无需阻塞整个升级。
将部分 Compute 节点升级到 RHEL 9.2 的选项可让您更好地控制升级过程。您可以在计划的维护窗口中确定升级 RHOSP 环境,并将操作系统延迟到另一个时间。需要较少的停机时间,从而最大程度降低对最终用户的影响。
如果您计划从 RHOSP 17.1 升级到 RHOSP 18.0,您必须将所有主机升级到 RHEL 9.2。如果在延长生命周期支持阶段外的主机上运行 RHEL 8.4,则必须获得 TUS 订阅。
多 RHEL 环境的限制
在多 RHEL 环境中有以下限制:
- 运行 RHEL 8 的计算节点无法使用 NVMe-over-TCP Cinder 卷。
- 您不能将不同的路径用于 RHOSP 16.2 和 17.1 上的套接字文件进行 collectd 监控。
- 您无法混合 ML2/OVN 和 ML2/OVS 机制驱动程序。例如,如果您的 RHOSP 16.2 部署包含 ML2/OVN,则您的 Multi-RHEL 环境必须使用 ML2/OVN。
- 多 RHEL 环境中不支持 FIPS。FIPS 部署是第 1 天操作。RHOSP 16.2 不支持 FIPS。因此,当您从 RHOSP 16.2 升级到 17.1 时,17.1 环境不包括 FIPS。
- 目前不支持边缘拓扑。
支持的超融合基础架构环境中的所有 HCI 节点都必须使用与 Red Hat OpenStack Platform 控制器使用的版本相同的 Red Hat Enterprise Linux 版本。如果要在同一超融合基础架构环境中的 HCI 节点上使用混合状态的多个 Red Hat Enterprise 版本,请联系红帽客户体验和参与度 团队,讨论支持例外。
升级 Compute 节点
使用以下选项之一升级 Compute 节点:
- 要对 Compute 节点执行多 RHEL 升级,请参阅将 Compute 节点升级到多 RHEL 环境。
- 要将所有 Compute 节点升级到 RHEL 9.2,请参阅将 Compute 节点升级到 RHEL 9.2。
- 如果您要在 RHEL 8.4 上保留所有 Compute 节点,则不需要额外的配置。