本文档介绍如何手动将现有虚拟磁盘映像转换为 qcow2
格式,以便能够使用该来源映像在 VM Runtime on GDC 中创建和运行虚拟机。您将了解如何直接从该转换后的虚拟磁盘映像创建虚拟机。
本页面适用于希望在容器化环境中运行现有虚拟化工作负载的运维人员和开发者。如需详细了解我们在 Google Cloud 内容中提及的常见角色和示例任务,请参阅常见的 GKE Enterprise 用户角色和任务。
如果需要,VM Runtime on GDC 会在部署期间自动将现有磁盘映像转换为 qcow2
格式。但是,如果要从非 qcow2
虚拟磁盘映像创建多个虚拟机,VM Runtime on GDC 必须每次都对该映像进行转换。将映像转换为 qcow2
格式的过程会增加创建和启动虚拟机所花费的时间。为了减少创建每个虚拟机所花费的时间,请先将虚拟磁盘映像转换为 qcow2
格式,如本文档中所示。
准备工作
如需在转换现有虚拟磁盘映像后创建虚拟机,您需要访问以下资源:
- Google Distributed Cloud 1.12.0 版 (
anthosBareMetalVersion: 1.12.0
) 或更高版本的集群。您可以使用任何能够运行工作负载的集群类型。如果需要,请在 Compute Engine 上试用 Google Distributed Cloud,或查看集群创建概览。 - 作为
kubectl
的插件安装的virtctl
客户端工具。如果需要,请安装 virtctl 客户端工具。
转换虚拟磁盘映像
在本文档中,您将使用 QEMU 磁盘映像实用程序将现有虚拟磁盘映像转换为 qcow2
格式。qemu-img
工具可以将虚拟磁盘映像从多种格式(例如 vmdk
或 vhdx
)转换为 qcow2
格式,以便用于 VM Runtime on GDC。
如需将虚拟磁盘映像转换为 qcow2
格式,请完成以下步骤:
使用 Linux 发行版的软件包管理系统安装
qemu-utils
软件包。Ubuntu
apt-get install qemu-utils
RHEL
yum install qemu-utils
使用
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 使用 Secret 创建虚拟机启动磁盘。
如需使用转换后的本地虚拟磁盘映像,请完成以下步骤:
在集群中创建虚拟机:
kubectl virt create vm VM_NAME \ --os-type OS_TYPE \ --image CONVERTED_DISK_IMAGE_NAME.qcow2
此命令会创建一个默认使用 2 个 CPU、4 Gi 内存的虚拟机。
替换以下值:
VM_NAME
:虚拟机的名称OS_TYPE
:转换后的虚拟磁盘映像的操作系统类型。可以是linux
或windows
。CONVERTED_DISK_IMAGE_NAME
:上一部分中转换后的qcow2
虚拟磁盘映像的路径和名称。
可能需要 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。以下文档介绍了如何从这些来源创建虚拟机: