3.6. 执行升级后任务
本节中的一些流程是可选的。您可以选择只执行与安装相关的流程。
3.6.1. 升级发现
如果使用基于 PXE 的发现过程,您必须在 Satellite 上完成发现升级过程,以及在 Hosts > Discovered hosts 页面的 Satellite 中列出的主机的任何 Capsule 服务器上。
本节介绍更新 PXELinux 模板和传递给使用 PXE 引导在 Satellite 服务器注册其自身的主机的引导镜像。
从 Satellite 6.11 中,置备模板现在与子网有单独的关联,且不默认使用该子网的 TFTP 胶囊。如果在升级后创建子网,则必须启用 Satellite 或 Capsule 来为发现模板提供代理服务,然后将所有带有发现的主机的子网配置为使用特定的 模板 Capsule。
在升级过程中,对于启用了 TFTP 代理的每个子网,模板 Capsule 设置为与 TFTP 胶囊相同。升级后,检查所有子网以验证此设置是否已正确设置。
如果不使用 PXE 引导主机来启用 Satellite 发现新主机,则不需要这些步骤。
其他资源
有关配置发现服务的详情,请参考 置备主机 中的 配置发现服务。
3.6.1.1. 在 Satellite 服务器上升级发现
更新 Satellite Web UI 中的 Discovery 模板:
- 在 Satellite Web UI 中,导航到 Hosts > Provisioning templates。
-
在
PXELinux 全局默认
行中,单击 Clone。 -
在 Name 字段中输入模板的新名称,如
ACME PXE 全局默认值
。 -
在模板编辑器字段中,将
ONTIMEOUT local
行改为ONTIMEOUT 发现
,然后单击 Submit。 - 在 Satellite Web UI 中,导航到 Administer > Settings。
-
在 Provisioning 选项卡上,将
Default PXE 全局模板条目
设置为您的环境的自定义值。 -
找到
Global default PXELinux 模板
,再单击其 Value。 - 从菜单中选择新创建的模板的名称,然后单击 Submit。
- 在 Satellite Web UI 中,导航到 Hosts > Provisioning templates。
- 单击 Build PXE Default,然后单击 OK。
注意如果修改了模板,Satellite 升级会将它覆盖至其默认版本。在 PXE 默认配置构建后,在设置中配置的模板将部署到 TFTP 中。如果在 Settings 中正确设置了新模板,这可能会导致部署默认模板。
- 在 Satellite Web UI 中,进入 Configure > Discovery Rules,并将所选机构和位置与发现规则关联。
3.6.2. 在 Capsule 服务器上升级发现
验证 Foreman Discovery 软件包是否在 Satellite 服务器上。
# satellite-maintain packages install tfm-rubygem-foreman_discovery
如果上一步中的更新发生,请重新启动
satellite-maintain
服务。# satellite-maintain service restart
升级 Satellite Capsule 上的 Discovery 镜像,该镜像使用发现的主机连接到 provisioning 网络,或为发现的主机提供 TFTP 服务。
# satellite-maintain packages install foreman-discovery-image
在同一实例上,安装提供 Proxy 服务的软件包,然后重新启动
foreman-proxy
服务。# satellite-maintain packages install tfm-rubygem-smart_proxy_discovery # service foreman-proxy restart
- 在 Satellite Web UI 中,进入 Infrastructure > Capsules,并验证相关的 Capsule 在 features 列中列出了 Discovery。如果需要,从 Actions 下拉菜单中选择 Refresh。
进入 Infrastructure > Subnets,并为您要使用发现的每个子网:
- 点子网名称。
- 在 Capsules 选项卡上,确保将 Discovery Capsule 设置为上面配置的 Capsule。
3.6.2.1. 验证子网具有模板 Capsule
如果在您的环境中启用了 Templates 功能,请确保所有带有发现的主机的子网都有一个模板 Capsule:
- 在 Satellite Web UI 中,导航到 Infrastructure > Subnets。
- 选择您要检查的子网。
- 在 Capsules 选项卡上,确保已为这个子网设置了 Template Capsule。
有关使用模板 Capsule 配置子网的更多信息,请参阅置备 指南中的 配置发现服务。
3.6.3. 升级 virt-who
如果在 Satellite 服务器或 Capsule 服务器中安装了 virt-who,则升级时会升级它们。不需要进一步操作。如果在其他位置安装了 virt-who,则必须手动升级它。
开始前
如果在注册到 Satellite 服务器或 Capsule 服务器的主机上安装 virt-who,首先将主机升级到 Satellite 客户端 6 存储库中的最新软件包。有关升级主机的详情,请参考 第 3.4 节 “升级内容主机”。
手动升级 virt-who
升级 virt-who。
# yum upgrade virt-who
重启 virt-who 服务,以便激活新版本。
# systemctl restart virt-who.service
3.6.4. 删除 Satellite 工具软件仓库的先前版本
完成升级到 Satellite 6.11 后,可以从内容视图中删除 Red Hat Satellite Tools 6.10 存储库,然后禁用。
禁用 Satellite 工具存储库的版本 6.10:
- 在 Satellite Web UI 中,导航到 Content > Red Hat Repositories。
- 在 Enabled Repositories 区域,找到 Red Hat Satellite Tools 6.10 for RHEL 7 Server RPMs x86_64。
- 点右侧的 Disable 图标。
如果存储库仍然包含在内容视图中,则无法禁用它。禁用的存储库中的软件包由调度的任务自动删除。
3.6.5. 迁移 Ansible 内容
从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8 包括从 Ansible Engine 2.9 升级到 Ansible Core 2.12。
如果您有自定义 Ansible 内容,如 playbook、REX 中的作业模板、角色和集合,并且您依赖 Satellite 上 Ansible RPM 提供的模块,则需要执行额外的步骤来调整 Ansible 内容或迁移 Ansible 内容。
Ansible Core 仅包含基本的模块。就 FQCN 表示法 namespace.collection.module
而言,您可以继续使用 ansible.builtin
the,但 Ansible Core 缺少所有其他内容。这意味着,您将不再使用非内置 Ansible 模块,因为您使用的 Ansible 模块也必须从另一个源(最终)获取它们。
升级后,您可以有以下选项来处理 Ansible 内容:
您可以获取提供 Ansible Galaxy 中非必要功能的其他社区维护集合。如需更多信息,请参阅 Galaxy 用户指南 中的 安装集合。
请注意,红帽不提供对这个内容的支持。
-
如果您有 Red Hat Automation Hub 订阅,您可以将
ansible-galaxy
配置为与 Automation Hub 服务器进行通信并从那里下载内容。红帽支持该内容。有关为ansible-galaxy
配置 Automation Hub 连接的更多信息,请参阅 将 Red Hat Automation hub 配置为内容的主源。 - 您可以重写 Ansible 角色、模板和其他受影响的内容。请注意,红帽不提供自己维护的内容的支持。
如果要在没有连接到外部 Ansible Galaxy 服务器的 Capsule 上下载并安装 Ansible 内容,则必须通过 Satellite 服务器传递内容,而不是直接在胶囊上配置中使用 Ansible Galaxy 服务器的 URL:
- 将 Ansible Galaxy 服务器的内容同步到 Satellite 服务器上的自定义存储库。
- 在您的 Capsule 上配置 Ansible,以从 Satellite 服务器下载内容。
3.6.6. 重新声明 PostgreSQL 空间
PostgreSQL 数据库可以使用大量磁盘空间,特别是在大量负载的部署中。使用这个流程在 Satellite 上回收此磁盘空间。
流程
停止除
postgresql
服务外的所有服务:# satellite-maintain service stop --exclude postgresql
切换到
postgres
用户并回收数据库中的空间:# su - postgres -c 'vacuumdb --full --all'
vacuum 完成后启动其他服务:
# satellite-maintain service start
3.6.7. 更新模板、参数、查找键和值
在升级过程中,Satellite 会尝试查找为 Satellite 6.11 弃用的宏,并将旧语法转换为默认 Satellite 模板、参数和查找键和值的新语法。但是,Satellite 不会转换克隆模板和您创建的自定义作业或置备模板中的旧语法。
这个过程使用简单的文本替换,例如:
@host.params['parameter1'] -> host_param('parameter1') @host.param_true?('parameter1') -> host_param_true?('parameter1') @host.param_false?('parameter1') -> host_param_false?('parameter1') @host.info['parameters'] -> host_enc['parameters']
如果您在 Satellite 中使用克隆的模板,请验证克隆的模板是否已与 Satellite 中原始模板的最新版本分离。同一模板的语法可能会在 Satellite 版本之间有所不同。如果克隆的模板包含过时的语法,请更新语法以匹配模板的最新版本。
要确保此文本替换在升级过程中不会中断或省略文件中任何变量,请检查旧语法的所有模板、参数和查找键和值,并手动替换。
发生以下错误的原因是升级后,文件中保留了旧的语法:
undefined method '#params' for Host::Managed::Jail
修复过时的 subscription_manager_registration 片断
Satellite 6.4 使用 redhat_register
片断,而不是 subscription_manager_registration
代码片段。
如果您从 Satellite 6.3 及更早版本升级,您必须替换自定义作业中的 subscription_manager_registration
代码片段或置备模板,如下所示:
<%= snippet "subscription_manager_registration" %> ↓ <%= snippet 'redhat_register' %>
3.6.8. 使用预定义的配置集调整 Satellite 服务器
如果您的 Satellite 部署包含超过 5000 个主机,您可以使用预定义的调优配置文件来提高 Satellite 的性能。
请注意,您不能在 Capsule 上使用调优配置文件。
您可以根据 Satellite 管理的主机数量以及可用的硬件资源,选择其中一个配置文件。
调优的配置文件位于 /usr/share/foreman-installer/config/foreman.hiera/tuning/sizes
目录中。
当您使用 --tuning
选项运行 satellite-installer
命令时,部署配置设置会按以下顺序应用到 Satellite:
-
/usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml
文件中定义的默认性能优化配置集 -
要应用到部署的调优配置集,并在
/usr/share/foreman-installer/config/foreman.hiera/tuning/sizes/
目录中定义 -
可选:如果您配置了
/etc/foreman-installer/custom-hiera.yaml
文件,Satellite 会应用这些配置设置。
请注意,/etc/foreman-installer/custom-hiera.yaml
文件中定义的配置设置会覆盖 tuned 配置集中定义的配置设置。
因此,在应用 tuned 配置集前,您必须比较 /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml
文件中的 default 调整配置集和 /etc/foreman-installer/custom-hiera.yaml
文件中定义的配置设置,并从 /etc/foreman-installer/custom-hiera.yaml
文件中删除任何重复的配置。
- default
受管主机数量:0 – 5000
RAM: 20G
CPU 内核数: 4
- 中
受管主机数量:5001 – 10000
RAM: 32G
CPU 内核数: 8
- Large
受管主机数量:10001 – 20000
RAM: 64G
CPU 内核数:16
- extra-large
受管主机数量:20001 – 60000
RAM:128G
CPU 内核数: 32
- extra-extra-large
受管主机数量:60000+
RAM: 256G
CPU 内核数: 48+
流程
可选:如果您在 Satellite 服务器上配置了
custom-hiera.yaml
文件,请将/etc/foreman-installer/custom-hiera.yaml
文件备份到custom-hiera.original
。如果/etc/foreman-installer/custom-hiera.yaml
文件损坏,则可以使用备份文件将其恢复到其原始状态:# cp /etc/foreman-installer/custom-hiera.yaml \ /etc/foreman-installer/custom-hiera.original
-
可选:如果您在 Satellite 服务器上配置了
custom-hiera.yaml
文件,请查看/usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml
和您要应用到 /usr/share/foreman-installer/config/foreman.hiera/config/foreman.hiera/config/foreman.hiera/config/foreman.hiera/config/foreman.hiera/config/foreman.hiera/tuning/common.yaml 的调优配置集
。将配置条目与/etc/foreman-installer/custom-hiera.yaml
文件中的条目进行比较,并删除/etc/foreman-installer/custom-hiera.yaml
文件中的任何重复的配置设置。 输入
satellite-installer
命令,其中包含您要应用的配置集的--tuning
选项。例如,要应用中型性能优化配置集设置,请输入以下命令:# satellite-installer --tuning medium