ECS只支持导入RAW、VHD和qcow2格式的镜像文件。其他镜像文件,需要转换格式后再导入。本文介绍如何利用qemu-img工具将其它格式的镜像文件转换成VHD或RAW格式。

背景信息

qemu-img支持以下镜像格式的转换:
  • RAW、qcow2、qcow1、VMDK、VDI、VHD(vpc)、VHDX或QED格式的镜像转换成VHD格式
  • RAW和VHD格式的互相转换
说明 qemu-img不支持转换iso镜像为VHD或RAW格式。如需转换,可以先将iso镜像安装到VHD或RAW介质,再制作相应格式的镜像。

本地为Windows操作系统

按以下步骤安装qemu-img并转换镜像文件格式:

  1. 下载qemu-img并完成安装。
    本示例安装路径为C:\Program Files\qemu。下载地址:下载qemu-img
  2. 为qemu-img配置环境变量。
    1. 选择开始 > 计算机,右键单击属性
    2. 在左侧导航栏里,单击高级系统设置
    3. 系统属性对话框里,单击高级页签,并单击环境变量
      转换镜像格式_导入镜像_自定义镜像_镜像_云服务器 ECS 阿里云技术文档 第1张
    4. 环境变量对话框里,在系统变量部分找到Path,并单击编辑。如果Path变量不存在,单击新建
      转换镜像格式_导入镜像_自定义镜像_镜像_云服务器 ECS 阿里云技术文档 第2张
    5. 添加系统变量值。
      • 如果是编辑系统变量,在变量值里,添加C:\Program Files\qemu,不同的变量值之间以半角分号(;)分隔。转换镜像格式_导入镜像_自定义镜像_镜像_云服务器 ECS 阿里云技术文档 第3张
      • 如果是新建系统变量,在变量名处输入Path,在变量值处输入C:\Program Files\qemu转换镜像格式_导入镜像_自定义镜像_镜像_云服务器 ECS 阿里云技术文档 第4张
  3. 测试是否成功配置环境变量。
    1. 打开Windows命令行工具。
    2. 运行qemu-img --help命令。
    如果命令返回值显示正常,即表示已配置环境变量。
  4. 命令提示符对话框里,使用cd [源镜像文件所在的目录]切换文件目录,例如cd D:\ConvertImage
  5. 运行qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw命令转换镜像文件格式,其中:
    • -f的参数值为源镜像文件的格式。
    • -O(必须是大写)的参数值为目标镜像格式、源镜像文件名称和目标文件名称。

转换完成后,目标文件会出现在源镜像文件所在的目录下。

本地为Linux操作系统

按以下步骤安装qemu-img并转换镜像文件格式:

  1. 安装qemu-img。
    示例如下:
    • 如果本地为Ubuntu操作系统,运行apt-get install qemu-utils
      如果在Ubuntu上安装qemu-utils时,出现Unable to locate package qemu-utils错误,请运行以下命令安装qemu-img工具:
      apt-get update #更新包列表
      apt-get install qemu-utils #安装qemu-img工具
    • 如果本地为CentOS操作系统,运行yum install qemu-img

      如果在安装qemu-img时报错,且没有明确提示缺少哪些依赖库,您可以根据cloud-init的requirements.txt文件里显示的库,并运行pip install -r requirements.txt安装所有依赖库。

  2. 运行qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw命令转换镜像文件格式,其中:
    • -f的参数值为源镜像文件的格式。
    • -O(必须是大写)的参数值为目标镜像格式、源镜像文件名称和目标文件名称。

转换完成后,目标文件会出现在源镜像文件所在的目录下。

后续步骤

导入自定义镜像