8.11. 导出存储库

您可以从卫星服务器在组织的 Library 环境中导出存储库的内容。您可以使用此存档文件在另一个卫星服务器或另一个卫星服务器组织中创建相同的存储库。

您可以从 Satellite 服务器导出以下内容:

  • RPM 软件仓库
  • Kickstart 软件仓库
  • Ansible 软件仓库
  • 文件软件仓库

您无法从卫星服务器导出 Docker 内容。

导出包含以下数据:

  • 包含存储库元数据的两个 JSON 文件。
  • 一个或多个存档文件,其中包含来自机构的库环境的存储库的内容。

您需要所有文件 tar.gztoc.jsonmetadata.json 才能导入。

先决条件

要导出存储库的内容,请确保要从中导出卫星服务器,满足以下条件:

  • 确保导出目录有足够的可用空间来容纳导出。
  • 确保 /var/lib/pulp/exports 目录有足够的空闲存储空间,相当于为导出过程中创建的临时文件大小导出。
  • 确保将下载策略设置为 Immediate,用于您导出的 Library 生命周期环境中的库。更多信息请参阅 第 5.8 节 “下载策略概述”
  • 确保您同步您导出到所需日期的产品。

导出存储库

  1. 使用存储库名称或 ID 导出。

    # hammer content-export complete repository \
     --organization="My_Organization" \
     --product="My_Product" \
     --name="My_Repository"
  2. 可选:验证导出的存档是否在导出目录中:

    # ls -lh /var/lib/pulp/exports/My_Organization/Export-My_Repository/1.0/2021-03-02T03-35-24-00-00
    total 68M
    -rw-r--r--. 1 pulp pulp 68M Mar  2 03:35 export-1e25417c-6d09-49d4-b9a5-23df4db3d52a-20210302_0335.tar.gz
    -rw-r--r--. 1 pulp pulp 333 Mar  2 03:35 export-1e25417c-6d09-49d4-b9a5-23df4db3d52a-20210302_0335-toc.json
    -rw-r--r--. 1 root root 443 Mar  2 03:35 metadata.json

使用 Chunking 导出存储库

在很多情况下,导出的内容存档可能为几 GB 大小。如果要将其分成较小的大小,您可以在 export 命令中使用 --chunk-size-gb 参数,并以 GB 为单位的整数值限制大小。

  1. 将内容导出到一个有限大小的归档块中,如 2 GB:

    # hammer content-export complete repository \
    --chunk-size-gb=2 \
    --organization="My_Organization" \
    --product="My_Product" \
    --name="My_Repository"
    
    Generated /var/lib/pulp/exports/My_Organization/Export-My_Repository/1.0/2021-03-02T03-35-24-00-00/metadata.json
  2. 可选:查看导出的数据:

    # ls -lh /var/lib/pulp/exports/My_Organization/Export-My_Repository/1.0/2021-03-02T03-35-24-00-00/