3.3. 升级胶囊服务器
本节论述了如何将胶囊服务器从 6.9 升级到 6.10。
开始前
- 您必须升级 Satellite 服务器,然后才能升级任何胶囊服务器。请注意,您可以独立于 Satellite 升级胶囊。更多信息请参阅 第 1.4 节 “从 Satellite 升级胶囊”。
- 确定在 Satellite 服务器中启用 Red Hat Satellite Capsule 6.10 软件仓库并同步。
- 确保您在卫星服务器上同步所需的存储库。更多信息请参阅 第 3.2 节 “同步新存储库”。
- 如果使用 Content Views 来控制对胶囊服务器的基础操作系统的更新,请使用新的存储库更新这些内容视图,并发布其更新的版本。如需更多信息,请参阅 内容 管理指南中的管理内容视图。
- 确保 Capsule 的基本系统已注册到新升级的卫星服务器。
- 确保胶囊在新升级的卫星服务器中具有正确的组织和位置设置。
- 在升级您的胶囊服务器前,检查和更新您的防火墙配置。如需更多信息,请参阅安装 胶囊服务器中的为胶囊安装准备 您的环境。
-
确保创建
/etc/puppetlabs/code/environments
文件的备份。
如果实施自定义证书,您必须保留 /root/ssl-build
目录的内容,以及您在其中创建与自定义证书关联的所有源文件的内容。
在升级过程中无法保留这些文件会导致升级失败。如果删除了这些文件,则必须从备份中恢复这些文件,以便进行升级。
升级胶囊服务器
创建备份。
- 在虚拟机上执行快照。
在物理机器上创建备份。
有关备份的详情,请参考 管理 Red Hat Satellite 6.9 指南中的备份 Satellite 服务器和胶囊服务器。
清理 yum 缓存:
# yum clean metadata
确定安装了提供
satellite-maintain
的rubygem-foreman_maintain
软件包,并处于最新状态:# yum install rubygem-foreman_maintain
在 Capsule Server 上,验证
foreman_url
设置指向 Satellite FQDN:# grep foreman_url /etc/foreman-proxy/settings.yml
-
确保
apache::purge_configs: false
条目在 Satellite 6.9/Capsule 6.9 服务器中的/etc/foreman-installer/custom-hiera.yaml
文件中不存在或被注释掉。 检查可用版本以确认您要列出的版本:
# satellite-maintain upgrade list-versions
由于升级时间较长,请使用
屏幕
等实用程序暂停并重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。有关使用 screen 命令的更多信息,请参阅 Red Hat 知识库 中的 如何使用 screen 命令?如果您丢失了运行 upgrade 命令的命令 shell,您可以看到
/var/log/foreman-installer/satellite.log
文件中的日志信息,以检查进程是否已成功完成。使用健康检查选项来确定系统是否已准备好升级:
# satellite-maintain upgrade check --target-version 6.10
在执行升级前,查看结果并解决所有突出显示的错误条件。
执行升级:
# satellite-maintain upgrade run --target-version 6.10
警告如果您在包含配置子目录 的目录中 运行命令,您将遇到以下错误:
ERROR: Scenario (config/capsule.yaml) was not found, can not continue.
在这种情况下,请更改目录,例如更改为 root 用户的主目录,然后再次运行此命令。
如果您已经将内容从 Pulp 2 迁移到 Pulp 3,请删除所有 Pulp 2 内容。
# satellite-maintain content remove-pulp2
这将删除 Pulp 2 RPM、
/var/lib/pulp/content/
中的内容、mongo 数据库和 Pulp 3 数据库中迁移内容。通过此胶囊访问内容将失败,直到执行升级的胶囊的完整同步为止。
检查内核软件包是否最后一次更新:
# rpm -qa --last | grep kernel
可选: 如果自上次重启以来发生内核更新,请重启系统:
# reboot
- 可选:如果您手动编辑 DNS 或 DHCP 配置文件,请使用之前进行的备份检查并恢复对 DNS 和 DHCP 配置文件所需的任何更改。
- 可选:如果您使用自定义软件仓库,请确保在升级完成后启用这些自定义软件仓库。
在卫星服务器上,执行升级的胶囊的完整同步,因为 MongoDB 和 RPM 存储库不会自动使用 Satellite 迁移。
# hammer capsule content synchronize --name ${Capsule} --skip-metadata-check true --async
注意如果您在升级 Satellite 服务器前没有同步您的存储库,则运行这个命令会失败,将您的内容与胶囊服务器同步。在这种情况下,请按照 第 3.4 节 “通过卫星 Web UI 同步胶囊服务器” 来同步您的胶囊服务器。
在 Satellite Web UI 中使用远程执行升级胶囊服务器
创建备份。
- 在虚拟机上执行快照。
在物理机器上创建备份。
有关备份的详情,请参考 管理 Red Hat Satellite 6.9 指南中的备份 Satellite 服务器和胶囊服务器。
-
可选: 如果您在 /etc/
zones.conf 或
文件中手动编辑 DNS 或 DHCP 配置,备份配置文件,因为安装程序只支持一个域或子网,因此可能需要从这些备份中恢复更改。/etc
/dhcp/dhcpd.conf 可选:如果您手动编辑 DNS 或 DHCP 配置文件且不想覆盖更改,请输入以下命令:
# {foreman-installer} --foreman-proxy-dns-managed=false \ --foreman-proxy-dhcp-managed=false
- 在 Satellite Web UI 中,进入 Monitor > Jobs。
- 单击 Run Job。
- 从 Job category 列表中,选择 Maintenance Operations。
- 从 Job template 列表中,选择 Capsule Upgrade Playbook。
- 在 Search Query 字段中输入 Capsule 的主机名。
- 确保 解决以显示 1 个主机。
- 在 target_version 字段中,输入 Capsule 的目标版本。
- 在 whitelist_options 字段中,输入白名单选项。
- 对于 查询的类型,请点击 Static Query 或 Dynamic Query,具体取决于查询的类型。
- 在 Schedule 中,选择作业执行的调度。