5.2. 在 undercloud 上执行 Leapp 升级


安装并运行 Leapp 程序将操作系统升级到 Red Hat Enterprise Linux (RHEL) 8。

先决条件

流程

  1. stack 用户的身份登录 undercloud。
  2. 安装 Leapp 工具和 jq:

    $ sudo yum install leapp
    $ sudo yum install jq
    Copy to Clipboard Toggle word wrap
  3. 下载额外所需的数据文件(RPM 软件包更改和 RPM 存储库映射)附加到 知识库文章 Data required by the Leapp utility for an in-place upgrade from RHEL 7 to RHEL 8,并将这些文件放在 /etc/leapp/files/ 目录中。
  4. 更新您的红帽订阅:

    • 如果您的 undercloud 使用红帽客户门户网站进行注册,请刷新当前订阅以获取对 Red Hat Enterprise Linux 8.2 内容的访问权限:

      $ sudo subscription-manager refresh
      Copy to Clipboard Toggle word wrap
    • 如果您的 undercloud 使用 Red Hat Satellite 服务器进行注册,请将 undercloud 重新注册到与您的 Red Hat OpenStack Platform (RHOSP) 16.1 激活码关联的内容视图。

      $ sudo subscription-manager register --force --org ORG --activationkey ACTIVATION_KEY
      Copy to Clipboard Toggle word wrap
      注意

      为 Red Hat OpenStack Platform 16.1 创建的内容视图必须包含 Red Hat Enterprise Linux 8.2 的内容。

  5. Red Hat OpenStack Platform 16.1 使用 Open vSwitch 的较新版本。通过 to_removeto_install 事务文件替换 Open vSwitch 版本:

    $ echo 'openvswitch2.11' | sudo tee -a /etc/leapp/transaction/to_remove
    $ echo 'openvswitch2.13' | sudo tee -a /etc/leapp/transaction/to_install
    Copy to Clipboard Toggle word wrap
  6. 使用 to_keep 事务文件升级保留 ceph-ansible 的 Red Hat Ceph Storage 3 版本:

    $ echo 'ceph-ansible' | sudo tee -a /etc/leapp/transaction/to_keep
    Copy to Clipboard Toggle word wrap
  7. 调整 RHEL 8 中不再支持的内核模块:

    $ if [ -f /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/kernel/checkkerneldrivers/files/removed_drivers.txt ]; then
        for module in pata_acpi floppy; do
            sudo sed -i "/^${module}$/d" /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/kernel/checkkerneldrivers/files/removed_drivers.txt
        done
    else
        for module in pata_acpi floppy; do
            jq ". | del(.data[] | select(.driver_name == \"${module}\"))" /etc/leapp/files/device_driver_deprecation_data.json | sudo tee /etc/leapp/files/device_driver_deprecation_data.json_modified
            mv /etc/leapp/files/device_driver_deprecation_data.json_modified /etc/leapp/files/device_driver_deprecation_data.json
        done
    fi
    Copy to Clipboard Toggle word wrap
  8. 运行 leapp answer 命令并指定 Leapp 回答来删除 pam_pkcs11 模块:

    $ sudo leapp answer --add --section remove_pam_pkcs11_module_check.confirm=True
    Copy to Clipboard Toggle word wrap
  9. 可选:如果您的环境使用 TLS-Everywhere 架构部署,并使用已弃用的 authconfig 工具在您的系统中配置身份验证,请使用 authselect 工具配置 RHEL 8 系统:

    $ sudo leapp answer --add --section authselect_check.confirm=True
    Copy to Clipboard Toggle word wrap

    有关 Leapp 升级过程中身份验证配置的更多信息,请参阅 从 RHEL 7 升级到 RHEL 8 中的已知问题

  10. 设置 LEAPP_DEVEL_TARGET_RELEASELEAPP_UNSUPPORTED 环境变量,以指定您要升级到的 RHEL 8 次版本。对于 RHOSP 16.1,您必须将 RHEL 8 次版本设置为 8.2

    $ export LEAPP_UNSUPPORTED=1
    $ export LEAPP_DEVEL_TARGET_RELEASE=8.2
    Copy to Clipboard Toggle word wrap

    每次使用带有 LEAPP_DEVEL 前缀的环境变量时,都必须使用 LEAPP_UNSUPPORTED 环境变量。

  11. 从 Leapp 进程中删除持久性网络名称 actor :

    注意

    如果您在执行 Leapp 升级过程前没有重命名网络接口名称,则接口名称可能会在升级到 RHEL 8.2 后有所变化。有关重命名网络接口名称的详情请参考 第 4.3 节 “为 undercloud 节点使用可预测的 NIC 名称”

    $ sudo rm -f /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/persistentnetnamesdisable/actor.py
    Copy to Clipboard Toggle word wrap
  12. 启动 Leapp 升级过程:

    $ sudo -E leapp upgrade --debug --enablerepo rhel-8-for-x86_64-baseos-tus-rpms --enablerepo rhel-8-for-x86_64-appstream-tus-rpms --enablerepo fast-datapath-for-rhel-8-x86_64-rpms --enablerepo ansible-2.9-for-rhel-8-x86_64-rpms
    Copy to Clipboard Toggle word wrap

    使用 --enablerepo 选项设置您要在 Leapp 升级过程中启用的软件仓库。您必须包含这些软件仓库才能促进 Red Hat OpenStack Platform 16.1 转换,特别是 Open vSwitch 的较新版本。

  13. 等待 leapp upgrade 命令成功完成。
  14. 在您的根目录中创建空的 .autorelabel 文件:

    $ sudo touch /.autorelabel
    Copy to Clipboard Toggle word wrap

    重启后,SELinux 会检测此文件并自动重新标记文件系统。

  15. 重新引导 undercloud:

    $ sudo reboot
    Copy to Clipboard Toggle word wrap
  16. 从 DNF 配置中定义的事务排除中删除 Leapp 软件包:

    $ sudo dnf config-manager --save --setopt exclude=''
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat