将虚拟磁盘映像转换为 qcow2 格式,以便在 Anthos 虚拟机运行时中使用

本文档面向需要在 Anthos 虚拟机运行时中运行虚拟机的平台管理员和应用所有者。本文档介绍如何手动将现有虚拟磁盘映像转换为 qcow2 格式,以便能够使用该来源映像在 Anthos 虚拟机运行时中创建和运行虚拟机。您将了解如何直接从该转换后的虚拟磁盘映像创建虚拟机。

如果需要,Anthos 虚拟机运行时会在部署期间自动将现有磁盘映像转换为 qcow2 格式。但是,如果要从非 qcow2 虚拟磁盘映像创建多个虚拟机,Anthos 虚拟机运行时必须每次都对该映像进行转换。将映像转换为 qcow2 格式的过程会增加创建和启动虚拟机所花费的时间。为了减少创建每个虚拟机所花费的时间,请先将虚拟磁盘映像转换为 qcow2 格式,如本文档中所示。

准备工作

如需在转换现有虚拟磁盘映像后创建虚拟机,您需要访问以下资源:

转换虚拟磁盘映像

在本文档中,您将使用 QEMU 磁盘映像实用程序将现有虚拟磁盘映像转换为 qcow2 格式。qemu-img 工具可以将虚拟磁盘映像从多种格式(例如 vmdkvhdx)转换为 qcow2 格式,以便与 Anthos 虚拟机运行时搭配使用。

如需将虚拟磁盘映像转换为 qcow2 格式,请完成以下步骤:

  1. 使用 Linux 发行版的软件包管理器安装 qemu-utils 软件包。

    Ubuntu

    apt-get install qemu-utils
    

    RHEL/CentOS

    yum install qemu-utils
    
  2. 使用 qemu-img 转换现有虚拟磁盘映像:

    qemu-img convert -f EXISTING_DISK_IMAGE_FORMAT -O qcow2 \
      EXISTING_DISK_IMAGE_NAME \
      CONVERTED_DISK_IMAGE_NAME.qcow2
    

    替换以下值:

    • EXISTING_DISK_IMAGE_FORMAT:现有虚拟磁盘映像的格式,例如 vmdk
    • EXISTING_DISK_IMAGE_NAME:现有虚拟磁盘映像的路径和名称。
    • CONVERTED_DISK_IMAGE_NAME:转换后的 qcow2 虚拟磁盘映像的路径和名称。

    如需详细了解 qemu-img 工具(例如各种映像格式选项),请参阅 QEMU 磁盘映像实用程序文档

使用转换后的映像创建虚拟机

如果您想了解转换后的虚拟磁盘映像的实际应用,请创建虚拟机并使用上一部分中创建的 qcow2 格式的本地映像。对于生产用途,您应该将转换后的虚拟磁盘映像上传到中央代码库,然后从 HTTP 来源创建虚拟机启动磁盘从 Cloud Storage 使用密文创建虚拟机启动磁盘。

如需使用转换后的本地虚拟磁盘映像,请完成以下步骤:

  1. 在集群中创建虚拟机:

    kubectl virt create vm VM_NAME \
      --os-type OS_TYPE \
      --image CONVERTED_DISK_IMAGE_NAME.qcow2
    

    此命令会创建一个默认使用 2 个 CPU、4 Gi 内存的虚拟机。

    替换以下值:

    • VM_NAME:虚拟机的名称
    • OS_TYPE:转换后的虚拟磁盘映像的操作系统类型。可以是 linuxwindows
    • CONVERTED_DISK_IMAGE_NAME:上一部分中转换后的 qcow2 虚拟磁盘映像的路径和名称。
  2. 可能需要 10 至 20 分钟才能从转换后的本地虚拟磁盘映像创建虚拟机,具体取决于映像的大小。使用 kubectl 命令检查虚拟机的状态:

    kubectl get gvm VM_NAME
    

    VM_NAME 替换为虚拟机名称。

    以下示例输出显示该过程完成后处于 Running 状态的虚拟机:

    NAME    STATUS    AGE   IP
    MY_VM   Running   64s   192.168.2.124
    

后续步骤

您可以将转换后的虚拟磁盘映像(qcow2 格式)上传到 HTTP 来源或 Cloud Storage。以下文档介绍了如何从这些来源创建虚拟机: