Red Hat Enterprise Linux 8 从RHEL 7 升级至RHEL 8

39
Red Hat Enterprise Linux 8 RHEL 7 RHEL 8 Red Hat Enterprise Linux 7 原位(in-place)升Red Hat Enterprise Linux 8 Last Updated: 2022-01-15

Transcript of Red Hat Enterprise Linux 8 从RHEL 7 升级至RHEL 8

Red Hat Enterprise Linux 8

从 RHEL 7 升级至 RHEL 8

把 Red Hat Enterprise Linux 7 原位(in-place)升级到 Red Hat Enterprise Linux 8

Last Updated 2022-01-15

Red Hat Enterprise Linux 8 从 RHEL 7 升级至 RHEL 8

把 Red Hat Enterprise Linux 7 原位(in-place)升级到 Red Hat Enterprise Linux 8

Enter your first name here Enter your surname hereEnter your organisations name here Enter your organisational division hereEnter your email address here

法律通告法律通告

Copyright copy 2022 | You need to change the HOLDER entity in the en-USUpgrading_from_RHEL_7_to_RHEL_8ent file |

The text of and illustrations in this document are licensed by Red Hat under a Creative CommonsAttributionndashShare Alike 30 Unported license (CC-BY-SA) An explanation of CC-BY-SA isavailable athttpcreativecommonsorglicensesby-sa30 In accordance with CC-BY-SA if you distribute this document or an adaptation of it you mustprovide the URL for the original version

Red Hat as the licensor of this document waives the right to enforce and agrees not to assertSection 4d of CC-BY-SA to the fullest extent permitted by applicable law

Red Hat Red Hat Enterprise Linux the Shadowman logo the Red Hat logo JBoss OpenShiftFedora the Infinity logo and RHCE are trademarks of Red Hat Inc registered in the United Statesand other countries

Linux reg is the registered trademark of Linus Torvalds in the United States and other countries

Java reg is a registered trademark of Oracle andor its affiliates

XFS reg is a trademark of Silicon Graphics International Corp or its subsidiaries in the United Statesandor other countries

MySQL reg is a registered trademark of MySQL AB in the United States the European Union andother countries

Nodejs reg is an official trademark of Joyent Red Hat is not formally related to or endorsed by theofficial Joyent Nodejs open source or commercial project

The OpenStack reg Word Mark and OpenStack logo are either registered trademarksservice marksor trademarksservice marks of the OpenStack Foundation in the United States and othercountries and are used with the OpenStack Foundations permission We are not affiliated withendorsed or sponsored by the OpenStack Foundation or the OpenStack community

All other trademarks are the property of their respective owners

摘要摘要

本文档提供如何用 Leapp 程序将 Red Hat Enterprise Linux 7 原位升级到 Red Hat Enterprise Linux8在原位升级过程中现有 RHEL 7 操作系统被 RHEL 8 替换

目目录录

使开源包含更多使开源包含更多

对红对红帽文档提供反帽文档提供反馈馈

主要迁移主要迁移术语术语

第第 1 章章 计计划升划升级级

第第 2 章章 准准备备升升级级21 为升级准备 RHEL 7 系统22 为升级准备 SATELLITE 系统

第第 3 章章 查查看升看升级级前前报报告告31 从命令行评估可升级性32 通过 WEB 控制台评估可升级性并应用自动化补救方法

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

第第 5 章章 验证验证 RHEL 8 系系统统升升级级后的状后的状态态

第第 6 章章 执执行升行升级级后的任后的任务务

第第 7 章章 应应用安全策略用安全策略71 将 SELINUX 模式改为 ENFORCING72 设置系统范围的加密策略73 将系统修复到一个安全基点

第第 8 章章 故障排除故障排除81 故障排除资源82 故障排除窍门83 已知问题84 获取支持

第第 9 章章 相关信息相关信息

附附录录 A RHEL 7 软软件件仓库仓库

附附录录 B RHEL 8 软软件件仓库仓库

3

4

5

6

88

10

131314

19

20

21

23232424

2626262830

31

32

34

目目录录

1

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

2

使开源包含更多

红帽承诺替换我们的代码文档和网页属性中存在问题的语言我们从这四个术语开始 masterslaveblacklist 和 whitelist这些更改将在即将发行的几个发行本中逐渐实施如需了解更多详细信息请参阅 CTO Chris Wright 信息

使开源包含更多使开源包含更多

3

对红帽文档提供反馈

我们感谢您对文档提供反馈信息请让我们了解如何改进文档要做到这一点

关于特定内容的简单评论

1 请确定您使用 Multi-page HTML 格式查看文档另外确定 Feedback 按钮出现在文档页的右上方

2 用鼠标指针高亮显示您想评论的文本部分

3 点在高亮文本上弹出的 Add Feedback

4 按照显示的步骤操作

要提交更复杂的反馈请创建一个 Bugzilla ticket

1 进入 Bugzilla 网站

2 在 Component 中选择 Documentation

3 在 Description 中输入您要提供的信息包括文档相关部分的链接

4 点 Submit Bug

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

4

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用但这里的定义特定于 Red Hat Enterprise Linux (RHEL)

Update(更新)(更新)

更新(有时称为软件补丁)是您正在运行的应用程序操作系统或软件的一个补充软件更新用于解决存在的问题或漏洞以便提供更好的使用体验在 RHEL 中更新与次版本相关例如从 RHEL 81 更新到 82

Upgrade(升(升级级))

升级是使用一个新的版本替换当前运行的应用程序操作系统或软件的版本通常情况下您需要首先根据红帽的指导对数据进行备份升级 RHEL 时有两个选项

原位升原位升级级((In-place upgrade))在原位升级过程中您可以在不先删除旧版本的情况下将旧版本替换为新版本安装的应用程序和实用程序以及相关的配置和首选项都会融合到新版本中

全新安装(全新安装(Clean install))干净安装会删除之前安装的操作系统系统数据配置和应用程序的所有数据并安装最新版本的操作系统如果您不需要之前的数据或应用程序或者您要部署的新项目不依赖于以前的构建则全新安装是一个理想的选择

操作系操作系统转换统转换

转换是将操作系统从不同的 Linux 发行版转换为 Red Hat Enterprise Linux通常情况下您需要首先根据红帽的指导对数据进行备份

Migration(迁移)(迁移)

通常迁移表示对平台(软件或硬件)进行更改从 Windows 变为 Linux 是一种迁移用户从使用一个笔记本电脑换为使用另外一个笔记本电脑公司从使用一个服务器换为使用另一台服务器都是迁移但是大多数迁移都涉及到升级因此有时此术语可以互换使用

迁移到迁移到 RHEL将现有操作系统转换到 RHEL

跨跨 RHEL 迁移迁移从一个 RHEL 升级到另一个版本

主要迁移主要迁移术语术语

5

第 1 章 计划升级原位升原位升级级((in-place upgrade)是把系)是把系统统升升级级到下一个主要到下一个主要 RHEL 版本的推荐并支持的方法版本的推荐并支持的方法

您应该在升级到 RHEL 8 前考虑以下问题

操作系操作系统统 mdash 在以下情况下使用 Leapp 程序升级操作系统

安装了最新的最新的 RHEL 7 版本版本当前为

64 位 IntelIBM POWER 8(little endian)和 64 位 IBM Z 架构上的 RHEL 79在使用SAP HANA 时在 64 位 Intel 架构中

在需要内核版本需要内核版本 414 的RHEL 76IBM POWER 9 (little endian) 或 64-bit IBM Z(Structure A)

注意注意

IBM POWER 9(little endian)和 64 位 IBM Z(Structure A)架构已结束生命周期这些架构的最终升级路径是从 RHEL 76 到 RHEL 84

请参阅支持的 Red Hat Enterprise Linux 原位升级路径

满足 RHEL 8 的最低 硬件要求

访问提供的 RHEL 79 和 RHEL 84 内容 详情请参阅 为升级准备 RHEL 7 系统的第 1 步

应应用程序用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序然而在某些情况下您必须创建custom actors它用来在升级过程中指定 Leapp 要执行的操作例如 重新配置应用程序或安装特定的硬件驱动程序如需更多信息请参阅处理自定义应用程序和第三方应用程序的迁移请注意红帽不支持 custom actor

安全性安全性 - 您应该在升级前评估这个方面并在升级过程完成后采取其他步骤请特别考虑以下几点

在升级前定义您系统需要满足的安全标准并了解 RHEL 8 中的安全变化

在升级过程中Leapp 会将 SELinux 的模式设置为 permissive

不支持使用 FIPS 模式进行原位升级

升级完成后重新评估并重新应用您的安全策略有关应用升级过程中禁用的安全策略或RHEL 8 中新引进的安全策略的详情请参阅应用安全策略

存存储储和文件系和文件系统统 - 您应该在升级前备份您的系统例如 您可以使用 Relax-and-Recover(ReaR) 程序LVM 快照RAID splitting 或虚拟机快照

停机停机时间时间 mdash 升级过程可能会需要几分钟到几小时

satellite - 如果您通过 Satellite 管理主机您可以使用 Satellite Web UI 同时将多个主机从 RHEL7 升级到 RHEL 8如需更多信息请参阅 将主机从 RHEL 7 升级到 RHEL 8

SAP HANA - 如果您正在使用 SAP HANA请遵循如何将 SAP 环境从 RHEL 7 原位升级到 RHEL8请注意使用 SAP HANA 的 RHEL 的升级路径可能会有所不同

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

6

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

Red Hat Enterprise Linux 8 从 RHEL 7 升级至 RHEL 8

把 Red Hat Enterprise Linux 7 原位(in-place)升级到 Red Hat Enterprise Linux 8

Enter your first name here Enter your surname hereEnter your organisations name here Enter your organisational division hereEnter your email address here

法律通告法律通告

Copyright copy 2022 | You need to change the HOLDER entity in the en-USUpgrading_from_RHEL_7_to_RHEL_8ent file |

The text of and illustrations in this document are licensed by Red Hat under a Creative CommonsAttributionndashShare Alike 30 Unported license (CC-BY-SA) An explanation of CC-BY-SA isavailable athttpcreativecommonsorglicensesby-sa30 In accordance with CC-BY-SA if you distribute this document or an adaptation of it you mustprovide the URL for the original version

Red Hat as the licensor of this document waives the right to enforce and agrees not to assertSection 4d of CC-BY-SA to the fullest extent permitted by applicable law

Red Hat Red Hat Enterprise Linux the Shadowman logo the Red Hat logo JBoss OpenShiftFedora the Infinity logo and RHCE are trademarks of Red Hat Inc registered in the United Statesand other countries

Linux reg is the registered trademark of Linus Torvalds in the United States and other countries

Java reg is a registered trademark of Oracle andor its affiliates

XFS reg is a trademark of Silicon Graphics International Corp or its subsidiaries in the United Statesandor other countries

MySQL reg is a registered trademark of MySQL AB in the United States the European Union andother countries

Nodejs reg is an official trademark of Joyent Red Hat is not formally related to or endorsed by theofficial Joyent Nodejs open source or commercial project

The OpenStack reg Word Mark and OpenStack logo are either registered trademarksservice marksor trademarksservice marks of the OpenStack Foundation in the United States and othercountries and are used with the OpenStack Foundations permission We are not affiliated withendorsed or sponsored by the OpenStack Foundation or the OpenStack community

All other trademarks are the property of their respective owners

摘要摘要

本文档提供如何用 Leapp 程序将 Red Hat Enterprise Linux 7 原位升级到 Red Hat Enterprise Linux8在原位升级过程中现有 RHEL 7 操作系统被 RHEL 8 替换

目目录录

使开源包含更多使开源包含更多

对红对红帽文档提供反帽文档提供反馈馈

主要迁移主要迁移术语术语

第第 1 章章 计计划升划升级级

第第 2 章章 准准备备升升级级21 为升级准备 RHEL 7 系统22 为升级准备 SATELLITE 系统

第第 3 章章 查查看升看升级级前前报报告告31 从命令行评估可升级性32 通过 WEB 控制台评估可升级性并应用自动化补救方法

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

第第 5 章章 验证验证 RHEL 8 系系统统升升级级后的状后的状态态

第第 6 章章 执执行升行升级级后的任后的任务务

第第 7 章章 应应用安全策略用安全策略71 将 SELINUX 模式改为 ENFORCING72 设置系统范围的加密策略73 将系统修复到一个安全基点

第第 8 章章 故障排除故障排除81 故障排除资源82 故障排除窍门83 已知问题84 获取支持

第第 9 章章 相关信息相关信息

附附录录 A RHEL 7 软软件件仓库仓库

附附录录 B RHEL 8 软软件件仓库仓库

3

4

5

6

88

10

131314

19

20

21

23232424

2626262830

31

32

34

目目录录

1

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

2

使开源包含更多

红帽承诺替换我们的代码文档和网页属性中存在问题的语言我们从这四个术语开始 masterslaveblacklist 和 whitelist这些更改将在即将发行的几个发行本中逐渐实施如需了解更多详细信息请参阅 CTO Chris Wright 信息

使开源包含更多使开源包含更多

3

对红帽文档提供反馈

我们感谢您对文档提供反馈信息请让我们了解如何改进文档要做到这一点

关于特定内容的简单评论

1 请确定您使用 Multi-page HTML 格式查看文档另外确定 Feedback 按钮出现在文档页的右上方

2 用鼠标指针高亮显示您想评论的文本部分

3 点在高亮文本上弹出的 Add Feedback

4 按照显示的步骤操作

要提交更复杂的反馈请创建一个 Bugzilla ticket

1 进入 Bugzilla 网站

2 在 Component 中选择 Documentation

3 在 Description 中输入您要提供的信息包括文档相关部分的链接

4 点 Submit Bug

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

4

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用但这里的定义特定于 Red Hat Enterprise Linux (RHEL)

Update(更新)(更新)

更新(有时称为软件补丁)是您正在运行的应用程序操作系统或软件的一个补充软件更新用于解决存在的问题或漏洞以便提供更好的使用体验在 RHEL 中更新与次版本相关例如从 RHEL 81 更新到 82

Upgrade(升(升级级))

升级是使用一个新的版本替换当前运行的应用程序操作系统或软件的版本通常情况下您需要首先根据红帽的指导对数据进行备份升级 RHEL 时有两个选项

原位升原位升级级((In-place upgrade))在原位升级过程中您可以在不先删除旧版本的情况下将旧版本替换为新版本安装的应用程序和实用程序以及相关的配置和首选项都会融合到新版本中

全新安装(全新安装(Clean install))干净安装会删除之前安装的操作系统系统数据配置和应用程序的所有数据并安装最新版本的操作系统如果您不需要之前的数据或应用程序或者您要部署的新项目不依赖于以前的构建则全新安装是一个理想的选择

操作系操作系统转换统转换

转换是将操作系统从不同的 Linux 发行版转换为 Red Hat Enterprise Linux通常情况下您需要首先根据红帽的指导对数据进行备份

Migration(迁移)(迁移)

通常迁移表示对平台(软件或硬件)进行更改从 Windows 变为 Linux 是一种迁移用户从使用一个笔记本电脑换为使用另外一个笔记本电脑公司从使用一个服务器换为使用另一台服务器都是迁移但是大多数迁移都涉及到升级因此有时此术语可以互换使用

迁移到迁移到 RHEL将现有操作系统转换到 RHEL

跨跨 RHEL 迁移迁移从一个 RHEL 升级到另一个版本

主要迁移主要迁移术语术语

5

第 1 章 计划升级原位升原位升级级((in-place upgrade)是把系)是把系统统升升级级到下一个主要到下一个主要 RHEL 版本的推荐并支持的方法版本的推荐并支持的方法

您应该在升级到 RHEL 8 前考虑以下问题

操作系操作系统统 mdash 在以下情况下使用 Leapp 程序升级操作系统

安装了最新的最新的 RHEL 7 版本版本当前为

64 位 IntelIBM POWER 8(little endian)和 64 位 IBM Z 架构上的 RHEL 79在使用SAP HANA 时在 64 位 Intel 架构中

在需要内核版本需要内核版本 414 的RHEL 76IBM POWER 9 (little endian) 或 64-bit IBM Z(Structure A)

注意注意

IBM POWER 9(little endian)和 64 位 IBM Z(Structure A)架构已结束生命周期这些架构的最终升级路径是从 RHEL 76 到 RHEL 84

请参阅支持的 Red Hat Enterprise Linux 原位升级路径

满足 RHEL 8 的最低 硬件要求

访问提供的 RHEL 79 和 RHEL 84 内容 详情请参阅 为升级准备 RHEL 7 系统的第 1 步

应应用程序用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序然而在某些情况下您必须创建custom actors它用来在升级过程中指定 Leapp 要执行的操作例如 重新配置应用程序或安装特定的硬件驱动程序如需更多信息请参阅处理自定义应用程序和第三方应用程序的迁移请注意红帽不支持 custom actor

安全性安全性 - 您应该在升级前评估这个方面并在升级过程完成后采取其他步骤请特别考虑以下几点

在升级前定义您系统需要满足的安全标准并了解 RHEL 8 中的安全变化

在升级过程中Leapp 会将 SELinux 的模式设置为 permissive

不支持使用 FIPS 模式进行原位升级

升级完成后重新评估并重新应用您的安全策略有关应用升级过程中禁用的安全策略或RHEL 8 中新引进的安全策略的详情请参阅应用安全策略

存存储储和文件系和文件系统统 - 您应该在升级前备份您的系统例如 您可以使用 Relax-and-Recover(ReaR) 程序LVM 快照RAID splitting 或虚拟机快照

停机停机时间时间 mdash 升级过程可能会需要几分钟到几小时

satellite - 如果您通过 Satellite 管理主机您可以使用 Satellite Web UI 同时将多个主机从 RHEL7 升级到 RHEL 8如需更多信息请参阅 将主机从 RHEL 7 升级到 RHEL 8

SAP HANA - 如果您正在使用 SAP HANA请遵循如何将 SAP 环境从 RHEL 7 原位升级到 RHEL8请注意使用 SAP HANA 的 RHEL 的升级路径可能会有所不同

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

6

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

法律通告法律通告

Copyright copy 2022 | You need to change the HOLDER entity in the en-USUpgrading_from_RHEL_7_to_RHEL_8ent file |

The text of and illustrations in this document are licensed by Red Hat under a Creative CommonsAttributionndashShare Alike 30 Unported license (CC-BY-SA) An explanation of CC-BY-SA isavailable athttpcreativecommonsorglicensesby-sa30 In accordance with CC-BY-SA if you distribute this document or an adaptation of it you mustprovide the URL for the original version

Red Hat as the licensor of this document waives the right to enforce and agrees not to assertSection 4d of CC-BY-SA to the fullest extent permitted by applicable law

Red Hat Red Hat Enterprise Linux the Shadowman logo the Red Hat logo JBoss OpenShiftFedora the Infinity logo and RHCE are trademarks of Red Hat Inc registered in the United Statesand other countries

Linux reg is the registered trademark of Linus Torvalds in the United States and other countries

Java reg is a registered trademark of Oracle andor its affiliates

XFS reg is a trademark of Silicon Graphics International Corp or its subsidiaries in the United Statesandor other countries

MySQL reg is a registered trademark of MySQL AB in the United States the European Union andother countries

Nodejs reg is an official trademark of Joyent Red Hat is not formally related to or endorsed by theofficial Joyent Nodejs open source or commercial project

The OpenStack reg Word Mark and OpenStack logo are either registered trademarksservice marksor trademarksservice marks of the OpenStack Foundation in the United States and othercountries and are used with the OpenStack Foundations permission We are not affiliated withendorsed or sponsored by the OpenStack Foundation or the OpenStack community

All other trademarks are the property of their respective owners

摘要摘要

本文档提供如何用 Leapp 程序将 Red Hat Enterprise Linux 7 原位升级到 Red Hat Enterprise Linux8在原位升级过程中现有 RHEL 7 操作系统被 RHEL 8 替换

目目录录

使开源包含更多使开源包含更多

对红对红帽文档提供反帽文档提供反馈馈

主要迁移主要迁移术语术语

第第 1 章章 计计划升划升级级

第第 2 章章 准准备备升升级级21 为升级准备 RHEL 7 系统22 为升级准备 SATELLITE 系统

第第 3 章章 查查看升看升级级前前报报告告31 从命令行评估可升级性32 通过 WEB 控制台评估可升级性并应用自动化补救方法

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

第第 5 章章 验证验证 RHEL 8 系系统统升升级级后的状后的状态态

第第 6 章章 执执行升行升级级后的任后的任务务

第第 7 章章 应应用安全策略用安全策略71 将 SELINUX 模式改为 ENFORCING72 设置系统范围的加密策略73 将系统修复到一个安全基点

第第 8 章章 故障排除故障排除81 故障排除资源82 故障排除窍门83 已知问题84 获取支持

第第 9 章章 相关信息相关信息

附附录录 A RHEL 7 软软件件仓库仓库

附附录录 B RHEL 8 软软件件仓库仓库

3

4

5

6

88

10

131314

19

20

21

23232424

2626262830

31

32

34

目目录录

1

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

2

使开源包含更多

红帽承诺替换我们的代码文档和网页属性中存在问题的语言我们从这四个术语开始 masterslaveblacklist 和 whitelist这些更改将在即将发行的几个发行本中逐渐实施如需了解更多详细信息请参阅 CTO Chris Wright 信息

使开源包含更多使开源包含更多

3

对红帽文档提供反馈

我们感谢您对文档提供反馈信息请让我们了解如何改进文档要做到这一点

关于特定内容的简单评论

1 请确定您使用 Multi-page HTML 格式查看文档另外确定 Feedback 按钮出现在文档页的右上方

2 用鼠标指针高亮显示您想评论的文本部分

3 点在高亮文本上弹出的 Add Feedback

4 按照显示的步骤操作

要提交更复杂的反馈请创建一个 Bugzilla ticket

1 进入 Bugzilla 网站

2 在 Component 中选择 Documentation

3 在 Description 中输入您要提供的信息包括文档相关部分的链接

4 点 Submit Bug

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

4

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用但这里的定义特定于 Red Hat Enterprise Linux (RHEL)

Update(更新)(更新)

更新(有时称为软件补丁)是您正在运行的应用程序操作系统或软件的一个补充软件更新用于解决存在的问题或漏洞以便提供更好的使用体验在 RHEL 中更新与次版本相关例如从 RHEL 81 更新到 82

Upgrade(升(升级级))

升级是使用一个新的版本替换当前运行的应用程序操作系统或软件的版本通常情况下您需要首先根据红帽的指导对数据进行备份升级 RHEL 时有两个选项

原位升原位升级级((In-place upgrade))在原位升级过程中您可以在不先删除旧版本的情况下将旧版本替换为新版本安装的应用程序和实用程序以及相关的配置和首选项都会融合到新版本中

全新安装(全新安装(Clean install))干净安装会删除之前安装的操作系统系统数据配置和应用程序的所有数据并安装最新版本的操作系统如果您不需要之前的数据或应用程序或者您要部署的新项目不依赖于以前的构建则全新安装是一个理想的选择

操作系操作系统转换统转换

转换是将操作系统从不同的 Linux 发行版转换为 Red Hat Enterprise Linux通常情况下您需要首先根据红帽的指导对数据进行备份

Migration(迁移)(迁移)

通常迁移表示对平台(软件或硬件)进行更改从 Windows 变为 Linux 是一种迁移用户从使用一个笔记本电脑换为使用另外一个笔记本电脑公司从使用一个服务器换为使用另一台服务器都是迁移但是大多数迁移都涉及到升级因此有时此术语可以互换使用

迁移到迁移到 RHEL将现有操作系统转换到 RHEL

跨跨 RHEL 迁移迁移从一个 RHEL 升级到另一个版本

主要迁移主要迁移术语术语

5

第 1 章 计划升级原位升原位升级级((in-place upgrade)是把系)是把系统统升升级级到下一个主要到下一个主要 RHEL 版本的推荐并支持的方法版本的推荐并支持的方法

您应该在升级到 RHEL 8 前考虑以下问题

操作系操作系统统 mdash 在以下情况下使用 Leapp 程序升级操作系统

安装了最新的最新的 RHEL 7 版本版本当前为

64 位 IntelIBM POWER 8(little endian)和 64 位 IBM Z 架构上的 RHEL 79在使用SAP HANA 时在 64 位 Intel 架构中

在需要内核版本需要内核版本 414 的RHEL 76IBM POWER 9 (little endian) 或 64-bit IBM Z(Structure A)

注意注意

IBM POWER 9(little endian)和 64 位 IBM Z(Structure A)架构已结束生命周期这些架构的最终升级路径是从 RHEL 76 到 RHEL 84

请参阅支持的 Red Hat Enterprise Linux 原位升级路径

满足 RHEL 8 的最低 硬件要求

访问提供的 RHEL 79 和 RHEL 84 内容 详情请参阅 为升级准备 RHEL 7 系统的第 1 步

