搜索

5.2. 更新断开连接的 Satellite 服务器

download PDF

本节介绍了在 Air-gapped Disconnected setup 中更新所需的步骤,其中连接的卫星服务器(从 CDN 同步内容)与断开连接的 Satellite 服务器没有差距。

在连接的卫星服务器上完成以下步骤。

  1. 确保您已在连接的卫星服务器中同步以下存储库。

    rhel-7-server-ansible-2.9-rpms
    rhel-7-server-rpms
    rhel-7-server-satellite-6.10-rpms
    rhel-7-server-satellite-maintenance-6-rpms
    rhel-server-rhscl-7-rpms
  2. 下载机构的调试证书并将其保存到本地,例如 /etc/pki/katello/certs/org-debug-cert.pem 或您选择的位置。
  3. 使用以下存储库信息在 /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.10-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.10/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-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
  4. 在配置文件中,将 sslclientcert 中的 /etc/pki/katello/certs/org-debug-cert.pem 替换为下载的机构调试证书的位置。
  5. 为您的部署更新 satellite.example.com 正确的 FQDN。
  6. My_Organization 替换为 baseurl 中的正确组织标签。要获取机构标签,请输入以下命令:

    # hammer organization list
  7. 输入 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.10-rpms \
     -r rhel-7-server-satellite-maintenance-6-rpms \
     -r rhel-server-rhscl-7-rpms

    这会将存储库的内容从连接的卫星服务器下载,并将它们存储在 ~/Satellite-repos 目录中。Red Hat Enterprise Linux 7 中的 reposync 命令下载 RPM,而不是 Yum 元数据。

    因此,您必须在 Satellite-repos 的每个子目录中手动运行 createrepo。请确定您安装了 createrepo rpm。如果没有使用以下命令进行安装:

    # satellite-maintain packages install createrepo

    运行以下命令,以在 ~/Satellite-repos 的每个子目录中创建 repodata。

    # cd ~/Satellite-repos
    # for directory in */
    do
      echo "Processing $directory"
      cd $directory
      createrepo .
      cd ..
    done
  8. 验证 RPM 已经下载,并且位于 ~/Satellite-repos 的各个子目录中是否生成了存储库数据目录。
  9. 归档目录的内容

    # cd ~
    # tar czf Satellite-repos.tgz Satellite-repos
  10. 使用生成的 Satellite-repos.tgz 文件在非联网卫星服务器中升级。

在非联网卫星服务器上执行以下步骤

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

    # cd /root
    # tar zxf Satellite-repos.tgz
  3. 使用以下存储库信息在 /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.10-rpms]
    name=Red Hat Satellite 6 for RHEL 7 Server RPMs x86_64
    baseurl=file:///root/Satellite-repos/rhel-7-server-satellite-6.10-rpms
    enabled=1
    
    [rhel-7-server-satellite-maintenance-6-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-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
  4. 在配置文件中,将 /root/Satellite-repos 替换为提取的位置。
  5. 检查可用的版本以确认列出了下一个次版本:

    # satellite-maintain upgrade list-versions
  6. 使用健康检查选项来确定系统是否已准备好升级。首次使用这个命令时,satellite-maintain 会提示您输入 hammer admin 用户凭证,并将其保存在 /etc/foreman-maintain/foreman-maintain-hammer.yml 文件中。

    # satellite-maintain upgrade check --whitelist="check-upstream-repository,repositories-validate" --target-version 6.10.z
  7. 在执行升级前,查看结果并解决所有突出显示的错误条件。
  8. 由于更新时间较长,请使用 屏幕 等实用程序暂停并重新附加通信会话。然后,您可以检查升级进度,而无需持续连接到命令 shell。有关使用 screen 命令的更多信息,请参阅 Red Hat 知识库 中的 如何使用 screen 命令?

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

  9. 执行升级:

    # satellite-maintain upgrade run --whitelist="check-upstream-repository,repositories-validate" --target-version 6.10.z
  10. 检查内核软件包是否最后一次更新:

    # rpm -qa --last | grep kernel
  11. 可选: 如果自上次重启以来发生内核更新,停止 satellite-maintain 服务并重启系统:

    # satellite-maintain service stop
    # reboot
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.