6.2. 更新断开连接的 Satellite 服务器
这部分论述了在 Air-gapped Disconnected 设置中更新所需的步骤,其中连接的 Satellite 服务器(从 CDN 同步内容)与断开连接的 Satellite 服务器相差。
在 Red Hat Enterprise Linux 8 连接的 Satellite 服务器中完成以下步骤。
确保您已在连接的 Satellite 服务器中同步了以下软件仓库:
rhel-8-for-x86_64-baseos-rpms rhel-8-for-x86_64-appstream-rpms satellite-6.11-for-rhel-8-x86_64-rpms satellite-maintenance-6.11-for-rhel-8-x86_64-rpms-
下载组织的 debug 证书并将其存储在本地,例如
/etc/pki/katello/certs/org-debug-cert.pem或您选择的位置。如需更多信息,请参阅管理内容中的创建机构调试证书。 在
/etc/yum.repos.d下创建一个 Yum 配置文件,如satellite-disconnected.repo,其内容如下:[rhel-8-for-x86_64-baseos-rpms] name=Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel8/8/x86_64/baseos/os enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1 [rhel-8-for-x86_64-appstream-rpms] name=Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel8/8/x86_64/appstream/os enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1 [satellite-6.11-for-rhel-8-x86_64-rpms] name=Red Hat Satellite 6.11 for RHEL 8 RPMs x86_64 baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/layered/rhel8/x86_64/satellite/6.11/os enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt [satellite-maintenance-6.11-for-rhel-8-x86_64-rpms] name=Red Hat Satellite Maintenance 6.11 for RHEL 8 RPMs x86_64 baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/layered/rhel8/x86_64/sat-maintenance/6.11/os enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1-
在配置文件中,使用下载的机构调试证书的位置替换
sslclientcert和sslclientkey中的/etc/pki/katello/certs/org-debug-cert.pem。 -
使用您的部署使用正确的 FQDN 更新
satellite.example.com。 将
My_Organization替换为baseurl中的正确的机构标签。要获取机构标签,请输入以下命令:# hammer organization list输入
reposync命令:在运行 Red Hat Enterprise Linux 7 的 Satellite 服务器中:
# reposync --delete --download-metadata -p ~/Satellite-repos -n \ -r rhel-8-for-x86_64-baseos-rpms \ -r rhel-8-for-x86_64-appstream-rpms \ -r satellite-6.11-for-rhel-8-x86_64-rpms \ -r satellite-maintenance-6.11-for-rhel-8-x86_64-rpms在运行 Red Hat Enterprise Linux 8 的 Satellite 服务器中:
# reposync --delete --download-metadata -p ~/Satellite-repos -n \ --repoid rhel-8-for-x86_64-baseos-rpms \ --repoid rhel-8-for-x86_64-appstream-rpms \ --repoid satellite-6.11-for-rhel-8-x86_64-rpms \ --repoid {RepoRHEL8ServerSatelliteMaintenanceProductVersion
这会从连接的 Satellite 服务器下载存储库的内容,并将其存储在
~/Satellite-repos目录中。-
验证 RPM 是否已下载,且存储库数据目录是否在
~/Satellite-repos的每个子目录中生成。 归档目录的内容
# cd ~ # tar czf Satellite-repos.tgz Satellite-repos-
使用生成的
Satellite-repos.tgz文件,在断开连接的 Satellite 服务器中升级。
在断开连接的 Satellite 服务器中执行以下步骤:
-
将生成的
Satellite-repos.tgz文件复制到断开连接的 Satellite 服务器中 将存档提取到
root用户访问的任何位置。在以下示例中,/root是提取位置。# cd /root # tar zxf Satellite-repos.tgz在
/etc/yum.repos.d下创建一个 Yum 配置文件,如satellite-disconnected.repo,其内容如下:[rhel-8-for-x86_64-baseos-rpms] name=Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) baseurl=file:///root/Satellite-repos/rhel-8-for-x86_64-baseos-rpms enabled=1 [rhel-8-for-x86_64-appstream-rpms] name=Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) baseurl=file:///root/Satellite-repos/rhel-8-for-x86_64-appstream-rpms enabled=1 [satellite-6.11-for-rhel-8-x86_64-rpms] name=Red Hat Satellite 6 for RHEL 8 Server RPMs x86_64 baseurl=file:///root/Satellite-repos/satellite-6.11-for-rhel-8-x86_64-rpms enabled=1 [satellite-maintenance-6.11-for-rhel-8-x86_64-rpms] name=Red Hat Satellite Maintenance 6 for RHEL 8 Server RPMs x86_64 baseurl=file:///root/Satellite-repos/satellite-maintenance-6.11-for-rhel-8-x86_64-rpms enabled=1-
在配置文件中,将
/root/Satellite-repos替换为提取的位置。 检查可用版本以确认列出了下一个次版本:
# satellite-maintain upgrade list-versions使用健康检查选项来确定系统是否准备好升级。在首次使用此命令时,
satellite-maintain会提示您输入 hammer admin 用户凭证,并将它们保存到/etc/foreman-maintain/foreman-maintain-hammer.yml文件中。# satellite-maintain upgrade check --whitelist="check-upstream-repository,repositories-validate" --target-version 6.11.z- 在执行升级前,查看结果并解决任何突出显示的错误条件。
由于更新时间较长,请使用
tmux等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。如果您丢失了运行 upgrade 命令的命令 shell 的连接,您可以在
/var/log/foreman-installer/satellite.log文件中看到日志信息来检查进程是否已成功完成。执行升级:
# satellite-maintain upgrade run --whitelist="check-upstream-repository,repositories-validate" --target-version 6.11.z检查内核软件包最后一次更新的时间:
# rpm -qa --last | grep kernel可选:如果内核更新自上次重启后发生,请停止 Satellite 服务并重启系统:
# satellite-maintain service stop # reboot
在 Red Hat Enterprise Linux 7 连接的 Satellite 服务器中完成以下步骤。
确保您已在连接的 Satellite 服务器中同步了以下软件仓库:
rhel-7-server-ansible-2.9-rpms rhel-7-server-rpms rhel-7-server-satellite-6.11-rpms rhel-7-server-satellite-maintenance-6.11-rpms rhel-server-rhscl-7-rpms-
下载组织的 debug 证书并将其存储在本地,例如
/etc/pki/katello/certs/org-debug-cert.pem或您选择的位置。 使用以下存储库信息,在
/etc/yum.repos.d下创建一个 Yum 配置文件:[rhel-7-server-ansible-2.9-rpms] name=Ansible 2.9 RPMs for Red Hat Enterprise Linux 7 Server x86_64 baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/$releasever/$basearch/ansible/2.9/os/ enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1 [rhel-7-server-rpms] name=Red Hat Enterprise Linux 7 Server RPMs x86_64 baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/os/ enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1 [rhel-7-server-satellite-6.11-rpms] name=Red Hat Satellite 6 for RHEL 7 Server RPMs x86_64 baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/satellite/6.11/os/ enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt [rhel-7-server-satellite-maintenance-6.11-rpms] name=Red Hat Satellite Maintenance 6 for RHEL 7 Server RPMs x86_64 baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/sat-maintenance/6/os/ enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1 [rhel-server-rhscl-7-rpms] name=Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server x86_64 baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/rhscl/1/os/ enabled=1 sslclientcert = /etc/pki/katello/certs/org-debug-cert.pem sslclientkey = /etc/pki/katello/certs/org-debug-cert.pem sslcacert = /etc/pki/katello/certs/katello-server-ca.crt sslverify = 1-
在配置文件中,使用下载的机构调试证书的位置替换
sslclientcert和sslclientkey中的/etc/pki/katello/certs/org-debug-cert.pem。 -
为您的部署使用正确的 FQDN 更新
satellite.example.com。 将
My_Organization替换为baseurl中的正确的机构标签。要获取机构标签,请输入以下命令:# hammer organization list输入
reposync命令:# reposync --delete --download-metadata -p ~/Satellite-repos -n \ -r rhel-7-server-ansible-2.9-rpms \ -r rhel-7-server-rpms \ -r rhel-7-server-satellite-6.11-rpms \ -r rhel-7-server-satellite-maintenance-6.11-rpms \ -r rhel-server-rhscl-7-rpms这会从连接的 Satellite 服务器下载存储库的内容,并将其存储在
~/Satellite-repos目录中。Red Hat Enterprise Linux 7 中的reposync命令下载 RPM,但不下载 Yum 元数据。因此,您需要在
Satellite-repos的每个子目录中手工运行createrepo。确保安装了createreporpm。如果没有使用以下命令安装它。# satellite-maintain packages install createrepo运行以下命令,在
~/Satellite-repos的每个子目录中创建 repodata。# cd ~/Satellite-repos # for directory in */ do echo "Processing $directory" cd $directory createrepo . cd .. done-
验证 RPM 是否已下载,且存储库数据目录是否在
~/Satellite-repos的每个子目录中生成。 归档目录的内容
# cd ~ # tar czf Satellite-repos.tgz Satellite-repos-
使用生成的
Satellite-repos.tgz文件,在断开连接的 Satellite 服务器中升级。
在断开连接的 Satellite 服务器上执行以下步骤
-
将生成的
Satellite-repos.tgz文件复制到断开连接的 Satellite 服务器中 将存档提取到
root用户访问的任何位置。在以下示例中,/root是提取位置。# cd /root # tar zxf Satellite-repos.tgz使用以下存储库信息,在
/etc/yum.repos.d下创建一个 Yum 配置文件:[rhel-7-server-ansible-2.9-rpms] name=Ansible 2.9 RPMs for Red Hat Enterprise Linux 7 Server x86_64 baseurl=file:///root/Satellite-repos/rhel-7-server-ansible-2.9-rpms enabled=1 [rhel-7-server-rpms] name=Red Hat Enterprise Linux 7 Server RPMs x86_64 baseurl=file:///root/Satellite-repos/rhel-7-server-rpms enabled=1 [rhel-7-server-satellite-6.11-rpms] name=Red Hat Satellite 6 for RHEL 7 Server RPMs x86_64 baseurl=file:///root/Satellite-repos/rhel-7-server-satellite-6.11-rpms enabled=1 [rhel-7-server-satellite-maintenance-6.11-rpms] name=Red Hat Satellite Maintenance 6 for RHEL 7 Server RPMs x86_64 baseurl=file:///root/Satellite-repos/rhel-7-server-satellite-maintenance-6.11-rpms enabled=1 [rhel-server-rhscl-7-rpms] name=Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server x86_64 baseurl=file:///root/Satellite-repos/rhel-server-rhscl-7-rpms enabled=1-
在配置文件中,将
/root/Satellite-repos替换为提取的位置。 检查可用版本以确认列出了下一个次版本:
# satellite-maintain upgrade list-versions使用健康检查选项来确定系统是否准备好升级。在首次使用此命令时,
satellite-maintain会提示您输入 hammer admin 用户凭证,并将它们保存到/etc/foreman-maintain/foreman-maintain-hammer.yml文件中。# satellite-maintain upgrade check --whitelist="check-upstream-repository,repositories-validate" --target-version 6.11.z- 在执行升级前,查看结果并解决任何突出显示的错误条件。
由于更新时间较长,请使用
tmux等工具挂起和重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。如果您丢失了运行 upgrade 命令的命令 shell 的连接,您可以在
/var/log/foreman-installer/satellite.log文件中看到日志信息来检查进程是否已成功完成。执行升级:
# satellite-maintain upgrade run --whitelist="check-upstream-repository,repositories-setup,repositories-validate" --target-version 6.11.z检查内核软件包最后一次更新的时间:
# rpm -qa --last | grep kernel可选:如果内核更新自上次重启后发生,请停止 Satellite 服务并重启系统:
# satellite-maintain service stop # reboot