应应用程序用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序然而在某些情况下您必须创建custom actors它用来在升级过程中指定 Leapp 要执行的操作例如 重新配置应用程序或安装特定的硬件驱动程序如需更多信息请参阅处理自定义应用程序和第三方应用程序的迁移请注意红帽不支持 custom actor

安全性安全性 - 您应该在升级前评估这个方面并在升级过程完成后采取其他步骤请特别考虑以下几点

在升级前定义您系统需要满足的安全标准并了解 RHEL 8 中的安全变化

在升级过程中Leapp 会将 SELinux 的模式设置为 permissive

不支持使用 FIPS 模式进行原位升级

升级完成后重新评估并重新应用您的安全策略有关应用升级过程中禁用的安全策略或RHEL 8 中新引进的安全策略的详情请参阅应用安全策略

存存储储和文件系和文件系统统 - 您应该在升级前备份您的系统例如 您可以使用 Relax-and-Recover(ReaR) 程序LVM 快照RAID splitting 或虚拟机快照

停机停机时间时间 mdash 升级过程可能会需要几分钟到几小时

satellite - 如果您通过 Satellite 管理主机您可以使用 Satellite Web UI 同时将多个主机从 RHEL7 升级到 RHEL 8如需更多信息请参阅 将主机从 RHEL 7 升级到 RHEL 8

SAP HANA - 如果您正在使用 SAP HANA请遵循如何将 SAP 环境从 RHEL 7 原位升级到 RHEL8请注意使用 SAP HANA 的 RHEL 的升级路径可能会有所不同

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

6

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

目目录录

使开源包含更多使开源包含更多

对红对红帽文档提供反帽文档提供反馈馈

主要迁移主要迁移术语术语

第第 1 章章 计计划升划升级级

第第 2 章章 准准备备升升级级21 为升级准备 RHEL 7 系统22 为升级准备 SATELLITE 系统

第第 3 章章 查查看升看升级级前前报报告告31 从命令行评估可升级性32 通过 WEB 控制台评估可升级性并应用自动化补救方法

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

第第 5 章章 验证验证 RHEL 8 系系统统升升级级后的状后的状态态

第第 6 章章 执执行升行升级级后的任后的任务务

第第 7 章章 应应用安全策略用安全策略71 将 SELINUX 模式改为 ENFORCING72 设置系统范围的加密策略73 将系统修复到一个安全基点

第第 8 章章 故障排除故障排除81 故障排除资源82 故障排除窍门83 已知问题84 获取支持

第第 9 章章 相关信息相关信息

附附录录 A RHEL 7 软软件件仓库仓库

附附录录 B RHEL 8 软软件件仓库仓库

3

4

5

6

88

10

131314

19

20

21

23232424

2626262830

31

32

34

目目录录

1

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

2

使开源包含更多

红帽承诺替换我们的代码文档和网页属性中存在问题的语言我们从这四个术语开始 masterslaveblacklist 和 whitelist这些更改将在即将发行的几个发行本中逐渐实施如需了解更多详细信息请参阅 CTO Chris Wright 信息

使开源包含更多使开源包含更多

3

对红帽文档提供反馈

我们感谢您对文档提供反馈信息请让我们了解如何改进文档要做到这一点

关于特定内容的简单评论

1 请确定您使用 Multi-page HTML 格式查看文档另外确定 Feedback 按钮出现在文档页的右上方

2 用鼠标指针高亮显示您想评论的文本部分

3 点在高亮文本上弹出的 Add Feedback

4 按照显示的步骤操作

要提交更复杂的反馈请创建一个 Bugzilla ticket

1 进入 Bugzilla 网站

2 在 Component 中选择 Documentation

3 在 Description 中输入您要提供的信息包括文档相关部分的链接

4 点 Submit Bug

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

4

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用但这里的定义特定于 Red Hat Enterprise Linux (RHEL)

Update(更新)(更新)

更新(有时称为软件补丁)是您正在运行的应用程序操作系统或软件的一个补充软件更新用于解决存在的问题或漏洞以便提供更好的使用体验在 RHEL 中更新与次版本相关例如从 RHEL 81 更新到 82

Upgrade(升(升级级))

升级是使用一个新的版本替换当前运行的应用程序操作系统或软件的版本通常情况下您需要首先根据红帽的指导对数据进行备份升级 RHEL 时有两个选项

原位升原位升级级((In-place upgrade))在原位升级过程中您可以在不先删除旧版本的情况下将旧版本替换为新版本安装的应用程序和实用程序以及相关的配置和首选项都会融合到新版本中

全新安装(全新安装(Clean install))干净安装会删除之前安装的操作系统系统数据配置和应用程序的所有数据并安装最新版本的操作系统如果您不需要之前的数据或应用程序或者您要部署的新项目不依赖于以前的构建则全新安装是一个理想的选择

操作系操作系统转换统转换

转换是将操作系统从不同的 Linux 发行版转换为 Red Hat Enterprise Linux通常情况下您需要首先根据红帽的指导对数据进行备份

Migration(迁移)(迁移)

通常迁移表示对平台(软件或硬件)进行更改从 Windows 变为 Linux 是一种迁移用户从使用一个笔记本电脑换为使用另外一个笔记本电脑公司从使用一个服务器换为使用另一台服务器都是迁移但是大多数迁移都涉及到升级因此有时此术语可以互换使用

迁移到迁移到 RHEL将现有操作系统转换到 RHEL

跨跨 RHEL 迁移迁移从一个 RHEL 升级到另一个版本

主要迁移主要迁移术语术语

5

第 1 章 计划升级原位升原位升级级((in-place upgrade)是把系)是把系统统升升级级到下一个主要到下一个主要 RHEL 版本的推荐并支持的方法版本的推荐并支持的方法

您应该在升级到 RHEL 8 前考虑以下问题

操作系操作系统统 mdash 在以下情况下使用 Leapp 程序升级操作系统

安装了最新的最新的 RHEL 7 版本版本当前为

64 位 IntelIBM POWER 8(little endian)和 64 位 IBM Z 架构上的 RHEL 79在使用SAP HANA 时在 64 位 Intel 架构中

在需要内核版本需要内核版本 414 的RHEL 76IBM POWER 9 (little endian) 或 64-bit IBM Z(Structure A)

注意注意

IBM POWER 9(little endian)和 64 位 IBM Z(Structure A)架构已结束生命周期这些架构的最终升级路径是从 RHEL 76 到 RHEL 84

请参阅支持的 Red Hat Enterprise Linux 原位升级路径

满足 RHEL 8 的最低 硬件要求

访问提供的 RHEL 79 和 RHEL 84 内容 详情请参阅 为升级准备 RHEL 7 系统的第 1 步

应应用程序用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序然而在某些情况下您必须创建custom actors它用来在升级过程中指定 Leapp 要执行的操作例如 重新配置应用程序或安装特定的硬件驱动程序如需更多信息请参阅处理自定义应用程序和第三方应用程序的迁移请注意红帽不支持 custom actor

安全性安全性 - 您应该在升级前评估这个方面并在升级过程完成后采取其他步骤请特别考虑以下几点

在升级前定义您系统需要满足的安全标准并了解 RHEL 8 中的安全变化

在升级过程中Leapp 会将 SELinux 的模式设置为 permissive

不支持使用 FIPS 模式进行原位升级

升级完成后重新评估并重新应用您的安全策略有关应用升级过程中禁用的安全策略或RHEL 8 中新引进的安全策略的详情请参阅应用安全策略

存存储储和文件系和文件系统统 - 您应该在升级前备份您的系统例如 您可以使用 Relax-and-Recover(ReaR) 程序LVM 快照RAID splitting 或虚拟机快照

停机停机时间时间 mdash 升级过程可能会需要几分钟到几小时

satellite - 如果您通过 Satellite 管理主机您可以使用 Satellite Web UI 同时将多个主机从 RHEL7 升级到 RHEL 8如需更多信息请参阅 将主机从 RHEL 7 升级到 RHEL 8

SAP HANA - 如果您正在使用 SAP HANA请遵循如何将 SAP 环境从 RHEL 7 原位升级到 RHEL8请注意使用 SAP HANA 的 RHEL 的升级路径可能会有所不同

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

6

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

2

使开源包含更多

红帽承诺替换我们的代码文档和网页属性中存在问题的语言我们从这四个术语开始 masterslaveblacklist 和 whitelist这些更改将在即将发行的几个发行本中逐渐实施如需了解更多详细信息请参阅 CTO Chris Wright 信息

使开源包含更多使开源包含更多

3

对红帽文档提供反馈

我们感谢您对文档提供反馈信息请让我们了解如何改进文档要做到这一点

关于特定内容的简单评论

1 请确定您使用 Multi-page HTML 格式查看文档另外确定 Feedback 按钮出现在文档页的右上方

2 用鼠标指针高亮显示您想评论的文本部分

3 点在高亮文本上弹出的 Add Feedback

4 按照显示的步骤操作

要提交更复杂的反馈请创建一个 Bugzilla ticket

1 进入 Bugzilla 网站

2 在 Component 中选择 Documentation

3 在 Description 中输入您要提供的信息包括文档相关部分的链接

4 点 Submit Bug

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

4

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用但这里的定义特定于 Red Hat Enterprise Linux (RHEL)

Update(更新)(更新)

更新(有时称为软件补丁)是您正在运行的应用程序操作系统或软件的一个补充软件更新用于解决存在的问题或漏洞以便提供更好的使用体验在 RHEL 中更新与次版本相关例如从 RHEL 81 更新到 82

Upgrade(升(升级级))

升级是使用一个新的版本替换当前运行的应用程序操作系统或软件的版本通常情况下您需要首先根据红帽的指导对数据进行备份升级 RHEL 时有两个选项

原位升原位升级级((In-place upgrade))在原位升级过程中您可以在不先删除旧版本的情况下将旧版本替换为新版本安装的应用程序和实用程序以及相关的配置和首选项都会融合到新版本中

全新安装(全新安装(Clean install))干净安装会删除之前安装的操作系统系统数据配置和应用程序的所有数据并安装最新版本的操作系统如果您不需要之前的数据或应用程序或者您要部署的新项目不依赖于以前的构建则全新安装是一个理想的选择

操作系操作系统转换统转换

转换是将操作系统从不同的 Linux 发行版转换为 Red Hat Enterprise Linux通常情况下您需要首先根据红帽的指导对数据进行备份

Migration(迁移)(迁移)

通常迁移表示对平台(软件或硬件)进行更改从 Windows 变为 Linux 是一种迁移用户从使用一个笔记本电脑换为使用另外一个笔记本电脑公司从使用一个服务器换为使用另一台服务器都是迁移但是大多数迁移都涉及到升级因此有时此术语可以互换使用

迁移到迁移到 RHEL将现有操作系统转换到 RHEL

跨跨 RHEL 迁移迁移从一个 RHEL 升级到另一个版本

主要迁移主要迁移术语术语

5

第 1 章 计划升级原位升原位升级级((in-place upgrade)是把系)是把系统统升升级级到下一个主要到下一个主要 RHEL 版本的推荐并支持的方法版本的推荐并支持的方法

您应该在升级到 RHEL 8 前考虑以下问题

操作系操作系统统 mdash 在以下情况下使用 Leapp 程序升级操作系统

安装了最新的最新的 RHEL 7 版本版本当前为

64 位 IntelIBM POWER 8(little endian)和 64 位 IBM Z 架构上的 RHEL 79在使用SAP HANA 时在 64 位 Intel 架构中

在需要内核版本需要内核版本 414 的RHEL 76IBM POWER 9 (little endian) 或 64-bit IBM Z(Structure A)

注意注意

IBM POWER 9(little endian)和 64 位 IBM Z(Structure A)架构已结束生命周期这些架构的最终升级路径是从 RHEL 76 到 RHEL 84

请参阅支持的 Red Hat Enterprise Linux 原位升级路径

满足 RHEL 8 的最低 硬件要求

访问提供的 RHEL 79 和 RHEL 84 内容 详情请参阅 为升级准备 RHEL 7 系统的第 1 步

应应用程序用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序然而在某些情况下您必须创建custom actors它用来在升级过程中指定 Leapp 要执行的操作例如 重新配置应用程序或安装特定的硬件驱动程序如需更多信息请参阅处理自定义应用程序和第三方应用程序的迁移请注意红帽不支持 custom actor

安全性安全性 - 您应该在升级前评估这个方面并在升级过程完成后采取其他步骤请特别考虑以下几点

在升级前定义您系统需要满足的安全标准并了解 RHEL 8 中的安全变化

在升级过程中Leapp 会将 SELinux 的模式设置为 permissive

不支持使用 FIPS 模式进行原位升级

升级完成后重新评估并重新应用您的安全策略有关应用升级过程中禁用的安全策略或RHEL 8 中新引进的安全策略的详情请参阅应用安全策略

存存储储和文件系和文件系统统 - 您应该在升级前备份您的系统例如 您可以使用 Relax-and-Recover(ReaR) 程序LVM 快照RAID splitting 或虚拟机快照

停机停机时间时间 mdash 升级过程可能会需要几分钟到几小时

satellite - 如果您通过 Satellite 管理主机您可以使用 Satellite Web UI 同时将多个主机从 RHEL7 升级到 RHEL 8如需更多信息请参阅 将主机从 RHEL 7 升级到 RHEL 8

SAP HANA - 如果您正在使用 SAP HANA请遵循如何将 SAP 环境从 RHEL 7 原位升级到 RHEL8请注意使用 SAP HANA 的 RHEL 的升级路径可能会有所不同

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

6

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

使开源包含更多

红帽承诺替换我们的代码文档和网页属性中存在问题的语言我们从这四个术语开始 masterslaveblacklist 和 whitelist这些更改将在即将发行的几个发行本中逐渐实施如需了解更多详细信息请参阅 CTO Chris Wright 信息

使开源包含更多使开源包含更多

3

对红帽文档提供反馈

我们感谢您对文档提供反馈信息请让我们了解如何改进文档要做到这一点

关于特定内容的简单评论

1 请确定您使用 Multi-page HTML 格式查看文档另外确定 Feedback 按钮出现在文档页的右上方

2 用鼠标指针高亮显示您想评论的文本部分

3 点在高亮文本上弹出的 Add Feedback

4 按照显示的步骤操作

要提交更复杂的反馈请创建一个 Bugzilla ticket

1 进入 Bugzilla 网站

2 在 Component 中选择 Documentation

3 在 Description 中输入您要提供的信息包括文档相关部分的链接

4 点 Submit Bug

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

4

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用但这里的定义特定于 Red Hat Enterprise Linux (RHEL)

Update(更新)(更新)

更新(有时称为软件补丁)是您正在运行的应用程序操作系统或软件的一个补充软件更新用于解决存在的问题或漏洞以便提供更好的使用体验在 RHEL 中更新与次版本相关例如从 RHEL 81 更新到 82

Upgrade(升(升级级))

升级是使用一个新的版本替换当前运行的应用程序操作系统或软件的版本通常情况下您需要首先根据红帽的指导对数据进行备份升级 RHEL 时有两个选项

原位升原位升级级((In-place upgrade))在原位升级过程中您可以在不先删除旧版本的情况下将旧版本替换为新版本安装的应用程序和实用程序以及相关的配置和首选项都会融合到新版本中

全新安装(全新安装(Clean install))干净安装会删除之前安装的操作系统系统数据配置和应用程序的所有数据并安装最新版本的操作系统如果您不需要之前的数据或应用程序或者您要部署的新项目不依赖于以前的构建则全新安装是一个理想的选择

操作系操作系统转换统转换

转换是将操作系统从不同的 Linux 发行版转换为 Red Hat Enterprise Linux通常情况下您需要首先根据红帽的指导对数据进行备份

Migration(迁移)(迁移)

通常迁移表示对平台(软件或硬件)进行更改从 Windows 变为 Linux 是一种迁移用户从使用一个笔记本电脑换为使用另外一个笔记本电脑公司从使用一个服务器换为使用另一台服务器都是迁移但是大多数迁移都涉及到升级因此有时此术语可以互换使用

迁移到迁移到 RHEL将现有操作系统转换到 RHEL

跨跨 RHEL 迁移迁移从一个 RHEL 升级到另一个版本

主要迁移主要迁移术语术语

5

第 1 章 计划升级原位升原位升级级((in-place upgrade)是把系)是把系统统升升级级到下一个主要到下一个主要 RHEL 版本的推荐并支持的方法版本的推荐并支持的方法

您应该在升级到 RHEL 8 前考虑以下问题

操作系操作系统统 mdash 在以下情况下使用 Leapp 程序升级操作系统

安装了最新的最新的 RHEL 7 版本版本当前为

64 位 IntelIBM POWER 8(little endian)和 64 位 IBM Z 架构上的 RHEL 79在使用SAP HANA 时在 64 位 Intel 架构中

在需要内核版本需要内核版本 414 的RHEL 76IBM POWER 9 (little endian) 或 64-bit IBM Z(Structure A)

注意注意

IBM POWER 9(little endian)和 64 位 IBM Z(Structure A)架构已结束生命周期这些架构的最终升级路径是从 RHEL 76 到 RHEL 84

请参阅支持的 Red Hat Enterprise Linux 原位升级路径

满足 RHEL 8 的最低 硬件要求

访问提供的 RHEL 79 和 RHEL 84 内容 详情请参阅 为升级准备 RHEL 7 系统的第 1 步

应应用程序用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序然而在某些情况下您必须创建custom actors它用来在升级过程中指定 Leapp 要执行的操作例如 重新配置应用程序或安装特定的硬件驱动程序如需更多信息请参阅处理自定义应用程序和第三方应用程序的迁移请注意红帽不支持 custom actor

安全性安全性 - 您应该在升级前评估这个方面并在升级过程完成后采取其他步骤请特别考虑以下几点

在升级前定义您系统需要满足的安全标准并了解 RHEL 8 中的安全变化

在升级过程中Leapp 会将 SELinux 的模式设置为 permissive

不支持使用 FIPS 模式进行原位升级

升级完成后重新评估并重新应用您的安全策略有关应用升级过程中禁用的安全策略或RHEL 8 中新引进的安全策略的详情请参阅应用安全策略

存存储储和文件系和文件系统统 - 您应该在升级前备份您的系统例如 您可以使用 Relax-and-Recover(ReaR) 程序LVM 快照RAID splitting 或虚拟机快照

停机停机时间时间 mdash 升级过程可能会需要几分钟到几小时

satellite - 如果您通过 Satellite 管理主机您可以使用 Satellite Web UI 同时将多个主机从 RHEL7 升级到 RHEL 8如需更多信息请参阅 将主机从 RHEL 7 升级到 RHEL 8

SAP HANA - 如果您正在使用 SAP HANA请遵循如何将 SAP 环境从 RHEL 7 原位升级到 RHEL8请注意使用 SAP HANA 的 RHEL 的升级路径可能会有所不同

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

6

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

对红帽文档提供反馈

我们感谢您对文档提供反馈信息请让我们了解如何改进文档要做到这一点

关于特定内容的简单评论

1 请确定您使用 Multi-page HTML 格式查看文档另外确定 Feedback 按钮出现在文档页的右上方

2 用鼠标指针高亮显示您想评论的文本部分

3 点在高亮文本上弹出的 Add Feedback

4 按照显示的步骤操作

要提交更复杂的反馈请创建一个 Bugzilla ticket

1 进入 Bugzilla 网站

2 在 Component 中选择 Documentation

3 在 Description 中输入您要提供的信息包括文档相关部分的链接

4 点 Submit Bug

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

4

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用但这里的定义特定于 Red Hat Enterprise Linux (RHEL)

Update(更新)(更新)

更新(有时称为软件补丁)是您正在运行的应用程序操作系统或软件的一个补充软件更新用于解决存在的问题或漏洞以便提供更好的使用体验在 RHEL 中更新与次版本相关例如从 RHEL 81 更新到 82

Upgrade(升(升级级))

升级是使用一个新的版本替换当前运行的应用程序操作系统或软件的版本通常情况下您需要首先根据红帽的指导对数据进行备份升级 RHEL 时有两个选项

原位升原位升级级((In-place upgrade))在原位升级过程中您可以在不先删除旧版本的情况下将旧版本替换为新版本安装的应用程序和实用程序以及相关的配置和首选项都会融合到新版本中

全新安装(全新安装(Clean install))干净安装会删除之前安装的操作系统系统数据配置和应用程序的所有数据并安装最新版本的操作系统如果您不需要之前的数据或应用程序或者您要部署的新项目不依赖于以前的构建则全新安装是一个理想的选择

操作系操作系统转换统转换

转换是将操作系统从不同的 Linux 发行版转换为 Red Hat Enterprise Linux通常情况下您需要首先根据红帽的指导对数据进行备份

Migration(迁移)(迁移)

通常迁移表示对平台(软件或硬件)进行更改从 Windows 变为 Linux 是一种迁移用户从使用一个笔记本电脑换为使用另外一个笔记本电脑公司从使用一个服务器换为使用另一台服务器都是迁移但是大多数迁移都涉及到升级因此有时此术语可以互换使用

迁移到迁移到 RHEL将现有操作系统转换到 RHEL

跨跨 RHEL 迁移迁移从一个 RHEL 升级到另一个版本

主要迁移主要迁移术语术语

5

第 1 章 计划升级原位升原位升级级((in-place upgrade)是把系)是把系统统升升级级到下一个主要到下一个主要 RHEL 版本的推荐并支持的方法版本的推荐并支持的方法

您应该在升级到 RHEL 8 前考虑以下问题

操作系操作系统统 mdash 在以下情况下使用 Leapp 程序升级操作系统

安装了最新的最新的 RHEL 7 版本版本当前为

64 位 IntelIBM POWER 8(little endian)和 64 位 IBM Z 架构上的 RHEL 79在使用SAP HANA 时在 64 位 Intel 架构中

在需要内核版本需要内核版本 414 的RHEL 76IBM POWER 9 (little endian) 或 64-bit IBM Z(Structure A)

注意注意

IBM POWER 9(little endian)和 64 位 IBM Z(Structure A)架构已结束生命周期这些架构的最终升级路径是从 RHEL 76 到 RHEL 84

请参阅支持的 Red Hat Enterprise Linux 原位升级路径

满足 RHEL 8 的最低 硬件要求

访问提供的 RHEL 79 和 RHEL 84 内容 详情请参阅 为升级准备 RHEL 7 系统的第 1 步

应应用程序用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序然而在某些情况下您必须创建custom actors它用来在升级过程中指定 Leapp 要执行的操作例如 重新配置应用程序或安装特定的硬件驱动程序如需更多信息请参阅处理自定义应用程序和第三方应用程序的迁移请注意红帽不支持 custom actor

安全性安全性 - 您应该在升级前评估这个方面并在升级过程完成后采取其他步骤请特别考虑以下几点

在升级前定义您系统需要满足的安全标准并了解 RHEL 8 中的安全变化

在升级过程中Leapp 会将 SELinux 的模式设置为 permissive

不支持使用 FIPS 模式进行原位升级

升级完成后重新评估并重新应用您的安全策略有关应用升级过程中禁用的安全策略或RHEL 8 中新引进的安全策略的详情请参阅应用安全策略

存存储储和文件系和文件系统统 - 您应该在升级前备份您的系统例如 您可以使用 Relax-and-Recover(ReaR) 程序LVM 快照RAID splitting 或虚拟机快照

停机停机时间时间 mdash 升级过程可能会需要几分钟到几小时

satellite - 如果您通过 Satellite 管理主机您可以使用 Satellite Web UI 同时将多个主机从 RHEL7 升级到 RHEL 8如需更多信息请参阅 将主机从 RHEL 7 升级到 RHEL 8

SAP HANA - 如果您正在使用 SAP HANA请遵循如何将 SAP 环境从 RHEL 7 原位升级到 RHEL8请注意使用 SAP HANA 的 RHEL 的升级路径可能会有所不同

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

6

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

主要迁移术语

尽管以下与迁移相关的术语在软件业中常用但这里的定义特定于 Red Hat Enterprise Linux (RHEL)

Update(更新)(更新)

更新(有时称为软件补丁)是您正在运行的应用程序操作系统或软件的一个补充软件更新用于解决存在的问题或漏洞以便提供更好的使用体验在 RHEL 中更新与次版本相关例如从 RHEL 81 更新到 82

Upgrade(升(升级级))

升级是使用一个新的版本替换当前运行的应用程序操作系统或软件的版本通常情况下您需要首先根据红帽的指导对数据进行备份升级 RHEL 时有两个选项

原位升原位升级级((In-place upgrade))在原位升级过程中您可以在不先删除旧版本的情况下将旧版本替换为新版本安装的应用程序和实用程序以及相关的配置和首选项都会融合到新版本中

全新安装(全新安装(Clean install))干净安装会删除之前安装的操作系统系统数据配置和应用程序的所有数据并安装最新版本的操作系统如果您不需要之前的数据或应用程序或者您要部署的新项目不依赖于以前的构建则全新安装是一个理想的选择

操作系操作系统转换统转换

转换是将操作系统从不同的 Linux 发行版转换为 Red Hat Enterprise Linux通常情况下您需要首先根据红帽的指导对数据进行备份

Migration(迁移)(迁移)

通常迁移表示对平台(软件或硬件)进行更改从 Windows 变为 Linux 是一种迁移用户从使用一个笔记本电脑换为使用另外一个笔记本电脑公司从使用一个服务器换为使用另一台服务器都是迁移但是大多数迁移都涉及到升级因此有时此术语可以互换使用

迁移到迁移到 RHEL将现有操作系统转换到 RHEL

跨跨 RHEL 迁移迁移从一个 RHEL 升级到另一个版本

主要迁移主要迁移术语术语

5

第 1 章 计划升级原位升原位升级级((in-place upgrade)是把系)是把系统统升升级级到下一个主要到下一个主要 RHEL 版本的推荐并支持的方法版本的推荐并支持的方法

您应该在升级到 RHEL 8 前考虑以下问题

操作系操作系统统 mdash 在以下情况下使用 Leapp 程序升级操作系统

安装了最新的最新的 RHEL 7 版本版本当前为

64 位 IntelIBM POWER 8(little endian)和 64 位 IBM Z 架构上的 RHEL 79在使用SAP HANA 时在 64 位 Intel 架构中

在需要内核版本需要内核版本 414 的RHEL 76IBM POWER 9 (little endian) 或 64-bit IBM Z(Structure A)

注意注意

IBM POWER 9(little endian)和 64 位 IBM Z(Structure A)架构已结束生命周期这些架构的最终升级路径是从 RHEL 76 到 RHEL 84

请参阅支持的 Red Hat Enterprise Linux 原位升级路径

满足 RHEL 8 的最低 硬件要求

访问提供的 RHEL 79 和 RHEL 84 内容 详情请参阅 为升级准备 RHEL 7 系统的第 1 步

应应用程序用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序然而在某些情况下您必须创建custom actors它用来在升级过程中指定 Leapp 要执行的操作例如 重新配置应用程序或安装特定的硬件驱动程序如需更多信息请参阅处理自定义应用程序和第三方应用程序的迁移请注意红帽不支持 custom actor

安全性安全性 - 您应该在升级前评估这个方面并在升级过程完成后采取其他步骤请特别考虑以下几点

在升级前定义您系统需要满足的安全标准并了解 RHEL 8 中的安全变化

在升级过程中Leapp 会将 SELinux 的模式设置为 permissive

不支持使用 FIPS 模式进行原位升级

升级完成后重新评估并重新应用您的安全策略有关应用升级过程中禁用的安全策略或RHEL 8 中新引进的安全策略的详情请参阅应用安全策略

存存储储和文件系和文件系统统 - 您应该在升级前备份您的系统例如 您可以使用 Relax-and-Recover(ReaR) 程序LVM 快照RAID splitting 或虚拟机快照

停机停机时间时间 mdash 升级过程可能会需要几分钟到几小时

satellite - 如果您通过 Satellite 管理主机您可以使用 Satellite Web UI 同时将多个主机从 RHEL7 升级到 RHEL 8如需更多信息请参阅 将主机从 RHEL 7 升级到 RHEL 8

SAP HANA - 如果您正在使用 SAP HANA请遵循如何将 SAP 环境从 RHEL 7 原位升级到 RHEL8请注意使用 SAP HANA 的 RHEL 的升级路径可能会有所不同

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

6

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

第 1 章 计划升级原位升原位升级级((in-place upgrade)是把系)是把系统统升升级级到下一个主要到下一个主要 RHEL 版本的推荐并支持的方法版本的推荐并支持的方法

您应该在升级到 RHEL 8 前考虑以下问题

操作系操作系统统 mdash 在以下情况下使用 Leapp 程序升级操作系统

安装了最新的最新的 RHEL 7 版本版本当前为

64 位 IntelIBM POWER 8(little endian)和 64 位 IBM Z 架构上的 RHEL 79在使用SAP HANA 时在 64 位 Intel 架构中

在需要内核版本需要内核版本 414 的RHEL 76IBM POWER 9 (little endian) 或 64-bit IBM Z(Structure A)

注意注意

IBM POWER 9(little endian)和 64 位 IBM Z(Structure A)架构已结束生命周期这些架构的最终升级路径是从 RHEL 76 到 RHEL 84

请参阅支持的 Red Hat Enterprise Linux 原位升级路径

满足 RHEL 8 的最低 硬件要求

访问提供的 RHEL 79 和 RHEL 84 内容 详情请参阅 为升级准备 RHEL 7 系统的第 1 步

应应用程序用程序 - 您可以使用 Leapp 迁移安装在系统中的应用程序然而在某些情况下您必须创建custom actors它用来在升级过程中指定 Leapp 要执行的操作例如 重新配置应用程序或安装特定的硬件驱动程序如需更多信息请参阅处理自定义应用程序和第三方应用程序的迁移请注意红帽不支持 custom actor

安全性安全性 - 您应该在升级前评估这个方面并在升级过程完成后采取其他步骤请特别考虑以下几点

在升级前定义您系统需要满足的安全标准并了解 RHEL 8 中的安全变化

在升级过程中Leapp 会将 SELinux 的模式设置为 permissive

不支持使用 FIPS 模式进行原位升级

升级完成后重新评估并重新应用您的安全策略有关应用升级过程中禁用的安全策略或RHEL 8 中新引进的安全策略的详情请参阅应用安全策略

存存储储和文件系和文件系统统 - 您应该在升级前备份您的系统例如 您可以使用 Relax-and-Recover(ReaR) 程序LVM 快照RAID splitting 或虚拟机快照

停机停机时间时间 mdash 升级过程可能会需要几分钟到几小时

satellite - 如果您通过 Satellite 管理主机您可以使用 Satellite Web UI 同时将多个主机从 RHEL7 升级到 RHEL 8如需更多信息请参阅 将主机从 RHEL 7 升级到 RHEL 8

SAP HANA - 如果您正在使用 SAP HANA请遵循如何将 SAP 环境从 RHEL 7 原位升级到 RHEL8请注意使用 SAP HANA 的 RHEL 的升级路径可能会有所不同

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

6

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

公共云公共云 - 支持在 Amazon Web Services (AWS) 和带有 Red Hat Update Infrastructure (RHUI) 的Microsoft Azure 中的 Pay-As-You-Go (PAYG) 实例进行原位升级原位升级还支持在所有使用RHSM 进行 RHEL 订阅的公共云上生成您的 Own 订阅实例

语语言言 - 无论语言配置如何所有 Leapp 报告日志和其他生成的文档均为英语

bootloader - 在 RHEL 7 或 RHEL 8 中无法将引导装载程序从 BIOS 切换到 UEFI如果您的RHEL 7 系统使用 BIOS并且您希望 RHEL 8 系统使用 UEFI请执行 RHEL 8 的新安装而不是原位升级如需更多信息请参阅 是否可以在预安装的 Red Hat Enterprise Linux 机器上将 BIOS引导切换到 UEFI 引导

已知的限制已知的限制 - 目前已知的重要的 Leapp 限制包括

目前对整个磁盘或者分区进行加密或对文件系统加密还不能用于计划进行原位升级的系统中

不能使用基于网络的多路径(Multipath)或者任何类型的网络存储挂载用作系统分区(例如iSCSI 或 NFS)

目前在使用 Red Hat Update Infrastructure 而不是 Red Hat SubscriptionManager(RHSM)进行订阅 RHEL 的公共云(Huawei CloudAlibaba CloudGoogleCloud)上的 on-demand(PAYG)实例还不支持原位升级

请参阅 已知问题

您可以使用 Red Hat Insights 确定您注册到 Insights 的哪些系统位于 RHEL 8 的升级路径中要做到这一点进入 Insights 中的相应的 顾问建议在 Actions 下拉菜单下启用建议并检查 受影响的系统 标题下的列表请注意 Advisor 推荐只会考虑 RHEL 7 次要版本它不会执行系统升级前评估

第第 1 章章 计计划升划升级级

7

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

第 2 章 准备升级要防止升级后出现问题并确保您的系统已准备好升级到 RHEL 的下一个主要版本请在升级前完成所有必要的准备步骤

您必须执行在所有系统上为 升级准备 RHEL 7 系统中所述的准备 步骤此外在注册到卫星服务器的系统上您还必须执行准备 卫星系统以进行升级中所述的准备步骤

21 为升级准备 RHEL 7 系统

这个步骤描述了在使用 Leapp 程序对 RHEL 8 进行原位升级前需要进行的操作

如果您在升级过程中不计划使用 Red Hat Subscription Manager请参阅在没有 Red Hat SubscriptionManager 的情况下升级到 RHEL 8

先决条件先决条件

系统满足规划升级中列出的条件

流程流程

1 确定您的系统已通过 Red Hat Content Delivery Network (CDN) 或 Red Hat Satellite 成功注册

2 如果您的系统注册到卫星服务器请完成 为升级准备卫星系统 的步骤以确保您的系统满足升级要求

3 确定已附加了 Red Hat Enterprise Linux Server 订阅

subscription-manager list --installed+-------------------------------------------+ Installed Product Status+-------------------------------------------+Product Name Red Hat Enterprise Linux ServerProduct ID 69Version 79Arch x86_64Status Subscribed

您应该在产品名称中看到 Server其状态为 Subscribed

4 确定启用了适当的软件仓库以下命令列出 64 位 Intel 架构的软件仓库 有关其他架构请参阅RHEL 7 软件仓库

a 启用 Base 软件仓库

subscription-manager repos --enable rhel-7-server-rpms

b 启用提供 Leapp 及其依赖软件包的 Extras 软件仓库

subscription-manager repos --enable rhel-7-server-extras-rpms

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

8

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

注意注意

您还可以启用 Optional 或 Supplementary 软件仓库 请参阅 RHEL 7 软件仓库中的列表在这种情况下Leapp 会分别启用 RHEL 8 CodeReady LinuxBuilder 或 RHEL 8 Supplementary 软件仓库

5 将 Red Hat Subscription Manager 设置为使用最新 RHEL 7 的内容

subscription-manager release --unset

6 可选 如果您要使用自定义软件仓库请根据配置自定义软件仓库中的内容配置它们

7 如果您使用 yum-plugin-versionlock 插件把软件包锁定到特定版本请运行以下命令来清除锁

yum versionlock clear

详情请查看 How to restrict yum to install or upgrade a package to a fixed specific packageversion

8 如果您要在公共云上使用 Red Hat Update Infrastructure (RHUI) 升级请启用所需的 RHUI 软件仓库并安装所需的 RHUI 软件包以确保您的系统已准备好升级

a 对于 AWS

yum-config-manager --enable rhui-client-config-server-7 yum-config-manager --enable rhel-7-server-rhui-extras-rpms yum -y install rh-amazon-rhui-client leapp-rhui-aws

b 对于 Microsoft Azure

yum-config-manager --enable rhui-microsoft-azure-rhel7 yum-config-manager --enable rhui-rhel-7-server-rhui-extras-rpms yum -y install rhui-azure-rhel7 leapp-rhui-azure

注意注意

如果您将 Azure 虚拟机 (VM) 锁定到一个次发行版本请删除版本锁定如需更多信息请参阅将 RHEL 7x 虚拟机切回到非 EUS

9 如果您在 Docker 中管理容器请使用 Podman 使用适当的容器镜像重新创建这些容器然后附加任何使用中的卷如需更多信息请参阅如何在从 Red Hat Enterprise Linux 7 迁移到 Red HatEnterprise Linux 8 之前将 Docker 容器迁移到 Podman

10 将所有软件包更新到最新的 RHEL 7 版本

yum update

11 重启系统

reboot

12 安装 Leapp

第第 2 章章 准准备备升升级级

9

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

yum install leapp-upgrade

请注意目前您需要版本 0130 或更高版本的 leapp 软件包和版本 0150 或更高版本的 leapp-repository 软件包

注意注意

如果您的系统无法访问互联网您可以从 红帽客户门户网站下载 PreupgradeAssistant 和 Red Hat Upgrade Tool

13 确保您有权访问额外数据文件的最新版本(RPM 软件包更改RPM 存储库映射不支持的驱动程序和不受支持的 PCI)

a 如果您使用 RHSM 进行升级系统可以访问 cloudredhatcom并且您尚未下载所需数据的较早版本则不需要进一步的操作数据文件从 cloudredhatcom 自动下载这也适用于开发人员订阅

b 下载附加到知识库文章 Data required the Leapp 工具所需的数据信息以便从 RHEL 7 原位升级到 RHEL 8并将其放置在 etcleappfiles 目录中请注意目前您需要 leapp-data15targz 或更新版本中的数据文件在以下情况下这是成功升级所必需的

i 您使用 RHUI 在公共云上升级如果您没有红帽订阅或红帽客户门户网站帐户请创建一个免费 RHEL 开发人员订阅以便您访问知识库文章并下载所需的数据软件包如需更多信息请参阅如何获取免费 Red Hat Enterprise Linux 开发人员订阅或更新它

ii 您的系统无法访问互联网

iii 您使用 RHSM 进行升级并在之前下载了所需数据文件的旧版本但没有执行升级(例如用于创建自动化脚本)您还可以删除旧版本的数据文件以启动最新版本的自动下载

14 临时禁用防病毒软件以防止升级失败

15 确保所有配置管理系统不会影响原位升级过程

如果您使用客户端-服务器架构的配置管理系统(如 PuppetSalt 或 Chef )请在运行 leapp preupgrade 命令前禁用系统在升级完成后请不要启用配置管理系统以防止升级期间出现问题

如果您使用带有无代理架构的配置管理系统(如 Ansible )在原位升级过程中不执行配置和部署文件(如 Ansible playbook)如 执行从 RHEL 7 升级到 RHEL 8 中所述红帽不支持使用配置管理系统进行预升级和升级过程的自动化如需更多信息请参阅使用配置管理系统自动化 Red Hat Enterprise Linux 上的 Leapp 预升级和升级过程的部分

16 请确定您的系统没有使用多于一个的名称基于内核使用的前缀(eth)的网络接口卡(NIC)如需了解如何在原位升级到 RHEL 8 前迁移到另外一个命名模式的更多信息请参阅 How toperform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7

17 确定您有完整的系统备份或者虚拟机快照请确定您可以按照您的环境中的标准灾难恢复步骤把系统恢复到升级前的状态例如使用 Relax-and-Recover (ReaR) 程序进行备份如需更多信息请参阅 ReaR 文档以及 Relax and Recover (ReaR) 是什么以及如何使用它进行灾难恢复或者您还可以使用 LVM 快照 或 RAID splitting如果升级虚拟机您可以创建整个虚拟机的快照

22 为升级准备 SATELLITE 系统

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

10

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

此流程描述了准备注册到 Satellite 的系统以升级到 RHEL 8 所需的步骤

重要重要

Satellite 系统上的用户必须完成此流程中描述的步骤以及为升级准备 RHEL 7 系统

流程流程

1 验证卫星是否处于完全支持或维护支持的版本如需更多信息请参阅 Red Hat Satellite 产品生命周期

2 使用 RHEL 8 存储库将订阅清单导入到卫星服务器如需更多信息请参阅特定 Red HatSatellite 版本(例如 610 )的内容管理指南中的管理订阅章节

3 与 RHEL 79 和 RHEL 84 的最新更新启用和同步所有所需的 RHEL 7 和 RHEL 8 软件仓库

注意注意

对于 RHEL 8 软件仓库请确保启用每个软件仓库的版本 84如果您只启用了RHEL 8 版本的软件仓库则会禁止原位升级

例如对于没有延长更新支持(EUS)订阅的 Intel 构架至少启用以下软件仓库

Red Hat Enterprise Linux 7 Server (RPMs)rhel-7-server-rpms

x86_64 7Server 或 x86_64 79

Red Hat Enterprise Linux 7 Server - Extras (RPMs)rhel-7-server-extras-rpms

x86_64

Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)rhel-8-for-x86_64-appstream-rpms

x86_64 84

Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)rhel-8-for-x86_64-baseos-rpms

x86_64 84

有关其他构架请参阅 RHEL 7 软件仓库 和 RHEL 8 软件仓库

如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的 导入内容章节

4 将内容主机附加到包含所需 RHEL 7 和 RHEL 8 软件仓库的内容视图如需更多信息请参阅特定 Red Hat Satellite 版本(例如 610 ) 的内容管理指南中的管理内容视图 一章

验证验证

验证 Satellite 服务器中是否已启用最新的 RHEL 8 存储库

第第 2 章章 准准备备升升级级

11

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

find -L varlibpulppublishedyumhttpsrepos -type d -name repodata -exec binsh -c ls -l repomdxml || echo 2gtamp1 | grep rhel8

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

12

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

第 3 章 查看升级前报告要评估系统的可升级性请通过 leapp preupgrade 命令启动预升级过程在这个阶段Leapp 会收集有关系统的数据评估可升级性并生成预升级报告

预升级报告可在 varlogleappleapp-reporttxt 文件及 web 控制台中找到这个报告总结了潜在的问题并给出了推荐的解决方案本次报告还帮助您决定升级是否可行

在某些配置中Leapp 生成 truefalse 问题以确定如何进行所有问题都存储在 varlogleappanswerfile 中以及 Missing required answers in the answer file 信息的预升级报告中如果没有对所有问题提供答案Leapp 会阻止升级

在升级前评估可升级性时有两个选择

a 查看生成的 leapp-reporttxt 文件中的预升级报告并使用命令行界面手动解决问题

b 使用 Web 控制台查看报告在可用的情况下应用自动补救并使用推荐的补救提示修复剩余的问题

重要重要

在预升级阶段Leapp 并不会模拟整个原位升级过程也不会下载所有 RPM 软件包

如果您决定或需要在不进行原位升级的情况下重新部署 RHEL 8 系统查看预升级报告也很有用

注意注意

您可以使用自己的自定义脚本处理预升级报告例如比较不同环境的多个报告的结果如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

31 从命令行评估可升级性

使用命令行界面在预升级阶段识别潜在的升级问题

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 在 RHEL 7 系统中执行预升级阶段

leapp preupgrade

注意注意

第第 3 章章 查查看升看升级级前前报报告告

13

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

2 通过以下任一方法之一回答 Leapp 所需的每个问题

a 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 True 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=True

b 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile

1 检查 varlogleappleapp-reporttxt 文件中的报告并在进行原位升级前手动解决问题

32 通过 WEB 控制台评估可升级性并应用自动化补救方法

找出预升级阶段中的潜在问题以及如何使用 Web 控制台应用自动补救方法

先决条件先决条件

完成了 准备升级中列出的 步骤

流程流程

1 安装 cockpit-leapp 插件

yum install cockpit-leapp

2 进入浏览器中的 Web 控制台再以 root 或 etcsudoers 文件中配置的用户身份登录如需有关Web 控制台的更多信息请参阅使用 RHEL 7 Web 控制台管理系统

3 在 RHEL 7 系统中从命令行界面或 web 控制台终端执行预升级

leapp preupgrade

注意注意

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

14

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp preupgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 频道 替换 channel如 eusau s 或或 e4请注意SAP HANA 客户应该使用 如何将 SAP 环境从 RHEL 7升级到 RHEL 8 知识库文章来进行原位升级

4 在 web 控制台中从左面菜单中选择 In-place Upgrade Report

图图 31 Web 控制台中的原位升控制台中的原位升级报级报告告

报告表格提供了对发现问题风险评估以及补救方法(如果有)的概述

风险因素

High - 对系统造成破坏的可能性较高

Medium - 可能会同时影响到系统和应用程序

Low - 不应该影响系统但可能会影响应用程序

Info - 对系统或应用程序没有预期的影响

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工

第第 3 章章 查查看升看升级级前前报报告告

15

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

Inhibitor - 阻止升级过程(强制停止)否则系统将变得无法引导无法访问或无法正常工作

补救 - 报告问题的可操作解决方案

补救命令 - 可直接通过 Web 控制台执行

修正提示 - 如何手动解决问题的步骤

5 检查报告的内容您可以点击标头来排序表要打开详细信息面板请点击所选行

图图 32 详细详细信息面板信息面板

详情面板显示以下附加信息

问题概述及知识库文档链接更详细地描述了这个问题

补救 - 您可以运行或调度自动补救(如果有)并在应用时查看其结果

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

16

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

受影响的系统资源软件包库文件(配置数据)磁盘卷

6 另外可以对结果进行过滤点击报告左上角的过滤过滤器按器按钮钮并根据您的情况应用过滤器过滤器类别可和另外的过滤器一起使用

图图 33 过滤过滤器器

7 选择您要应用自动补救的问题您有两个选项

a 点击详情框中的 Add to Remediation Plan 按钮选择各个条目另外您还可以直接通过点击详情窗格中的 Run Remediation 来执行单独的修复

b 点击报告右上角的 Add all remediations to plan 按钮选择可以获得补救的所有项目

8 在 web 控制台中查看并回答 Leapp 所需的问题每个未回答的问题在升级报告中的 Missing required answers in the answer file 部分选择回答问题的标题

a 要确认默认的 True 答案请选择 Add to Remediation Plan 以稍后执行补救或 Run Remediation 以立即执行补救

b 要选择非默认回答请执行以下任一操作

i 执行 leapp answer 命令指定您要回答的问题以及您已确认的答案

leapp answer --section question_sectionconfirm=answer

例如要确认对 Disable pam_pkcs11 module in PAM configuration 问题的 False 回答请执行以下命令

leapp answer --section remove_pam_pkcs11_module_checkconfirm=False

ii 手动编辑 varlogleappanswerfile 文件删除 符号取消注释文件的 confirm 行并确认您的回答为 True 或 False 请参阅 Leapp answerfile 示例图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

第第 3 章章 查查看升看升级级前前报报告告

17

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

图图 34 缺少未回答的缺少未回答的 Leapp 问题问题

9 点击报告右上角的 Remediation plan 链接打开补救计划补救计划提供所有已执行或调度的补救列表

图图 35 补补救救计计划划

10 点 Execute Remediation Plan 执行修复计划处理所有调度的补救每个补救条目都包括以下信息

补救的唯一 ID

命令的退出状态

已执行补救步骤的时间

标准输出

标准错误

11 执行所选修复后使用 leapp preupgrade 命令再次生成预升级报告检查新报告并在需要时执行额外的补救步骤

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

18

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

第 4 章 执行从 RHEL 7 到 RHEL 8 的升级使用 Leapp 程序升级到 RHEL 8

先决条件先决条件

完成准备升级中列出的 步骤包括完整系统备份

完成检查预升级报告 中列出的步骤并解决了所有报告的问题

流程流程

1 在 RHEL 7 系统中启动升级过程

leapp upgrade

注意注意

如果您要使用 etcyumreposd 目录中的 自定义程序仓库进行升级请启用所选程序仓库如下所示

leapp upgrade --enablerepo repository_id1 --enablerepo repository_id2

如果您要在没有 RHSM 的情况下升级 或使用 RHUI请添加 --no-rhsm 选项

如果您有 扩展升级支持(EUS)高级 更新支持(AUS)或 Update Services for SAPSolutions(E4S) 订阅请添加 --channel 频频道道 选项使用 leapp preupgrade 命令(如 eusaus或或 e 4s )替换 channel请注意您必须在 leapp preupgrade 和和 leapp upgrade 命令中同时使用 --channel 选项相同的值

在升级过程开始时Leapp 会执行预升级阶段如检查预升级报告中所述

如果系统是可升级的Leapp 会下载必要的数据并为升级准备 RPM 事务

如果您的系统没有达到可靠的条件Leapp 会终止升级进程并在 varlogleappleapp-reporttxt 文件中提供描述这个问题和推荐解决方案的记录如需更多信息请参阅 故障排除

2 手动重启系统

reboot

在这个阶段系统会引导进入基于 RHEL 8 的初始 RAM 磁盘镜像 initramfsLeapp 升级所有软件包然后自动重启到 RHEL 8 系统

另外您可以使用 --reboot 选项运行 leapp upgrade 命令并跳过这个手动步骤

如果发生故障请按照故障排除中所述调查日志

3 登录到 RHEL 8 系统并验证其状态 RHEL 8 系统升级后状态的验证中所述

4 完成升级后的任务如执行升级后的任务中所述特别是重新检查并重新应用您的安全策略

第第 4 章章 执执行从行从 RHEL 7 到到 RHEL 8 的升的升级级

19

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

第 5 章 验证 RHEL 8 系统升级后的状态此流程列出了在升级到 RHEL 8 后建议执行的验证步骤

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

流程流程

升级完成后请确定系统是否处于所需状态至少

验证当前的 OS 版本是否为 Red Hat Enterprise Linux 8

cat etcredhat-releaseRed Hat Enterprise Linux release 84 (Ootpa)

检查 OS 内核版本

uname -r4180-305el8_4x86_64

请注意 el8 很重要版本不应早于 4180-305

如果您使用 Red Hat Subscription Manager

验证是否安装了正确的产品

subscription-manager list --installed+-----------------------------------------+ Installed Product Status+-----------------------------------------+Product Name Red Hat Enterprise Linux for x86_64Product ID 479Version 84Arch x86_64Status Subscribed

