第 7 章 将主机转换为 Red Hat Enterprise Linux
您可以将 Red Hat Enterprise Linux 衍生发行版本转换为主机上的可支持性 Red Hat Enterprise Linux,同时保留已安装的应用程序和配置。Satellite 提供了 Convert2RHEL 工具来简化转换过程。
卫星中的 Convert2RHEL 工具由 Ansible 角色和 Ansible playbook 组成。您可以使用 Ansible 角色在卫星服务器上生成转换数据,其中包括启用所需的存储库和创建产品、激活密钥和主机组。然后,您可以使用 Ansible playbook 在主机上执行实际的转换,它会在主机上安装 Convert2RHEL CLI 工具并运行它。
您可以使用 Ansible 角色为以下转换生成转换数据:
- CentOS Linux 7 to Red Hat Enterprise Linux 7
- Oracle Linux 7 到 Red Hat Enterprise Linux 7
- CentOS Linux 8 to Red Hat Enterprise Linux 8
- Oracle Linux 8 到 Red Hat Enterprise Linux 8
红帽支持这些转换。
转换过程类似于 Red Hat Enterprise Linux 的次版本升级,其中每个 RPM 软件包都会被替换。Red Hat Enterprise Linux 中不可用的第三方软件包和非红帽软件包会被保留。
Convert2RHEL 工具删除不必要的软件包,如已知在转换过程中导致问题的徽标或软件包。该工具将 CentOS-release
或 Oracle-release
软件包替换为 rhel-release
软件包,以及 CentOS 或 Oracle 所签署的所有软件包及其同等红帽产品。该工具还订阅了 Red Hat Subscription Management 的主机。
转换过程的持续时间取决于必须替换的软件包数量、网络速度、存储速度和类似因素。
先决条件
- 查看 从基于 RPM 的 Linux 发行版转换到 RHEL 的 支持的转换路径。
- 您必须已完成从基于 RPM 的 Linux 发行版转换到 RHEL 中的准备 RHEL 转换的步骤 1 到 5。
确保有上传到 Satellite 的订阅清单,并且有足够的 Red Hat Enterprise Linux 权利用于您所需的转换。或者,您可以使用 Ansible 变量告诉角色从磁盘导入清单。清单必须导入到要转换的机构,用于注册主机以转换。
您可以更新您的分配并 从红帽客户门户网站下载 更新的清单。如需更多信息,请参阅 红帽订阅管理中的使用清单。
- 确保已在 Satellite 中为转换主机的次 Red Hat Enterprise Linux 版本启用了红帽软件仓库。
高级转换步骤
-
导入
redhat.satellite.convert2rhel
Ansible 角色和变量。如需更多信息,请参阅在 Red Hat Satellite 中使用 Ansible 集成管理配置中的导入 Ansible 角色和变量。 - 配置 Ansible 变量来生成转换数据。如需更多信息,请参阅 第 7.1 节 “用于转换的 Ansible 变量”。
-
将
redhat.satellite.convert2rhel
角色分配给代表卫星服务器的主机。如需更多信息,请参阅在 Red Hat Satellite 中使用 Ansible 集成管理配置中的为一个现存的主机分配 Ansible 角色。 在卫星服务器上运行 Ansible 角色。如需更多信息,请参阅在 Red Hat Satellite 中使用 Ansible 集成管理配置中的在主机上运行 Ansible 角色。
Ansible 角色生成主机转换所需的数据,即存储库、证书、激活密钥和主机组。该角色启用
rhel-7-server-rpms
存储库(带有 7Server 发行版本和 x86_64 架构),或rhel-8-for-x86_64-baseos-rpms
和rhel-8-for-x86_64-appstream-rpms
,或两者均取决于您在前面的步骤中设置的变量。使用生成的主机组注册主机进行转换。
使用全局注册模板在转换前注册并订阅您的主机。选择为转换生成的主机组,例如,如果您希望从 CentOS 8 转换主机,选择
CentOS 8 converting
。如需更多信息,请参阅 第 3.3 节 “使用全局注册注册主机”。在主机上运行 Convert2RHEL playbook。使用以下设置执行远程作业:
-
作业类别 :
Convert 2 RHEL
-
作业模板 :
转换到 RHEL
-
激活码:
convert2rhel_rhel7
或convert2rhel_rhel8
更多信息请参阅 第 12.22 节 “执行远程作业”。
-
作业类别 :
7.1. 用于转换的 Ansible 变量
在运行 Ansible 角色来生成转换数据前,请配置以下所需 Ansible 变量的值:
卫星从 redhat.satellite.convert2rhel
角色导入大多数需要的 Ansible 变量。但是,有些变量不会被导入。这些变量在下表中带有一个星号 *
。您必须手动创建这些额外变量,并将其分配给 redhat.satellite.convert2rhel
角色。
Name | 类型 | 意图和值 |
---|---|---|
| 字符串 |
Satellite 服务器的 URL,如 |
| 字符串 | 您的用户名 |
| 字符串 | 您的密码 |
| 字符串 | 您的机构名称 |
| 布尔值 |
如果您不希望 Satellite 服务器在继续生成数据前等待存储库同步完成,则设置为 |
| 布尔值 |
如果要在 Ansible 中启用证书检查,则设置为 |
| 布尔值 |
如果卫星服务器上已有清单,则设置为 |
| 布尔值 |
启用 Red Hat Enterprise Linux 7 软件仓库。如果您不打算将主机转换为 Red Hat Enterprise Linux 7,则设置为 |
| 布尔值 |
如果您想要为 Oracle Linux 7 准备转换数据,设置为 |
| 布尔值 |
启用 Red Hat Enterprise Linux 8 软件仓库。如果您不打算将主机转换为 Red Hat Enterprise Linux 8,则设置为 |
| 布尔值 |
如果您想要为 Oracle Linux 8 准备转换数据,设置为 |
Name | 类型 | 意图和值 |
---|---|---|
| 字符串 |
从磁盘(如 |
| 字符串 |
次发行版本,如 |