9.5. 导出内容视图版本

您可以将内容视图的版本导出到 Satellite 服务器的存档文件中,并使用此存档文件在另一个 Satellite 服务器上或另一个 Satellite 服务器组织上创建相同的内容视图版本。Satellite 将复合内容视图导出为普通内容视图。复合性质不会被保留。在导入导出的存档时,会在下游 Satellite 服务器上创建或更新常规内容视图。导出的存档文件包含以下数据:

  • 包含内容视图版本元数据的 JSON 文件
  • 包含内容视图版本中包含的所有存储库的存档文件

Satellite 服务器只导出添加到内容视图版本的 RPM 和 kickstart 文件。Satellite 不导出以下内容:

  • Docker 内容
  • 内容视图定义和元数据,如软件包过滤器。

先决条件

要导出内容视图,请确保要导出的 Satellite 服务器满足以下条件:

  • 确保导出目录有可用的存储空间来容纳导出。
  • 确保 /var/lib/pulp/exports 目录具有与为导出过程中创建的临时文件导出的存储库大小相同的空闲空间。
  • 确保为您导出的内容视图中的所有存储库将下载策略设置为 Immediate。更多信息请参阅 第 6.7 节 “下载策略概述”
  • 确保您同步了导出至所需日期的产品。
  • 确保导出内容的用户具有 Content Exporter 角色。

导出内容视图版本

  1. 列出可用于导出的内容视图的版本:

    # hammer content-view version list \
    --content-view="My_Content_View" \
    --organization="My_Organization"
    
    ---|----------|---------|-------------|-----------------------
    ID | NAME     | VERSION | DESCRIPTION | LIFECYCLE ENVIRONMENTS
    ---|----------|---------|-------------|-----------------------
    5  | view 3.0 | 3.0     |             | Library
    4  | view 2.0 | 2.0     |             |
    3  | view 1.0 | 1.0     |             |
    ---|----------|---------|-------------|----------------------

导出内容视图版本

  1. 获取所需版本的版本号。以下示例目标版本 1.0 用于导出。

    # hammer content-export complete version \
    --content-view="Content_View_Name" \
    --version=1.0 \
    --organization="My_Organization"
  2. 验证包含内容视图导出的版本的存档是否位于导出目录中:

    # ls -lh /var/lib/pulp/exports/My_Organization/Content_View_Name/1.0/2021-02-25T18-59-26-00-00/

您需要所有三个文件,如 tar.gz 归档文件,即 toc.jsonmetadata.json,才能成功导入内容。

使用块导出

在很多情况下,导出的存档内容的大小可以是几个 GB。您可能想要分割较小的大小或块。您可以在 hammer content-export 命令中使用 --chunk-size-gb 选项来处理此功能。以下示例使用 --chunk-size-gb=2 将存档分成 2 GB 块。

# hammer content-export complete version \
--chunk-size-gb=2 \
--content-view="Content_View_Name" \
--organization="My_Organization" \
--version=1.0
# ls -lh /var/lib/pulp/exports/My_Organization/view/1.0/2021-02-25T21-15-22-00-00/