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

此功能允许您使用可互操作的镜像导入工作流,使用 Red Hat OpenStack Image Services(glance)镜像数据将现有镜像复制到边缘的多个 Ceph 存储存储中。

注意

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

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

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

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

重要

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

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

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

流程

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

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

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

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

    $ glance image-list --include-stores

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

2.3.2. 将镜像复制到特定存储

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

流程

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

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

    $ glance image-list --include-stores

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