4.3. 将镜像导入到多个存储


使用可互操作的镜像导入工作流,将镜像数据导入到多个 Ceph Storage 集群中。您可以将镜像导入到本地文件系统上或通过 Web 服务器提供的镜像服务(glance)中。

如果您从 web 服务器导入镜像,可以一次性将镜像导入到多个存储中。如果镜像在 web 服务器上不可用,您可以将本地文件系统中的镜像导入到中央存储中,然后将其复制到其他存储中。如需更多信息,请参阅 将现有镜像复制到多个存储

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

重要

始终将镜像副本存储在中央站点上,即使没有实例在中央位置。有关将镜像导入到镜像服务的更多信息,请参阅 分布式计算节点和存储部署指南

4.3.1. 管理镜像导入失败

您可以使用-- allow-failure 参数管理镜像 导入操作的故障:

  • 如果 --allow-failure 参数的值变为 true,则镜像状态会在第一次存储成功导入数据后变为 active。这是默认设置。您可以使用 os_glance_failed_import 镜像属性查看无法导入镜像数据的存储列表。
  • 如果将 --allow-failure 参数的值设置为 false,则镜像状态只有在所有指定的存储成功导入数据后才会变为 active。导入镜像数据的任何存储失败会导致镜像状态 失败。镜像不会导入到任何指定的存储中。

4.3.2. 将镜像数据导入到多个存储中

由于 -allow-failure 参数的默认设置是 true,因此如果某些存储无法导入镜像数据,则不需要在命令中包含该参数。

注意

此流程不需要所有存储成功导入镜像数据。

流程

  • 将镜像数据导入到多个指定的存储:

    Copy to Clipboard Toggle word wrap
    $ glance image-create-via-import \
    --container-format bare \
    --name IMAGE-NAME \
    --import-method web-download \
    --uri URI \
    --stores STORE1,STORE2,STORE3
    • IMAGE-NAME 替换为您要导入的镜像的名称。
    • 使用镜像的 URI 替换 URI。
    • STORE1、 STORE2STORE3 替换为您要导入镜像数据的存储的名称。
    • 或者,将--- stores 替换为 --all-stores true,以将镜像上传到所有存储。
注意

glance image-create-via-import 命令自动将 QCOW2 镜像转换为 RAW 格式,仅适用于 web-download 方法。glance-direct 方法可用,但仅适用于配置了共享文件系统的部署。

4.3.3. 在没有失败的情况下将镜像数据导入到多个存储中

此流程要求所有存储成功导入镜像数据。

流程

  1. 将镜像数据导入到多个指定的存储:

    Copy to Clipboard Toggle word wrap
    $ glance image-create-via-import \
    --container-format bare \
    --name IMAGE-NAME \
    --import-method web-download \
    --uri URI \
    --stores STORE1,STORE2
    • IMAGE-NAME 替换为您要导入的镜像的名称。
    • 使用镜像的 URI 替换 URI。
    • STORE1、 STORE2STORE3 替换为您要复制镜像数据的存储名称。
    • 或者,将--- stores 替换为 --all-stores true,以将镜像上传到所有存储。

      注意

      --allow-failure 参数设置为 false 时,镜像服务不忽略导入镜像数据的存储。您可以使用镜像属性 os_glance_failed_import 查看失败存储的列表。如需更多信息,请参阅 检查镜像导入操作的进度

  2. 验证镜像数据是否已添加到特定存储中:

    Copy to Clipboard Toggle word wrap
    $ glance image-show IMAGE-ID | grep stores

    IMAGE-ID 替换为原始现有镜像的 ID。

    输出显示以逗号分隔的存储列表。

4.3.4. 将镜像数据导入到单个存储

您可以将镜像数据导入到单个存储中。

流程

  1. 将镜像数据导入到单个存储中:

    Copy to Clipboard Toggle word wrap
    $ glance image-create-via-import \
    --container-format bare \
    --name IMAGE-NAME \
    --import-method web-download \
    --uri URI \
    --store STORE
    • IMAGE-NAME 替换为您要导入的镜像的名称。
    • 使用镜像的 URI 替换 URI。
    • STORE 替换为您要复制镜像数据的存储的名称。

      注意

      如果您没有在命令中包含-- stores , ---all-stores, 或-- store 选项,则镜像服务会在中央存储中创建镜像。

  2. 验证镜像数据是否已添加到特定存储中:

    Copy to Clipboard Toggle word wrap
    $ glance image-show IMAGE-ID | grep stores

    IMAGE-ID 替换为原始现有镜像的 ID。

    输出显示以逗号分隔的存储列表。

4.3.5. 检查镜像导入操作的进度

可互操作的镜像导入工作流会按顺序将镜像数据导入到存储中。镜像的大小、存储数量以及中央站点和边缘站点之间的网络速度会影响镜像导入操作完成所需的时间。

您可以通过查看两个镜像属性来跟踪镜像导入的过程,该属性出现在镜像导入操作期间发送的通知中:

  • os_glance_importing_to_stores 属性列出了没有导入镜像数据的存储。在导入开始时,所有请求的存储都显示在列表中。每次存储成功导入镜像数据时,镜像服务都会从列表中删除存储。
  • os_glance_failed_import 属性列出了无法导入镜像数据的存储。此列表在镜像导入操作的开头为空。
注意

在以下流程中,环境有三个 Ceph Storage 集群: 中央存储 和边缘存储 dcn0dcn1

流程

  1. 验证镜像数据是否已添加到特定存储中:

    Copy to Clipboard Toggle word wrap
    $ glance image-show IMAGE-ID

    IMAGE-ID 替换为原始现有镜像的 ID。

    输出显示以逗号分隔的存储列表,类似以下示例片断:

    Copy to Clipboard Toggle word wrap
    | os_glance_failed_import       |
    | os_glance_importing_to_stores | central,dcn0,dcn1
    | status                        | importing
  2. 监控镜像导入操作的状态。当您使用 watch 命令之前,命令输出每两秒刷新一次。

    Copy to Clipboard Toggle word wrap
    $ watch glance image-show IMAGE-ID

    IMAGE-ID 替换为原始现有镜像的 ID。

    在镜像导入操作进行时,操作的状态会改变:

    Copy to Clipboard Toggle word wrap
    | os_glance_failed_import       |
    | os_glance_importing_to_stores | dcn0,dcn1
    | status                        | importing

    显示镜像导入失败,如下例所示:

    Copy to Clipboard Toggle word wrap
    | os_glance_failed_import       | dcn0
    | os_glance_importing_to_stores | dcn1
    | status                        | importing

    操作完成后,状态会变为 active :

    Copy to Clipboard Toggle word wrap
    | os_glance_failed_import       | dcn0
    | os_glance_importing_to_stores |
    | status                        | active
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.