验证在升级后发行版本是否马上被设置为 84

subscription-manager releaseRelease 84

例如验证网络服务是否可操作试着使用 SSH 连接到服务器

检查应用程序的升级后状态在某些情况下您可能需要手动执行迁移和配置更改例如要迁移您的数据库请按照 RHEL 8 数据库服务器文档中的说明操作

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

20

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

第 6 章 执行升级后的任务此流程列出了在向 RHEL 8 进行原位升级后推荐执行的主要任务

先决条件先决条件

该系统已根据从 RHEL 7 升级到 RHEL 8 中的步骤进行了升级并可登录到 RHEL 8

已按照 RHEL 8 系统升级后状态验证原位升级的状态进行验证

流程流程

执行升级后完成以下任务

1 从 etcdnfdnfconf 配置文件中的排除列表中删除所有剩余的 Leapp 软件包包括 snactor 软件包在原位升级过程中使用 Leapp 实用程序安装的 Leapp 软件包会自动添加到 exclude 列表中以防止删除或更新关键文件在原位升级后必须将这些 Leapp 软件包从排除列表中删除然后才能从系统中删除

要从排除列表中手动删除软件包请编辑 etcdnfdnfconf 配置文件并从 exclude 列表中删除所需的 Leapp 软件包

从排除列表中删除所有软件包

dnf config-manager --save --setopt exclude=

2 删除剩余的 RHEL 7 软件包包括剩余的 Leapp 软件包

a 找到剩余的 RHEL 7 软件包

rpm -qa | grep -e el[67] | grep -vE ^(gpg-pubkey|libmodulemd|katello-ca-consumer) | sort

b 确定旧的内核版本

cd libmodules ampamp ls -d el7

c 从旧内核中删除弱模块

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel ltversiongt

使用上一步中决定的内核版本替换 version例如

[ -x usrsbinweak-modules ] ampamp usrsbinweak-modules --remove-kernel 3100-1160251el7x86_64

d 从引导装载程序条目中删除旧内核

binkernel-install remove ltversiongt libmodulesltversiongtvmlinuz

使用上一步中决定的内核版本替换 version例如

binkernel-install remove 3100-1160251el7x86_64 libmodules3100-1160251el7x86_64vmlinuz

第第 6 章章 执执行升行升级级后的任后的任务务

21

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

3 确定您的系统在原位升级后仍然被支持随着 RHEL 85 的正式发布请确保您的系统已更新至RHEL 85 或 RHEL 84 Extended Update Support(EUS)

a 将系统更新至 RHEL 85

i 取消设置 Red Hat Subscription Manager 以使用最新的 RHEL 85 内容

subscription-manager release --unset

ii 将您的系统更新至最新的 RHEL 85 版本

yum update

b 请确定您的系统已更新至 RHEL 84 EUS如果您使用 --channel 选项在原位升级过程中设置EUS 频道则不需要执行进一步步骤否则请将系统更新至 RHEL 84 EUS

i 启用 RHEL 8 EUS 软件仓库

subscription-manager repos --enable repository_id1 --enable repository_id2 hellip

使用您的订阅提供的 EUS 软件仓库 ID 替换 repository_id至少启用 BaseOS 和AppStream 软件仓库例如在 Intel 64 构架中

subscription-manager repos --enable rhel-8-for-x86_64-baseos-eus-rpms --enable rhel-8-for-x86_64-appstream-eus-rpms

ii 将您的系统更新至最新的 RHEL 84 EUS 版本

yum update

4 重新检查并重新应用您的安全策略特别是需要将 SELinux 模式改为 enforcing详情请参阅应用安全策略

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

22

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

第 7 章 应用安全策略在原位升级过程中必须禁用某些安全策略RHEL 8 引进了系统范围加密策略的新概念同时安全配置可能包含主要发行本之间的更改本小节介绍了升级的 RHEL 系统的安全性的信息

71 将 SELINUX 模式改为 ENFORCING

在原位升级过程中Leapp 会将 SELinux 的模式设置为 permissive当成功升级系统时您必须手动将SELinux 模式改为 enforcing

先决条件先决条件

该系统已被升级并执行了 RHEL 8 系统升级后状态的 验证步骤

流程流程

1 确保没有 SELinux denials例如使用 ausearch 工具程序

ausearch -m AVCUSER_AVC -ts boot

请注意上一步只涵盖最常见的情况要检查所有可能的 SELinux denials请查看使用 SELinux中的 识别 SELinux denials 部分

2 在您选择的文本编辑器中打开 etcselinuxconfig 文件例如

vi etcselinuxconfig

3 配置 SELINUX=enforcing 选项

This file controls the state of SELinux on the system SELINUX= can take one of these three values enforcing - SELinux security policy is enforced permissive - SELinux prints warnings instead of enforcing disabled - No SELinux policy is loadedSELINUX=enforcing SELINUXTYPE= can take one of these two values targeted - Targeted processes are protected mls - Multi Level Security protectionSELINUXTYPE=targeted

4 保存更改重启系统

reboot

验证验证

1 系统重启后确认 getenforce 命令返回 Enforcing

$ getenforceEnforcing

其它其它资资源源

第第 7 章章 应应用安全策略用安全策略

23

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

故障排除与 SELinux 相关的问题

更改 SELinux 状态和模式

72 设置系统范围的加密策略

Crypto 策略是一个系统组件它可配置核心加密子系统覆盖 TLSIPSecSSHDNSSEC 和Kerberos 协议

在成功安装或原位升级后系统范围的加密策略会自动设置为 DEFAULTDEFAULT 系统范围的加密政策级别为当前的威胁模型提供了安全设置

要查看或更改当前系统范围的加密策略请使用 update-crypto-policies 工具

$ update-crypto-policies --showDEFAULT

例如以下命令可将系统范围内的加密策略切换到 FUTURE这样可防止任何近期可能出现的安全攻击

update-crypto-policies --set FUTURESetting system policy to FUTURE

您还可以自定义系统范围的加密策略详情请查看使用 policy modifiers 自定义系统范围的加密策略以及创建以及设置自定义系统范围加密策略 部分的内容

其它其它资资源源

使用系统范围的加密策略

update-crypto-policies(8) man page

73 将系统修复到一个安全基点

OpenSCAP 套件提供补救机制使您的系统符合安全基点如 PCI-DSSOSPP 或 ACSC E8使用以下步骤更改您的系统设置使其与 PCI-DSS 配置集一致

重要重要

红帽不提供任何自动的方法来恢复由安全补救机制所做的更改默认配置的 RHEL 系统支持自动安全补救功能如果在安装后更改了您的系统运行补救可能无法使其与所需安全配置兼容

先决条件先决条件

scap-security-guide 软件包安装在 RHEL 8 系统中

流程流程

1 使用带有 --remediate 选项的 oscap 命令

oscap xccdf eval --profile pci-dss --remediate usrsharexmlscapssgcontentssg-rhel8-dsxml

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

24

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

您可以将上例中的 pci-dss 替换为您所需的配置集

2 重启您的系统

reboot

验证验证

1 评估系统与 PCI-DSS 配置集的兼容性并将结果保存到 pcidss_reporthtml 文件中

$ oscap xccdf eval --report pcidss_reporthtml --profile pci-dss usrsharexmlscapssgcontentssg-rhel8-dsxml

其它其它资资源源

扫描系统以了解安全合规和漏洞

scap-security-guide(8) man page

oscap(8) man page

第第 7 章章 应应用安全策略用安全策略

25

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

第 8 章 故障排除您可以参阅以下内容排除从 RHEL 7 升级到 RHEL 8 时出现的问题

81 故障排除资源

您可以参考以下故障排除资源

控制台控制台输输出出

默认情况下Leapp 只会将错误和严重日志级别的信息输出到控制台输出中要改变日志级别在leapp upgrade 命令中使用 --verbose 或 --debug 选项

在 verbose 模式中Leapp 会输出 info warning error 和 critical 信息

在 debug 模式中Lapp 会输出 debuginfowarningerror 和 critical 信息

日志日志

varlogleappleapp-upgradelog 文件列出了 initramfs 阶段里的问题

varlogleappdnf-debugdata 目录包含了事务故障排除数据只有在 leapp upgrade 命令使用了 --debug 选项执行时才会生成这个目录

varlogleappanswerfile 包含 Leapp 回答所需的问题

Journalctl 实用程序提供完整的日志

Reports

varlogleappleapp-reporttxt 文件列出了在预升级阶段里发现的问题这个报告也可以在 web控制台中获得请参阅 通过 web 控制台应用可升级性并应用自动补救方法

varlogleappleapp-reportjson 文件以机器可读格式列出了在预升级阶段发现的问题它可让您使用自定义脚本处理报告如需更多信息请参阅自动 Red Hat Enterprise Linux 预升级报告工作流

82 故障排除窍门

您可以参考以下故障排除信息

预预升升级阶级阶段段

确认您的系统满足规划升级中列出的所有条件

请确定您遵循了 准备升级 中描述的所有步骤例如您的系统不使用多个网络接口卡(NIC)其名称基于内核使用的前缀(eth)

确保您已回答了 varlogleappanswerfile 文件中 Leapp 所需的所有问题如果缺少回答Leapp 会阻止升级问题示例

在 PAM 配置中禁用 pam_pkcs11 模块

在 PAM 配置中禁用 pam_krb5 模块

使用以下 authselect 调用来配置 PAM 和 nsswitchconf

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

26

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

请确定您解决了在预升级报告(位于 varlogleappleapp-reporttxt )中发现的所有问题您也可以使用 web 控制台来达到此目的如评估可升级性并通过 web 控制台应用自动化补救中所述

例例 81 Leapp answerfile

以下是一个未编辑的 varlogleappanswerfile 文件它有一个未回答的问题

[remove_pam_pkcs11_module_check] Title None Reason Confirmation =================== remove_pam_pkcs11_module_checkconfirm ================== Label Disable pam_pkcs11 module in PAM configuration If no the upgrade process will be interrupted Description PAM module pam_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD Type bool Default None Available choices TrueFalse Unanswered question Uncomment the following line with your answer confirm =

Label 字段指定需要回答的问题在这个示例中问题是 Disable pam_pkcs11 module in PAMconfiguration

要回答这个问题请取消对 confirm 行的注释并输入 True 或 False 作为回答在本例中所选答案为 True

[remove_pam_pkcs11_module_check] Available choices TrueFalse Unanswered question Uncomment the following line with your answerconfirm = True

下下载阶载阶段段

如果在下载 RPM 软件包时出现问题请检查位于 varlogleappdnf-debugdata 目录的事务调试数据

initramfs 阶阶段段

在此阶段潜在的故障会进入 Dracut shell检查 Journal 日志

journalctl

或者使用 reboot 命令从 Dracut shell 重启系统并检查 varlogleappleapp-upgradelog 文件

升升级级后后阶阶段段

如果您的系统看上去成功升级但是使用旧的 RHEL 7 内核引导重启系统并检查 GRUB 中默认条目的内核版本

确保您遵循了 RHEL 8 系统升级后状态的验证中推荐的步骤

第第 8 章章 故障排除故障排除

27

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

如果您的应用程序或服务在您将 SELinux 切换到 enforcing 模式后停止工作或者行为不正确请使用 ausearch journalctl 或 dmesg 检查拒绝

ausearch -m AVCUSER_AVC -ts boot journalctl -t setroubleshoot dmesg | grep -i -e selinux -e type=1400

最常见的问题是由错误的标记造成的更多详情请参阅SELinux 故障排除

83 已知问题

从 RHEL 7 升级到 RHEL 8 时可能会遇到的已知问题包括

在进行原位升级时如果 Network Manager 被禁用或没有安装则 network teaming 功能无法正常工作

如果您使用 HTTP 代理则必须将 Red Hat Subscription Manager 配置为使用代理服务器或在执行 subscription-manager 命令时使用 --proxy lthostnamegt 选项 否则subscription-manager 命令的执行会失败如果您使用 --proxy 选项而不是配置更改升级过程会失败因为Leapp 无法检测到代理要防止这个问题发生请手动编辑 rhsmconf 文件如 How toconfigure HTTP Proxy for Red Hat Subscription Management 所述(BZ1689294)

如果在 FCoE 逻辑单元号 (LUN) 中安装 RHEL 7 系统并连接到使用 bnx2fc 驱动程序的网卡上则在升级后不会在 RHEL 8 中探测到 LUN升级的系统将无法引导(BZ1718147)

