2.3. 将现有镜像复制到多个存储中
此功能允许您使用可互操作的镜像导入工作流,使用 Red Hat OpenStack Image Services(glance)镜像数据将现有镜像复制到边缘的多个 Ceph 存储存储中。
镜像必须存在于中央站点,然后才能将其复制到任何边缘站点。只有镜像所有者或管理员可以将现有镜像复制到新添加的存储中。
您可以通过将 --all-stores
设置为 true
或指定特定存储来接收镜像数据来复制现有镜像数据。
-
--all-stores
选项的默认设置是false
。如果--all-stores
为false
,您必须使用--stores STORE1,STORE2
指定存储镜像数据。如果镜像数据已存在于任何指定存储中,请求会失败。 -
如果将
all-stores
设为true
,且镜像数据已存在于一些存储中,则这些存储不包括在列表中。
指定存储存储镜像数据后,镜像服务会将数据从中央站点复制到暂存区域。然后,镜像服务使用可互操作的镜像导入工作流来导入镜像数据。如需更多信息,请参阅将镜像导入到多个存储。
红帽建议管理员要仔细避免时间非常接近的镜像复制请求。同一镜像两端的 copy-image 操作会导致竞争条件和意外的结果。现有镜像数据保持不变,但将数据复制到新存储会失败。
2.3.1. 将镜像复制到所有存储中
使用以下步骤将镜像数据复制到所有可用存储。
流程
将镜像数据复制到所有可用存储中:
glance image-import IMAGE-ID \ --all-stores true \ --import-method copy-image
$ glance image-import IMAGE-ID \ --all-stores true \ --import-method copy-image
Copy to Clipboard Copied! 使用您要复制的镜像的名称替换 IMAGE-ID。
确认镜像数据成功复制到所有可用存储:
glance image-list --include-stores
$ glance image-list --include-stores
Copy to Clipboard Copied! 有关如何检查镜像导入操作的状态的信息,请参阅 检查镜像导入操作的进度。
2.3.2. 将镜像复制到特定存储
使用以下步骤将镜像数据复制到特定存储中。
流程
将镜像数据复制到特定的存储:
glance image-import IMAGE-ID \ --stores STORE1,STORE2 \ --import-method copy-image
$ glance image-import IMAGE-ID \ --stores STORE1,STORE2 \ --import-method copy-image
Copy to Clipboard Copied! - 使用您要复制的镜像的名称替换 IMAGE-ID。
- 将 STORE1 和 STORE2 替换为您要将镜像数据复制到的存储的名称。
确认镜像数据已成功复制到指定的存储中:
glance image-list --include-stores
$ glance image-list --include-stores
Copy to Clipboard Copied! 有关如何检查镜像导入操作的状态的信息,请参阅 检查镜像导入操作的进度。