本文介绍如何在ECS实例上将Red Hat Enterprise Linux(RHEL)7升级为RHEL 8或将RHEL 8升级为RHEL 9。
RHEL 7升级为RHEL 8
2024年06月30日后,RHEL 7从维护支持(Maintenance Support)阶段过渡到延长生命周期(Extended Life)阶段,红帽仅提供有限的技术支持,为了您能够获得全面的技术支持和安全更新,建议您将RHEL 7升级到RHEL 8。
如果您是RHEL 7.9系统且当前的业务必须保留在RHEL 7.9版本,建议您先购买阿里云Red Hat Enterprise Linux Extended Life Cycle Support (ELS) Add-On订阅,以持续获得安全更新和错误修复。更多信息,请参见购买延长生命周期支持(ELS)订阅。
前提条件
请确保待升级RHEL实例满足系统运行的要求。具体要求,请参见Red Hat Enterprise Linux 技术能力和限制。
请确保您RHEL实例是通过阿里云公共镜像购买的RHEL 7系统(已包含RHEL 7订阅)或在阿里云自行导入的RHEL 7且购买了阿里云RHEL 7订阅的系统。
说明阿里云RHEL订阅是为了在阿里云上使用RHEL操作系统时,提供合法的软件访问权限、安全更新和技术支持。
如果您是自行购买的红帽的RHEL系统,请参考红帽官方文档Upgrading from RHEL 7 to RHEL 8进行升级。
操作步骤
在升级之前,建议您提前了解升级风险并创建快照备份数据,以防升级出现问题时可以快速恢复。
使用root用户远程连接RHEL系统的ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
重要升级操作涉及对系统配置文件、库文件等修改,需要root权限进行操作,以确保升级过程顺利完成。
运行以下命令,确认您的RHEL实例是否已使用阿里云RHEL订阅。
rpm -q client-rhel7
如果没有任何回显信息,表示您的系统未使用阿里云RHEL订阅,请先购买订阅,再执行升级操作。
如果有类似
client-rhel7-3.0-1.el7_9.noarch
回显信息,表示您的系统已使用阿里云RHEL订阅,可以继续执行本文升级操作。
准备升级环境。
运行以下命令,将RHEL系统升级到最新版本,最新版本通常包含对已知漏洞、错误和安全问题的修复,并重启系统使其生效。
yum -y update reboot
运行以下命令,在RHEL系统上安装Leapp升级工具。
yum -y install leapp leapp-rhui-alibaba --enablerepo="*"
运行以下命令,确认Leapp是否安装成功。
leapp --version
如果有类似
leapp version xxx
回显信息,表示Leapp安装成功。
预升级检查。
由于RHEL各系统差异较大,在升级前需要先通过Leapp工具对系统进行预升级检查。您可以查看Leapp工具的检查结果,并根据Leapp工具的建议进行修复,以满足升级需求。
运行以下命令,进行预升级检查。
预升级RHEL 8最新版本。
leapp preupgrade --no-rhsm
预升级至具体的目标版本,例如需要将RHEL 7升级至RHEL 8.8版本。
leapp preupgrade --no-rhsm --target 8.8
说明您可以通过
leapp preupgrade -h
命令查看当前系统支持升级的目标版本。
查看预升级检查结果。
Leapp工具预升级的检查日志保存在以下日志文件中:
/var/log/leapp/leapp-preupgrade.log:Leapp工具的日志
/var/log/leapp/leapp-report.txt:文本格式的预升级检查报告
/var/log/leapp/leapp-report.json :JSON格式的预升级检查报告
预升级检查失败后,会打印出一些具体检查失败项, 如下图所示。
(条件必选)处理预升级报错。
在日志文件
/var/log/leapp/leapp-report.txt
中查看预升级是否有报错信息,请您根据Leapp工具的建议进行修复。以下按风险等级列出一些常见的预升级检查报错及处理办法。high (inhibitor):高风险(阻止升级),这类问题会直接阻止升级过程,必须解决后才能继续升级。
high:高风险,这类问题不会直接阻止升级,但建议您在升级前或升级后解决这些问题,以避免升级后出现问题。
medium:中风险,这类问题不会直接阻止升级,但建议您在升级前或升级后解决这些问题,以避免升级后出现潜在问题。
low:低风险,这类问题对升级过程或系统运行的影响较小,但建议您在升级前或升级后解决这些问题,以确保系统稳定运行。
info:提示,这类问题通常是信息性提示,不会对升级过程或系统运行产生影响。您可以查看报告中的具体提示,了解升级过程中会发生的变化。
运行以下命令,进行升级。
升级至RHEL 8最新版本。
leapp upgrade --no-rhsm
升级至具体的目标版本,例如需要将RHEL 7升级至RHEL 8.8版本。
leapp upgrade --no-rhsm --target 8.8
如下图所示,表示升级成功。
运行以下命令,重启进入新系统。
reboot
验证升级结果。
运行
cat /etc/redhat-release
命令检查系统版本是否已更新。查看升级的执行日志或报告是否正常。
观察您的业务在RHEL 8系统上运行是否正常。
(条件必选)运行以下命令,配置RHEL的源。
使用Leapp升级工具升级完成后,默认会修改
/etc/dnf/vars/releasever
文件来限定系统升级到RHEL的具体版本。例如RHEL 8.8,repo源信息为https://xxxx/8.8/xxx
,后续您只能访问RHEL 8.8版本下的软件包。如果您希望能够自动访问RHEL 8最新版本的软件包,确保获取到最新的安全补丁和功能更新,可以通过删除releasever配置文件并重建元数据缓存来实现。rm -f /etc/dnf/vars/releasever dnf clean all && dnf makecache
执行完成后,RHEL 8的repo源信息会更新为
https://xxxx/8/xxx
,系统将能够自动获取RHEL 8最新版本的安全补丁和功能更新,确保系统始终处于最新状态。
RHEL 8升级为RHEL 9
RHEL 8虽然目前仍处于完全支持阶段(Full Support),您可以按需将系统升级到RHEL 9,以获得最新功能、硬件适配和长期支持等。
前提条件
请确保待升级RHEL实例满足系统运行的要求。具体要求,请参见Red Hat Enterprise Linux 技术能力和限制。
请确保您RHEL实例是通过阿里云公共镜像购买的RHEL 8系统(已包含RHEL 8订阅)或在阿里云自行导入的RHEL 8且购买了阿里云RHEL 8订阅的系统。
说明阿里云RHEL订阅是为了在阿里云上使用RHEL操作系统时,提供合法的软件访问权限、安全更新和技术支持。
如果您是自行购买的红帽的RHEL系统,请参考红帽官方文档Upgrading from RHEL 8 to RHEL 9进行升级。
操作步骤
在升级之前,建议您提前了解升级风险并创建快照备份数据,以防升级出现问题时可以快速恢复。
使用root用户远程连接RHEL系统的ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
重要升级操作涉及对系统配置文件、库文件等修改,需要root权限进行操作,以确保升级过程顺利完成。
运行以下命令,确认您的RHEL实例是否已使用阿里云RHEL订阅。
rpm -qa |grep aliyun
如果没有任何回显信息,表示您的系统未使用阿里云RHEL订阅,请先购买订阅,再执行升级操作。
如果有类似如下包含小版本
rhel8.6
的回显信息,请先提交工单获取并安装最新的rpm包,再执行升级操作。说明在阿里云上运行RHEL时,系统需要通过阿里云的RHUI服务访问Red Hat的软件仓库。如果系统中安装的是小版本的包(例如
aliyun_rhel8.6-2.0-1.noarch
),系统可能无法正确连接到 RHUI,导致无法获取软件更新或无法升级到新版本。如果有类似
aliyun_rhui_rhel8-2.0-3.x86_64
订阅包回显信息,表示您的系统已使用阿里云RHEL订阅,可以继续执行本文升级操作。
准备升级环境。
运行以下命令,将RHEL系统升级到最新版本,最新版本通常包含对已知漏洞、错误和安全问题的修复,并重启系统使其生效。
yum -y update reboot
运行以下命令,在RHEL系统上安装Leapp升级工具。
yum -y install leapp leapp-rhui-alibaba --enablerepo="*"
运行以下命令,确认Leapp是否安装成功。
leapp --version
如果有类似
leapp version xxx
回显信息,表示Leapp安装成功。
预升级检查。
由于RHEL各系统差异较大,在升级前需要先通过Leapp工具对系统进行预升级检查。您可以查看Leapp工具的检查结果,并根据Leapp工具的建议进行修复,以满足升级需求。
运行以下命令,进行预升级检查。
预升级至RHEL 9最新版本。
leapp preupgrade --no-rhsm
预升级至具体的目标版本,例如需要将RHEL 8升级至RHEL 9.4版本。
leapp preupgrade --no-rhsm --target 9.4
说明您可以通过
leapp preupgrade -h
命令查看当前系统支持升级的目标版本。
查看预升级检查结果。
Leapp工具预升级的检查日志保存在以下日志文件中:
/var/log/leapp/leapp-preupgrade.log:Leapp工具的日志
/var/log/leapp/leapp-report.txt:文本格式的预升级检查报告
/var/log/leapp/leapp-report.json :JSON格式的预升级检查报告
预升级检查失败后,会打印出一些具体检查失败项, 如下图所示。
(条件必选)处理预升级报错。
在日志文件
/var/log/leapp/leapp-report.txt
中查看预升级是否有报错信息,您可以根据Leapp工具的建议进行修复。以下按风险等级列出一些常见的预升级检查报错及处理办法。high:高风险,这类问题不会直接阻止升级,但建议您在升级前或升级后解决这些问题,以避免升级后出现问题。
low:低风险,这类问题对升级过程或系统运行的影响较小,但建议您在升级前或升级后解决这些问题,以确保系统稳定运行。
info:提示,这类问题通常是信息性提示,不会对升级过程或系统运行产生影响。您可以查看报告中的具体提示,了解升级过程中会发生的变化。
运行以下命令,进行升级。
升级至RHEL 9最新版本。
leapp upgrade --no-rhsm
升级至具体的目标版本,例如需要将RHEL 8升级至RHEL 9.4版本。
leapp upgrade --no-rhsm --target 9.4
如下图所示,表示升级成功。
运行以下命令,重启进入新系统。
reboot
验证升级结果。
运行
cat /etc/redhat-release
命令检查系统版本是否已更新。查看升级的执行日志或报告是否正常。
观察您的业务在RHEL 9系统上运行是否正常。
(条件必选)运行以下命令,配置RHEL的源。
使用Leapp升级工具升级完成后,默认会修改
/etc/dnf/vars/releasever
文件来限定系统升级到RHEL的具体版本。例如RHEL 9.4,repo源信息为https://xxxx/9.4/xxx
,后续您只能访问RHEL 9.4版本下的软件包。如果您希望能够自动访问RHEL 9最新版本的软件包,确保获取到最新的安全补丁和功能更新,可以通过删除releasever配置文件并重建元数据缓存来实现。rm -f /etc/dnf/vars/releasever dnf clean all && dnf makecache
执行完成后,RHEL 9的repo源信息会更新为
https://xxxx/9/xxx
,系统将能够自动获取RHEL 9最新版本的安全补丁和功能更新,确保系统始终处于最新状态。
相关文档
您也可以通过服务器迁移中心SMC将RedHat 8升级至RedHat 9。具体操作,请参见操作系统迁移(Linux)。
有关Red Hat的更多介绍,请参见红帽官方文档Red Hat Enterprise Linux。
关于RHEL 7进入延长生命周期阶段的常见问题可参考红帽官方FAQ文档。