10.2. 使用 Boom Boot Manager 升级至另一个版本


使用 Boom Boot Manager 执行 Red Hat Enterprise Linux 操作系统的升级。

先决条件

  • 您正在运行 Red Hat Enterprise Linux 8.8 或 8.10。
  • 您已安装了 boom-boot 软件包的当前版本(版本 boom-boot-1.3-2.el8 或更高版本)。
  • 您有足够的空间用于快照。根据原始安装的大小估计大小。列出所有挂载的逻辑卷。
  • 您已安装 leapp 软件包。
  • 您已启用了软件存储库。
注意

其他文件系统可能包括 /usr/var

流程

  1. 创建您的 root 逻辑卷快照:

    • 如果您的 root 文件系统使用精简配置,请创建一个精简快照:

      # lvcreate -s rhel/root -kn -n root_snapshot_before_changes
       Logical volume "root_snapshot_before_changes" created.

      在这里:

      • -s 创建快照。
      • rhel/root 将文件系统复制到逻辑卷。
      • -kn 在引导时自动激活 LV。
      • -n root_snapshot_before_changes 显示快照的名称。

        在创建精简快照时,不要定义快照大小。快照从精简池中分配。

    • 如果您的 root 文件系统使用 thick 置备,请创建一个 thick 快照:

      # lvcreate -s rhel/root -n root_snapshot_before_changes -L 25g
        Rounding up size to full physical extent 25 GiB
        Logical volume "root_snapshot_before_changes" created.

      在这个命令中:

      • -s 创建快照。
      • rhel/root 将文件系统复制到逻辑卷。
      • -n root_snapshot_before_changes 显示快照的名称。
      • -L 25g 是快照大小。根据原始安装的大小估计大小。

        在创建厚快照时,定义可保存升级过程中所有更改的快照大小。

        重要

        创建的快照不包括任何其他系统更改。

  2. 创建配置集:

    创建配置文件需要特定于架构的临时解决方案,以避免 kexec-toolskdumpctlboom 间的交互。在升级过程中,更新的 kexec-tools 软件包尝试使用更新的 crashkernel 设置修改所有引导条目。这会删除条目使用的引导镜像。您可以通过将 RHEL 9 crashkernel 设置附加到 RHEL 8 配置文件选项中来避免这个问题。

    • 在 Intel 64 或 AMD64 (x86_64)或 IBM Z (s390x)构架上:

      # boom profile create --from-host --os-options "root=%{root_device} ro %{root_opts} rhgb quiet crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M"
      Created profile with os_id 43747d3:
        OS ID: "43747d3888b663d2bc88efd35d0813159a84d291",
        Name: "Red Hat Enterprise Linux", Short name: "rhel",
        Version: "8.9 (Ootpa)", Version ID: "8.9",
        Kernel pattern: "/vmlinuz-%{version}", Initramfs pattern: "/initramfs-%{version}.img",
        Root options (LVM2): "rd.lvm.lv=%{lvm_root_lv}",
        Root options (BTRFS): "rootflags=%{btrfs_subvolume}",
        Options: "root=%{root_device} ro %{root_opts} rhgb quiet crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M",
        Title: "%{os_name} %{os_version_id} (%{version})",
        Optional keys: "", UTS release pattern: "el8"
    • 在 64 位 ARM (AArch64)构架上:

      # boom profile create --from-host --os-options "root=%{root_device} ro %{root_opts} rhgb quiet crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M"
    • 在 IBM POWER little-endian (ppc64le)构架上:

      # boom profile create --from-host --os-options "root=%{root_device} ro %{root_opts} rhgb quiet crashkernel=2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G" --optional-keys "grub_users grub_arg grub_class id"

      ppc64le 上需要 -optional-keys 参数,以确保 grub2-mkconfig 命令在第 10.2.3 步中生成正确的引导条目。如需更多信息,请参阅 RHEL-36180

  3. 使用原始引导镜像的备份副本创建原始系统的快照引导条目:

    # boom create --backup --title "Root LV snapshot before changes" --rootlv rhel/root_snapshot_before_changes
    WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'
    Created entry with boot_id c919f89:
      title Root LV snapshot before changes
      machine-id b1dcec73886b45218892b1a7bbfa0dee
      version 4.18.0-513.24.1.el8_9.x86_64
      linux /vmlinuz-4.18.0-513.24.1.el8_9.x86_64.boom0
      initrd /initramfs-4.18.0-513.24.1.el8_9.x86_64.img.boom0
      options root=/dev/rhel/root_snapshot_before_changes ro rd.lvm.lv=rhel/root_snapshot_before_changes rhgb quiet crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M

    在这里:

    • --title "Root LV snapshot before changes" 是引导条目的名称,它在系统启动期间在引导条目列表中显示。
    • --rootlv 是与新引导条目对应的根逻辑卷。

      完成上一步后,您有一个引导条目,允许在升级前访问原始系统。

      忽略 "WARNING - Boom grub2 integration is disabled in '/boot/../etc/default/boom'"。详情请查看 RHEL-35983

    • 在 ppc64le 架构的系统上,更新引导条目:

      # grub2-mkconfig -o /boot/grub2/grub.cfg
      Generating grub configuration file ...
      Generating boot entries from BLS files...
      done
  4. 使用 Leapp 升级到 Red Hat Enterprise Linux 9:

    # leapp upgrade
    ==> Processing phase `configuration_phase`
    ====> * ipu_workflow_config
            IPU workflow config actor
    ==> Processing phase `FactsCollection`
    ...
    ============================================================
                          REPORT OVERVIEW
    ============================================================
    
    Upgrade has been inhibited due to the following problems:
        1. Firewalld Configuration AllowZoneDrifting Is Unsupported
        2. Possible problems with remote login using root account
    
    HIGH and MEDIUM severity reports:
        1. Remote root logins globally allowed using password
        2. GRUB2 core will be automatically updated during the upgrade
    
    Reports summary:
        Errors:                      0
        Inhibitors:                  2
        HIGH severity reports:       2
        MEDIUM severity reports:     0
        LOW severity reports:        1
        INFO severity reports:       3
    
    Before continuing consult the full report:
        A report has been generated at /var/log/leapp/leapp-report.json
        A report has been generated at /var/log/leapp/leapp-report.txt
    
    ============================================================
                       END OF REPORT OVERVIEW
    ============================================================

    检查并解决 leapp upgrade 命令报告所指示的任何阻碍。有关报告的详细说明,请参阅 检查预升级报告

  5. 重启到升级引导条目:

    # leapp upgrade --reboot
    ==> Processing phase `configuration_phase`
    ====> * ipu_workflow_config
            IPU workflow config actor
    ==> Processing phase `FactsCollection`
    ...

    从 GRUB 引导屏幕中选择 Red Hat Enterprise Linux Upgrade Initramfs 条目。

    注意

    Red Hat Enterprise Linux 9 不提供 GRUB 引导屏幕中的 Snapshots 子菜单。

验证

  • 完成升级后,系统会自动重启。GRUB 屏幕显示升级的(Red Hat Enterprise Linux 9)和之前可用的操作系统版本。升级的系统版本是默认选择。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.