您可以使用 CLI 中的 glance-import 工具导入格式不受支持的映像,如 RAW、QCOW2、VDI 或 VHD。该工具会将源映像自动转换为 VMDK 格式。

此外,您还可以使用 glance-import 工具导入受支持的 OVA 和 VMDK 格式的映像。

前提条件

  • 确认映像以 RAW、QCOW2、VDI 或 VHD 格式打包。

  • 要允许纯文本 HTTP 请求,请确认映像是否在没有凭据的服务器上托管。

  • 确认 VMware Integrated OpenStack 控制器可以访问存储映像的托管服务器。

过程

  1. 使用 SSH 登录到 VMware Integrated OpenStack Manager。
  2. VMware Integrated OpenStack Manager,使用 SSH 登录 controller01 节点。
  3. 切换到 root 用户。
    sudo su -
  4. 执行 cloudadmin.rc 文件。
    source cloudadmin.rc
  5. 配置 controller01 节点以使用内部 VIP。
    export OS_AUTH_URL=http://INTERNAL_VIP:35357/v2.0
  6. 要导入映像,请运行 glance-import 命令。
    glance-import import --name image_name --url image_http_url --image-format supported_image_format
    参数 说明
    image-name

    指定映像的名称,它会显示在“映像服务”中。

    image_format

    指定源映像文件的格式。非 VMDK 映像会自动转换为 VMDK 格式。

    支持下列格式:
    • VMDK
    • OVA
    • RAW
    • QCOW2
    • VDI
    • VHD
    image_http-url

    提供源映像文件的 HTTP 位置。

    例如:

    glance-import cirros-img qcow2 https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img
    CLI 会显示任务信息和状态,包括任务 ID 和映像 ID。
    Created import task with id 5cdc4a04-5c68-4b91-ac44-37da07ec82ec
    Waiting for Task 5cdc4a04-5c68-4b91-ac44-37da07ec82ec to finish.
    Current Status.. SUCCESS
    Image cirros-img created with ID: 2120de75-0717-4d61-b5d9-2e3f16e79edc
    
  7. (可选) 确认导入任务已成功完成。
    如果映像很大,需要大量时间,您可以在不影响操作的情况下安全地退出实用程序,并在稍后检查任务状态。
    注: 您必须知道任务 ID,才能检查状态。
    glance --os-image-api-version 2 task-show <task_id> 

    例如:

    glance --os-image-api-version 2 task-show 5cdc4a04-5c68-4b91-ac44-37da07ec82ec
    +------------+---------------------------------------------------------------------------+
    | Property   | Value                                                                     |
    +------------+---------------------------------------------------------------------------+
    | created_at | 2015-10-15T21:20:59Z                                                      |
    | expires_at | 2015-10-17T21:21:14Z                                                      |
    | id         | 5cdc4a04-5c68-4b91-ac44-37da07ec82ec                                      |
    | input      | {"image_properties": {"container_format": "bare", "name": "cirros-img"},  |
    |            | "import_from_format": "qcow2", "import_from": "https://launchpad.net/     |
    |            | cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"}               |
    | message    |                                                                           |
    | owner      | def459fd05d7490e9fda07dbe6ee2d76                                          |
    | result     | {"image_id": "2120de75-0717-4d61-b5d9-2e3f16e79edc"}                      |
    | status     | success                                                                   |
    | type       | import                                                                    |
    | updated_at | 2015-10-15T21:21:14Z                                                      |
    +------------+---------------------------------------------------------------------------+
    
  8. (可选) 确认导入过程是否成功。
    您必须知道由 glance-import 命令创建的映像 ID,才能对导入进行确认。
    glance image-show <image_id>
    该命令会返回有关指定映像的详细信息。
  9. (可选) 确认映像是否包括在“映像服务”中。
    glance image-list
    该命令会返回映像服务中所有映像的列表。