Published on

Convert Image File Type

Authors

Introduction

如何将虚拟机镜像文件从一种格式转换为另一种格式,比如 VMwareVMDK 格式转换为 QCOW2 格式。

1 Create VM

使用 ISO 文件在 VMware 中创建新虚拟机。分区磁盘等配置保持默认即可。创建完成后,关闭虚拟机。

2 Clone VM

  1. 右键点击虚拟机 -> 管理 -> 克隆

  2. 按照默认选项进行操作直至完成

clone-vm

3 Merge VMDK Files

cd-vmare-dir
  1. 在命令提示符(CMD)中导航到VMware安装目录:
cd C:\Program Files (x86)\VMware\VMware Workstation

# 执行 vmware-vdiskmanager.exe 命令将多个vmdk文件分片合成为1个vmdk文件

vmware-vdiskmanager.exe -r "C:\Users\Administrator\Documents\Virtual Machines\CentOS_7_64_clone\CentOS_7_64 位-cl1.vmdk" -t 0 "C:\Users\Administrator\Documents\Virtual Machines\CentOS_7_64_clone\summary.vmdk"
clone-result

4 Install qemu-img

Install

qemu-img支持以下镜像格式的转换:

  • 1:RAW、QCOW2、QCOW1、VMDK、VDI、VHD(vpc)、VHDXQED格式的镜像转换为VHD格式
  • 2:RAWVHD格式的互相转换

以阿里云为例,阿里云支持的镜像类型

alicloud-support-image-type

5 Convert VMDK to QCOW2

  • -f:参数值为源镜像文件的格式
  • -O:参数值分别为目标镜像格式、源镜像文件名称和目标文件名称
# set environment variable fi rst
qemu-img convert -c -f vmdk -O qcow2 summary.vmdk centos7_custom.qcow2

6 Create Custom Image

阿里云控制台启用OSS服务,并创建Buket,将本地镜像存入Buket(大于5G的镜像需要API分片导入)

通过云服务器ECS控制台的导入镜像功能,将OSS中的镜像导入

7 Use Custom Image

use-custom-image-create-ecs