5.5. 将现有镜像复制到多个存储中
此功能允许您使用 Red Hat OpenStack Image 服务(glance)镜像数据使用 Red Hat OpenStack Image 服务(glance)镜像数据复制到边缘的多个 Red Hat Ceph Storage 存储中,方法是使用可组合的镜像导入工作流。
镜像必须在中央站点上存在,然后才能将其复制到任何边缘站点。只有镜像所有者或管理员可以将现有镜像复制到新添加的存储中。
您可以通过将 --all-stores
设置为 true
或指定要接收镜像数据的特定存储来复制现有镜像数据。
-
--all-stores
选项的默认设置是false
。如果--all-stores
为false
,则必须使用 --stores <store-1>,<store-2> 指定哪个存储接收镜像数据
。如果任何指定存储中已存在镜像数据,则请求会失败。 -
如果将
all-stores
设置为true
,并且某些存储中已存在镜像数据,则这些存储将不包括在列表中。
指定存储接收镜像数据后,镜像服务(glance)将数据从中央站点复制到暂存区域。然后,镜像服务使用可组合的镜像导入工作流导入镜像数据。如需更多信息,请参阅 将镜像导入到多个存储。
使用镜像服务命令行客户端进行镜像管理。
红帽建议管理员要仔细避免时间非常接近的镜像复制请求。对同一镜像进行两个密切的 copy-image 操作会导致竞争条件和意外的结果。现有镜像数据会保持原样,但将数据复制到新存储中会失败。
5.5.1. 将镜像复制到所有存储中
使用以下步骤将镜像数据复制到所有可用存储中。
流程
将镜像数据复制到所有可用存储中:
$ glance image-import <image-id> \ --all-stores true \ --import-method copy-image
-
将
<image-id
> 替换为您要复制的镜像的名称。
-
将
确认镜像数据成功复制到所有可用存储:
$ glance image-list --include-stores
有关如何检查镜像导入操作状态的详情,请参考 第 5.4 节 “检查镜像导入操作的进度”。
5.5.2. 将镜像复制到特定存储中
使用以下步骤将镜像数据复制到特定的存储中。
流程
将镜像数据复制到特定的存储中:
$ glance image-import <image-id> \ --stores <store-1>,<store-2> \ --import-method copy-image
-
将
<image-id
> 替换为您要复制的镜像的名称。 -
将
<
store-1>
和 <store-2> 替换为您要复制镜像数据的存储名称。
-
将
确认镜像数据成功复制到指定的存储中:
$ glance image-list --include-stores
有关如何检查镜像导入操作状态的详情,请参考 第 5.4 节 “检查镜像导入操作的进度”。