跳转到内容
搜索 RHEL 文档

    浏览当前文档目录

    RHEL 9.8→10.2 Leapp 实际升级:快照、upgrade、重启与结果

    leapp preupgrade 清完 inhibitor 后,真正升级是 leapp upgrade + reboot:第一次重启进入升级 initramfs做 RPM 事务,第二次重启才进新系统。本页在 393 上把 9.8 升到 10.2,并记录 SELinux 变 Permissive。

    项目值
    源RHEL 9.8,5.14.0-687.5.3.el9_8
    目标RHEL 10.2
    快照qm snapshot 393 pre-leapp
    命令sudo leapp upgrade --target 10.2
    结果10.2 (Coughlan),6.12.0-211.74.1.el10_2

    E3 记录:plans/content-expansion/evidence/rhel/rhel-leapp-upgrade/run.json(9 步,含升级前后输出与两张截图)。

    1. leapp upgrade 只做预升级事务/生成升级 initramfs,最后提示 reboot;
    2. 第一次重启进入 Leapp initramfs,执行 RPM 升级;
    3. 第二次重启进入新系统,登录提示已经是 RHEL 10.2。

    不是“一条命令跑完不重启”。

    Terminal window
    qm snapshot 393 pre-leapp --description 'RHEL 9.8 before Leapp to 10.2'

    回滚:

    Terminal window
    qm rollback 393 pre-leapp

    快照是升级前唯一的快速退路;生产还要备份数据与配置。

    Terminal window
    sudo leapp upgrade --target 10.2

    输出会跑很多 actor(scan_pkg_manager、dnf_transaction_check、upgrade_initramfs_generator 等),最后:

    Answerfile has been generated at /var/log/leapp/answerfile
    Reboot the system to continue with the upgrade. This might take a while ...

    然后:

    Terminal window
    sudo reboot

    第一次重启会看到升级内核日志(vda/sda、XFS、fuse: init),随后自动执行升级并再次重启。整个过程约 10–15 分钟(本实验)。

    $ cat /etc/redhat-release
    Red Hat Enterprise Linux release 10.2 (Coughlan)
    $ uname -r
    6.12.0-211.74.1.el10_2.x86_64
    $ ip -br a
    eth0 UP 192.168.2.235/24 ...
    $ ip route | head -1
    default via 192.168.2.2 dev eth0 proto static metric 100
    $ sudo subscription-manager status
    Overall Status: Registered
    Content Access Mode is set to Simple Content Access.
    $ sudo dnf repolist
    rhel-10-for-x86_64-appstream-rpms
    rhel-10-for-x86_64-baseos-rpms

    订阅、仓库、网络都保留;网卡名从 ens18 回到 eth0(Leapp 的 persistent net names 处理),IP/路由不变。

    $ getenforce
    Permissive
    $ sudo sestatus | head -4
    SELinux status: enabled
    Loaded policy name: targeted

    这与 preupgrade 报告里的 “SElinux will be set to permissive mode” 一致。升级后要:

    1. journalctl -k | grep -i avc / ausearch -m avc 确认没有阻塞;
    2. 改 /etc/selinux/config 为 SELINUX=enforcing;
    3. reboot 或 setenforce 1 验证;
    4. 确认业务正常后再算完成。
    • 升级日志:/var/log/leapp/leapp-upgrade.log(本实验约 7.5MB);
    • dnf history 不会把 Leapp 升级显示成一次 transaction,仍只有升级前的安装记录;
    • 排查要用 Leapp 日志 + /var/log/messages,不要只查 dnf。
    • 升级前有快照/备份;
    • leapp preupgrade inhibitor 为 0;
    • leapp upgrade 完成后 reboot;
    • 第一次重启进的是 Leapp initramfs;
    • 新系统版本/内核符合预期;
    • 订阅与仓库已切到 10;
    • SELinux 从 Permissive 改回 Enforcing;
    • 业务/服务自启验证。
    • 未测试回滚 qm rollback 的实际耗时;
    • 未测试 SAP/第三方内核模块的升级后兼容;
    • 未测试多路径/集群节点升级;
    • 未测试 FIPS 模式下的 Leapp 升级。

    以下截图来自 PVE 上的实测环境,仅保留关键步骤。

    Leapp 升级引导
    Leapp 升级引导
    leapp upgrade 执行
    leapp upgrade 执行