搜索

第 9 章 升级 control plane 操作系统

download PDF

升级 control plane 节点上的操作系统。升级包括以下任务:

  • 使用系统升级参数运行 overcloud upgrade prepare 命令
  • 运行 overcloud 系统升级,它使用 Leapp 升级 RHEL 原位升级
  • 重新引导节点

9.1. 升级 control plane 节点

要将环境中的 control plane 节点升级到 Red Hat Enterprise Linux 9.2,您必须一次升级三分之一 control plane 节点,从 bootstrap 节点开始。

您可以使用 openstack overcloud upgrade run 命令升级 control plane 节点。这个命令执行以下操作:

  • 对操作系统执行 Leapp 升级。
  • 作为 Leapp 升级的一部分执行重启。

每个节点会在系统升级过程中重启。在此停机期间,Pacemaker 集群和 Red Hat Ceph Storage 集群的性能会降级,但没有中断。

本例包含以下带有可组合角色的节点:

  • controller-0
  • controller-1
  • controller-2
  • database-0
  • database-1
  • database-2
  • networker-0
  • networker-1
  • networker-2
  • ceph-0
  • ceph-1
  • ceph-2

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 查找 stackrc undercloud 凭证文件:

    $ source ~/stackrc
  3. 运行以下脚本,但没有 CONTROL_PLANE_ROLES 参数:确保您包含用于运行 overcloud 升级准备容器时使用的变量。

    python3 \
    /usr/share/openstack-tripleo-heat-templates/tools/multi-rhel-container-image-prepare.py \
         ${COMPUTE_ROLES} \
         --enable-multi-rhel \
         --excludes collectd \
         --excludes nova-libvirt \
         --minor-override \
    "{${EL8_TAGS}${EL8_NAMESPACE}${CEPH_TAGS}${NEUTRON_DRIVER}\"no_tag\":\"not_used\"}" \
         --major-override \
         "{${EL9_TAGS}${NAMESPACE}${CEPH_TAGS}${NEUTRON_DRIVER}\"no_tag\":\"not_used\"}" \
         --output-env-file \
    /home/stack/containers-prepare-parameter.yaml
    注意

    CONTROL_PLANE_ROLES 参数定义 control plane 角色的列表。从脚本中删除此参数为升级到 RHEL 9.2 准备 control plane 角色。如果脚本中包含 CONTROL_PLANE_ROLES 参数,则 control plane 角色会保留在 RHEL 8.4 上。

  4. skip_rhel_release.yaml 文件中,将 SkipRhelEnforcement 参数设置为 false

    parameter_defaults:
      SkipRhelEnforcement: false
  5. 更新 overcloud_upgrade_prepare.sh 文件:

    $ openstack overcloud upgrade prepare --yes \
        ...
        -e /home/stack/system_upgrade.yaml \
        -e /home/stack/containers-prepare-parameter.yaml \
        -e /home/stack/skip_rhel_release.yaml \
        ...
    • 使用特定于升级的参数(-e)包括 system_upgrade.yaml 文件。
    • 包含 containers-prepare-parameter.yaml 文件,并删除了 control plane 角色(-e)。
    • 包含 skip_rhel_release.yaml 文件,其中包含发行版本参数(-e)。
  6. 运行 overcloud_upgrade_prepare.sh 脚本:

    $ sh /home/stack/overcloud_upgrade_prepare.sh
  7. 获取系统升级所需的任何新的或修改的容器:

    $ openstack overcloud external-upgrade run  \
         --stack <stack> \
         --tags container_image_prepare 2>&1
  8. 升级第一个 control plane 节点三分之一:

    $ openstack overcloud upgrade run --yes \
         --stack <stack> \
         --tags system_upgrade \
         --limit <controller-0>,<database-0>,<messaging-0>,<networker-0>,<ceph-0>
    • <stack> 替换为您的堆栈的名称。
    • 将 & lt;controller-0>,<database-0& gt;, <messaging-0 &gt; , <networker-0 > , <ceph-0 > 替换为您自己的节点名称。
  9. 登录到每个升级的节点,并验证每个节点的集群是否正在运行:

    $ sudo pcs status

    在升级了第二个 control plane 节点的三分之一后,重复这个验证步骤,并在升级最后三分之一 control plane 节点后。

  10. 升级第二个 control plane 节点的三分之一:

    $ openstack overcloud upgrade run --yes \
         --stack <stack> \
         --tags system_upgrade \
         --limit <controller-1>,<database-1>,<messaging-1>,<networker-1>,<ceph-1>
    • 将 & lt;controller-1&gt; ,<database-1& gt;, <messaging -1&gt; , <networker -1> , <ceph -1> 替换为您自己的节点名称。
  11. 升级 control plane 节点的最后三分之一:

    $ openstack overcloud upgrade run --yes \
         --stack <stack> \
         --tags system_upgrade \
         --limit <controller-2>,<database-2>,<messaging-2>,<networker-2>,<ceph-2>
    • 将 & lt;controller-2&gt; ,<database-2& gt;, <messaging -2&gt; , <networker -2> , <ceph -2> 替换为您自己的节点名称。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.