4.4. 将现有镜像复制到多个存储中

通过此功能,您可以使用 Red Hat OpenStack Image 服务(glance)镜像数据将现有镜像复制到边缘的多个 Ceph Storage 存储中,方法是使用可组合的镜像导入工作流。

注意

镜像必须在中央站点上存在,然后才能将其复制到任何边缘站点。只有镜像所有者或管理员可以将现有镜像复制到新添加的存储中。

您可以通过将 --all-stores 设置为 true 或指定要接收镜像数据的特定存储来复制现有镜像数据。

  • --all-stores 选项的默认设置是 false。如果 --all-storesfalse,则必须使用 --stores STORE1,STORE2 指定哪些存储接收镜像数据。如果任何指定存储中已存在镜像数据,则请求会失败。
  • 如果将 all-stores 设置为 true,并且某些存储中已存在镜像数据,则这些存储将不包括在列表中。

指定存储接收镜像数据后,镜像服务会将数据从中央站点复制到暂存区域。然后,镜像服务使用可组合的镜像导入工作流导入镜像数据。如需更多信息,请参阅 将镜像导入到多个存储

使用镜像服务命令行客户端进行镜像管理。

重要

红帽建议管理员要仔细避免时间非常接近的镜像复制请求。对同一镜像进行两个密切的 copy-image 操作会导致竞争条件和意外的结果。现有镜像数据会保持原样,但将数据复制到新存储中会失败。

4.4.1. 将镜像复制到所有存储中

使用以下步骤将镜像数据复制到所有可用存储中。

流程

  1. 将镜像数据复制到所有可用存储中:

    $ glance image-import IMAGE-ID \
    --all-stores true \
    --import-method copy-image

    使用您要复制的镜像的名称替换 IMAGE-ID

  2. 确认镜像数据成功复制到所有可用存储:

    $ glance image-list --include-stores

    有关如何检查镜像导入操作的状态的详情,请参阅 检查镜像导入操作的进度

4.4.2. 将镜像复制到特定存储中

使用以下步骤将镜像数据复制到特定的存储中。

流程

  1. 将镜像数据复制到特定的存储中:

    $ glance image-import IMAGE-ID \
    --stores STORE1,STORE2 \
    --import-method copy-image
    • 使用您要复制的镜像的名称替换 IMAGE-ID
    • STORE1STORE2 替换为您要复制镜像数据的存储名称。
  2. 确认镜像数据成功复制到指定的存储中:

    $ glance image-list --include-stores

    有关如何检查镜像导入操作的状态的详情,请参阅 检查镜像导入操作的进度