如果您的 RHEL 7 系统使用由红帽提供但在 RHEL 8 中不可用的设备驱动程序Leapp 将会限制升级但是如果 RHEL 7 系统使用没有包含在已删除驱动程序列表中的第三方设备驱动程序(位于 etcleappreposdsystem_upgradeel7toel8actorskernelcheckkerneldriversfilesremoved_driverstxt)Leapp 不会探测到这样的驱动程序升级会继续进行然后该系统可能会在升级后无法引导

目前如果在 etcnsswitchconf 文件中使用了 winbind 和 wins Samba 模块则无法进行原位升级升级事务失败并显示以下出错信息Lapp 会阻止升级

upgrade[469] STDERRupgrade[469] Error in PREIN scriptlet in rpm package unbound-libsupgrade[469] Error Transaction failedupgrade[469] Container el8userspace failed with error code 1unbound-libs has a PREIN failure

要临时解决这个问题请配置系统以便在更新的过程中只使用本地供应商的 user groups 和 hosts 数据库

1 打开系统 etcnsswitchconf 配置文件并搜索包含 winbind 或者 wins 字符串的条目

2 如果您找到这样的条目请创建一个 etcnsswitchconf 的备份

3 编辑 etcnsswitchconf 并从包含它们的条目中删除 winbind 或者 wins

4 执行原位升级

5 升级后根据您的系统配置要求将 winbind 和 wins 字符串添加到 etcnsswitchconf 中的对应条目(BZ1410154)

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

28

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

Leapp 实用程序不会在升级过程中更改自定义验证配置如果您使用已弃用的 authconfig 工具在 RHEL 7 系统中配置身份验证则 RHEL 8 的身份验证可能无法正常工作要确保您的自定义配置在 RHEL 8 系统中正常工作请使用 authselect 程序重新配置您的 RHEL 8 系统

重要重要

在原位升级过程中删除已弃用的 pam_krb5 或 pam_pkcs11 可插拔验证模块(PAM)因此如果 RHEL 7 系统的 PAM 配置包含 pam_krb5 或 pam_pkcs11模块如果这些模块有 required 或 requisite 控制值那么执行原位升级可能会导致系统把您锁定在系统之外要临时解决这个问题请在开始升级前将您的RHEL 7 系统配置为不使用 pam_krb5 或者 pam_pkcs11

如果系统中安装的第三方软件包(不由红帽签名)的名称与红帽提供的软件包名称相同则原位升级会失败要临时解决这个问题请在升级前选择以下选项之一

a 删除第三方软件包

b 使用红帽提供的软件包替换第三方软件包

在原位升级过程中docker 软件包被删除且无警告如果您在 RHEL 中使用容器请在升级到RHEL 8 之前迁移到 Podman具体步骤请参阅 如何在从 Red Hat Enterprise Linux 7 迁移到 RedHat Enterprise Linux 8 之前将 Docker 容器迁移到 Podman(BZ1858711)

出于安全考虑RHEL 8 中删除了对 single-DES (DES) 和 triple-DES (3DES) 加密类型的支持RHEL 7 Identity Management(IdM)仍支持 3DES 加密有可能将 IdM 环境从 RHEL 7 升级到 RHEL 8因为两个 RHEL 版本都首选使用更强大的 AES 加密类型

IdM 的版本的版本 默默认认加密加密类类型型 其他支持的加密其他支持的加密类类型型

RHEL 7 aes256-ctsaes128-cts

camellia256-ctscamellia128-ctsdes3-hmacarcfour-hmac

RHEL 8 aes256-ctsaes128-cts

aes256-sha2aes128-sha2camellia256-ctscamellia128-ctsarcfour-hmac[a]

[a] RHEL 8 中弃用并默认禁用 RC4 加密因为它被视为没有较新的 AES-128 和 AES-256 加密类型安全有关启用 RC4 支持与旧 Active Directory 环境兼容的更多信息请参阅确保支持 AD 和 RHEL 中的通用加密类型

如果您手动配置了一个非 IdM Kerberos 发行中心(KDC)任何服务或任何用户为只只使用 DES或 3DES 加密的用户您可能会在升级到 RHEL 8 中最新 Kerberos 软件包后遇到服务中断例如

Kerberos 验证错误

unknown enctype 加密错误

带有 DES 加密数据库主密钥 (KM) 的 KDC 无法启动

第第 8 章章 故障排除故障排除

29

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

红帽建议不要在您的环境中使用 DES 或者 3DES 加密有关重新为 Kerberos 主体重新打包使用更强大的加密类型的详情请参考 MIT Kerberos 文档中的 Retiring DES

在带有软件冗余磁盘阵列 (RAID) 的系统中原位升级会失败(BZ1957192)

禁用 GRUB 引导加载器规范的系统(例如使用 Puppet 的系统)无法为较新的内核创建新的initramfs要临时解决这个问题请从 bootloader 条目中手动删除软件包和旧内核如第 6 章执行升级后的任务所述(BZ1955099)

IBM Z 构架中没有 Relax-and-Recover (ReaR) 程序因此IBM Z 系统无法完全由 OpenSCAP套件修复且可能无法与安全基准完全兼容(BZ1958939)

在原位升级过程中Leapp 工具通常会保留 RHEL 7 和 RHEL 8 之间的网络接口控制器(NIC)名称但是在某些系统中如具有网络绑定的系统可能需要在 RHEL 7 和 RHEL 8 之间更新NIC 名称在这些系统上设置 LEAPP_NO_NETWORK_RENAMING=1 环境变量执行原位升级然后验证您的网络是否按预期工作如果需要请手动更新网络配置(BZ1919382)

在预升级过程中可能需要用户回答 truefalse 问题才能进行升级如果在最新版本的 Leapp 发布前运行预升级报告报告可能会错误地报告所有 truefalse 问题已回答且升级是安全的如果您在 2021 年 11 月 9 日之前运行预升级报告请完成以下步骤以防止升级出现严重问题

1 更新与 Leapp相关的所有软件包

2 删除 varlogleappanswerfile 和 varlogleappanswerfileuserchoices 文件

rm -f varlogleappanswerfile varlogleappanswerfileuserchoices

3 运行 leapp preupgrade 命令并再次回答所有 truefalse 问题(BZ2014015)

84 获取支持

要创建一个支持问题单请选择 RHEL 8 作为产品并提供您系统的 sosreport

要在您的系统中生成 sosreport请运行

sosreport

请注意您可以将问题单 ID 留空

有关生成 sosreport 的详情请参阅 What is an sosreport and how to create one in Red Hat EnterpriseLinux

有关在客户门户网站中建立和管理支持问题单的详情请参阅 How do I open and manage a support caseon the Customer Portal

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

30

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

第 9 章 相关信息您可以参考以下说明

Red Hat Enterprise Linux 的技术功能及限制

使用 RHEL 8 时的注意事项

定制 Red Hat Enterprise Linux 原位升级

自动执行 Red Hat Enterprise Linux 预升级报告工作流

从 RHEL 6 升级至 RHEL 7

从 RHEL 6 升级至 RHEL 8

如何从 CentOS 或 Oracle Linux 转换到 RHEL

在 Red Hat Satellite 中将主机从 RHEL 7 升级到 RHEL 8

如何将 SAP 环境从 RHEL 7 原位升级到 RHEL 8

Red Hat Insights 文档

第第 9 章章 相关信息相关信息

31

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

附录 A RHEL 7 软件仓库在升级前请确定启用了适当的软件仓库如为升级准备 RHEL 7 系统 的步骤 4 所述

如果您计划在升级过程中使用 Red Hat Subscription Manager您 必必须须在升在升级级前使用前使用 subscription-manager repos --enable repository_id 命令命令启启用以下用以下软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Base rhel-7-server-rpms

Extras rhel-7-server-extras-rpms

IBM POWER8 (little endian) Base rhel-7-for-power-le-rpms

Extras rhel-7-for-power-le-extras-rpms

IBM POWER9 (little endian) Base rhel-7-for-power-9-rpms

Extras rhel-7-for-power-9-extras-rpms

IBM Z Base rhel-7-for-system-z-rpms

Extras rhel-7-for-system-z-extras-rpms

IBM Z (Structure A) Base rhel-7-for-system-z-a-rpms

Extras rhel-7-for-system-z-a-extras-rpms

升级前可以使用 subscription-manager repos --enable repoid 命令启启用以下用以下仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID

64-bit Intel Optional rhel-7-server-optional-rpms

Supplementary rhel-7-server-supplementary-rpms

IBM POWER8 (little endian) Optional rhel-7-for-power-le-optional-rpms

Supplementary rhel-7-for-power-le-supplementary-rpms

IBM POWER9 (little endian) Optional rhel-7-for-power-9-optional-rpms

Supplementary rhel-7-for-power-9-supplementary-rpms

IBM Z Optional rhel-7-for-system-z-optional-rpms

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

32

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

Supplementary rhel-7-for-system-z-supplementary-rpms

IBM Z (Structure A) Optional rhel-7-for-system-z-a-optional-rpms

Supplementary 不适用

构构架架 软软件件仓库仓库 仓库仓库 ID

注意注意

如果您在原位升级前已经启用了 RHEL 7 Optional 或 RHEL 7 Supplementary 软件仓库 Leapp 会相应地启用 RHEL 8 CodeReady Linux Builder 或 RHEL 8 软件仓库

如果您决定使用自定义软件仓库请根据配置自定义软件仓库中的内容启用它们

附附录录 A RHEL 7 软软件件仓库仓库

33

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

附录 B RHEL 8 软件仓库如果您的系统使用 Red Hat Subscription Manager(RHSM)注册到 Red Hat Content DeliveryNetwork(CDN)则 RHEL 8 软件仓库会在原位升级过程中自动启用但是在使用 RHSM 注册到 RedHat Satellite 的系统上您必须在运行预升级报告前手动启用和同步 RHEL 7 和 RHEL 8 软件仓库

注意注意

确保启用每个存储库的版本 84如果您只启用了 RHEL 8 版本的软件仓库则会禁止原位升级

如果您计划在升级过程中使用 Red Hat Satellite则则必必须启须启用并同步用并同步 以下 RHEL 8 存储库然后才能使用Satellite Web UI 或 hammer repository-set enable 和 hammer 产产品同步品同步 命令进行升级

表表 B1 RHEL 8 软软件件仓库仓库

构构架架 软软件件仓库仓库 仓库仓库 ID 仓库仓库名称名称 发发行版本行版本

64-bit Intel BaseOS rhel-8-for-x86_64-baseos-rpms

Red HatEnterprise Linux 8for x86_64 -BaseOS (RPMs)

x86_64 84

AppStream rhel-8-for-x86_64-appstream-rpms

Red HatEnterprise Linux 8for x86_64 -AppStream(RPMs)

x86_64 84

IBM Power8(littleendian)IBMPower9(littleendian)

BaseOS rhel-8-for-ppc64le-baseos-rpms

Red HatEnterprise Linux 8for Power littleendian -BaseOS(RPMs)

ppc64le 84

AppStream rhel-8-for-ppc64le-appstream-rpms

Red HatEnterprise Linux 8for Power littleendian -AppStream(RPMs)

ppc64le 84

IBM ZIBMZ(Structure A)

BaseOS rhel-8-for-s390x-baseos-rpms

Red HatEnterprise Linux 8for IBM z Systems- BaseOS(RPMs)

s390x 84

AppStream rhel-8-for-s390x-appstream-rpms

Red HatEnterprise Linux 8for IBM z Systems- AppStream(RPMs)

s390x 84

Red Hat Enterprise Linux 8 从从 RHEL 7 升升级级至至 RHEL 8

34

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库

附附录录 B RHEL 8 软软件件仓库仓库

35

  • 目录
  • 使开源包含更多
  • 对红帽文档提供反馈
  • 主要迁移术语
  • 第 1 章 计划升级
  • 第 2 章 准备升级
    • 21 为升级准备 RHEL 7 系统
    • 22 为升级准备 SATELLITE 系统
      • 第 3 章 查看升级前报告
        • 31 从命令行评估可升级性
        • 32 通过 WEB 控制台评估可升级性并应用自动化补救方法
          • 第 4 章 执行从 RHEL 7 到 RHEL 8 的升级
          • 第 5 章 验证 RHEL 8 系统升级后的状态
          • 第 6 章 执行升级后的任务
          • 第 7 章 应用安全策略
            • 71 将 SELINUX 模式改为 ENFORCING
            • 72 设置系统范围的加密策略
            • 73 将系统修复到一个安全基点
              • 第 8 章 故障排除
                • 81 故障排除资源
                • 82 故障排除窍门
                • 83 已知问题
                • 84 获取支持
                  • 第 9 章 相关信息
                  • 附录 A RHEL 7 软件仓库
                  • 附录 B RHEL 8 软件仓库