第 3 章 更新断开连接的 Satellite 服务器


更新您的 air-gapped Satellite 设置,其中连接的 Satellite 服务器从 CDN 同步内容,将从断开连接的 Satellite 服务器到下一个补丁版本。您可以按照此流程更新次版本之间的底层操作系统。

先决条件

  • 备份 Satellite 服务器。如需更多信息,请参阅 管理 Red Hat Satellite 中的 备份 Satellite 服务器和 Capsule 服务器
  • 安装更新过程所需的 reposync

    # dnf install 'dnf-command(reposync)'

3.1. 在 Red Hat Enterprise Linux 8 中更新断开连接的 Satellite 服务器

您可以通过同步连接的 Satellite 上的所需存储库来更新 Red Hat Enterprise Linux 8 上的断开连接的 Satellite,并使用 reposync 将内容同步到断开连接的 Satellite 中。

在连接的 Satellite 服务器上的步骤

  1. 确保您已在连接的 Satellite 服务器中同步了以下软件仓库:

    • rhel-8-for-x86_64-baseos-rpms
    • rhel-8-for-x86_64-appstream-rpms
    • satellite-6.16-for-rhel-8-x86_64-rpms
    • satellite-maintenance-6.16-for-rhel-8-x86_64-rpms
  2. 下载组织的调试证书,并将其存储在 /etc/pki/katello/certs/org-debug-cert.pem 或您选择的位置。如需更多信息,请参阅管理 Red Hat Satellite 中的 创建机构调试证书
  3. /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.16-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite 6.16 for RHEL 8 RPMs x86_64
    baseurl=https://satellite.example.com/pulp/content/My_Organization/Library/content/dist/layered/rhel8/x86_64/satellite/6.16/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-maintenance-6.16-for-rhel-8-x86_64-rpms]
    name=Red Hat Satellite Maintenance 6.16 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.16/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
  4. 在配置文件中完成以下步骤:

    • 对于 sslclientcertsslclientkey 选项,将 /etc/pki/katello/certs/org-debug-cert.pem 替换为下载的机构调试证书的位置。
    • 对于 baseurl 选项,将 satellite.example.com 替换为您连接的 Satellite 服务器的正确 FQDN。
    • 对于 baseurl 选项,将 My_Organization 替换为您的机构标签。
  5. 获取机构标签:

    # hammer organization list
  6. 输入 reposync 命令:

    # dnf reposync \
    --delete \
    --disableplugin=foreman-protector \
    --download-metadata \
    --repoid rhel-8-for-x86_64-appstream-rpms \
    --repoid rhel-8-for-x86_64-baseos-rpms \
    --repoid satellite-maintenance-6.16-for-rhel-8-x86_64-rpms \
    --repoid satellite-6.16-for-rhel-8-x86_64-rpms \
    -n \
    -p ~/Satellite-repos

    这会从连接的 Satellite 服务器下载存储库的内容,并将其存储在 ~/Satellite-repos 目录中。

  7. 验证 RPM 是否已下载,并且 ~/Satellite-repos 的每个子目录中都会生成存储库数据目录。
  8. 归档目录的内容:

    # tar czf Satellite-repos.tgz -C ~ Satellite-repos
  9. 使用生成的 Satellite-repos.tgz 文件在断开连接的 Satellite 服务器中更新。

断开连接的 Satellite 服务器上的步骤

  1. 将生成的 Satellite-repos.tgz 文件复制到您的断开连接的 Satellite 服务器中。
  2. 将存档 提取到 root 用户可以访问的任何地方。在以下示例中,/root 是提取位置。

    # tar zxf Satellite-repos.tgz -C /root
  3. 使用以下存储库信息在 /etc/yum.repos.d 下创建一个 Yum 配置文件:

    [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.16-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.16-for-rhel-8-x86_64-rpms
    enabled = 1
    
    [satellite-maintenance-6.16-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.16-for-rhel-8-x86_64-rpms
    enabled = 1
  4. 在配置文件中,将 /root/Satellite-repos 替换为提取的位置。
  5. 使用健康检查选项来确定系统是否准备好更新。在第一次使用此命令时,satellite-maintain 会提示您输入 hammer admin 用户凭证,并将它们保存在 /etc/foreman-maintain/foreman-maintain-hammer.yml 文件中。

    # satellite-maintain update check \
    --whitelist="check-upstream-repository,repositories-validate"
  6. 检查结果,并在执行更新前解决所有突出显示的错误条件。
  7. 由于更新时间过长,使用 tmux 等实用程序来暂停和重新连接通信会话。然后,您可以在不持续连接到命令 shell 的情况下检查更新进度。

    如果您丢失了运行 update 命令的命令 shell,您可以在 /var/log/foreman-installer/satellite.log 文件中看到记录的消息,以检查进程是否已成功完成。

  8. 执行更新:

    # satellite-maintain update run \
    --whitelist="check-upstream-repository,repositories-setup,repositories-validate"
  9. 确定系统是否需要重启:

    # dnf needs-restarting --reboothint
  10. 如果上一个命令告诉您重启,请重启系统:

    # reboot

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.