2.4. 导入镜像

您可以使用以下两种方法之一将镜像导入到镜像服务(glance):

  • 使用 web-download 从 URI 导入镜像。
  • 使用 glance-direct 从本地文件系统导入镜像。

web-download 方法默认为启用。云管理员配置导入方法。您可以运行 glance import-info 命令来列出可用的导入选项。

2.4.1. 从远程 URI 导入镜像

您可以使用 web-download 方法从远程 URI 复制镜像。

  1. 创建镜像并指定要导入的镜像的 URI:

    $ glance image-create-via-import \
        --container-format <CONTAINER FORMAT> \
        --disk-format <DISK-FORMAT> \
        --name <NAME> \
        --import-method web-download \
        --uri <URI>
    • <CONTAINER FORMAT > 替换为您要为镜像设置的容器格式(None, ami, ari, aki, bare, ovf, ova, docker)。
    • <DISK-FORMAT > 替换为您要为镜像设置的磁盘格式(None, ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso, ploop)。
    • <NAME > 替换为您的镜像的描述性名称。
    • <URI > 替换为您的镜像的 URI。
  2. 您可以使用 glance image-show <IMAGE_ID&gt; 命令检查镜像的可用性。

    • <IMAGE_ID > 替换为您在创建镜像过程中提供的 ID。

镜像服务 Web 下载 方法使用两阶段进程来执行导入:

  1. Web 下载 方法创建一个镜像记录。
  2. Web 下载 方法从指定的 URI 检索镜像。

URI 受可选的 denylist 和 allowlist 过滤的影响。

Image Property Injection 插件可能会向镜像注入元数据属性。这些注入的属性决定了镜像实例在其上启动哪些计算节点。

2.4.2. 从本地卷导入镜像

glance-direct 方法创建一个镜像记录,它会生成一个镜像 ID。镜像从本地卷上传到镜像服务后,它会存储在暂存区域中,并在通过任何配置的检查后激活。在高可用性(HA)配置中使用时,glance-direct 方法需要一个共享暂存区域。

注意

如果不存在通用暂存区域,使用 glance-direct 方法的镜像上传可能会在 HA 环境中失败。在 HA 主动环境中,API 调用被分发到镜像服务控制器。下载 API 调用可以发送到与 API 调用不同的控制器,以上传镜像。

glance-direct 方法使用三个不同的调用来导入镜像:

  • glance image-create
  • glance image-stage
  • glance image-import

您可以使用 glance image-create-via-import 命令在一个命令中执行所有三个调用:

$ glance image-create-via-import \
    --container-format <CONTAINER FORMAT> \
    --disk-format <DISK-FORMAT> \
    --name <NAME> \
    --file </PATH/TO/IMAGE>
  • 将 & lt;CONTAINER FORMAT&gt; , <DISK-FORMAT & gt; , <NAME > , 和 </PATH/TO/IMAGE > 替换为您的镜像的相关值。

镜像从暂存区域移到后端位置后,会列出该镜像。但是,可能需要过些时间,镜像才会变为活动状态。

您可以使用 glance image-show <IMAGE_ID&gt; 命令检查镜像的可用性。

  • <IMAGE_ID 替换为您在创建镜像过程中提供的 ID。