应用场景
天翼云目前支持导入RAW、qcow2、vmdk、vhd格式镜像文件。其他镜像文件,需要转换格式后再导入。下面将为您介绍如何使用开源qemu-img工具转换镜像格式。
方案构架
资源和成本规划
资源 | 资源说明 | 成本说明 |
---|---|---|
qemu-img | 是一款开源的转换镜像格式的工具。 | 免费 |
约束与限制
-
qemu-img镜像格式转换工具支持vhd、vmdk、qcow2、raw、vhdx、qcow、vdi或qed社区格式的镜像的相互转换。
-
vhd格式镜像在执行命令转换格式时请使用vpc代替,否则可能造成qemu-img工具无法识别镜像格式。
例如,将CentOS 8.4镜像的vhd格式转换为qcow2格式,请执行如下命令:
qemu-img convert -p -f vpc -O qcow2 centos8.4.vhd centos8.4.qcow2
转换Windows操作系统镜像格式
- 安装qemu-img。
a) 下载qemu-img安装包至本地:https://qemu.weilnetz.de/。
b) 双击setup文件安装qemu-img,以下操作以安装路径为“D:\Program Files\qemu”为例。
- 配置环境变量。
a) 选择“开始>计算机”,右键单击“属性”。
b) 单击“高级系统设置”。
c) 在“系统属性”对话框里,单击“高级>环境变量"。
d) 在环境变量对话框里,在系统变量部分找到Path,并单击“编辑”。在“变量值”里,添加“D:\Program Files\qemu”,不同的变量值之间以“;”分隔。
说明如果没有Path变量请新建,并补充Path的变量值为“D:\Program Files\qemu”。
e) 单击“确定”,保存修改。
- 验证安装成功。
单击“开始>运行”,输入“cmd”后按回车键,在“cmd”窗口输入qemu-img --help,如回显信息中出现qemu-img工具的版本信息,即表示安装成功。
- 转换镜像格式。
a)在“cmd”窗口输入如下命令切换文件目录,以安装目录为“D:\Program Files\qemu”为例。
d:
cd D:\Program Files\qemu
b) 执行如下命令转换镜像文件格式,以转换vmdk格式为qcow2格式的镜像为例。
qemu-img convert -p -f vmdk -O qcow2 centos8.4.vmdk centos8.4.qcow2
上述命令中各参数对应的说明如下:
- -p:表示镜像转换的进度。
- -f:后面为源镜像格式。
- -O:必须是大写,后面的参数由如下3个部分组成:转换出来的镜像格式 + 源镜像文件名称 + 目标文件名称。
转换完成后,目标文件会出现在源镜像文件所在的目录下。
回显信息如下所示:
# qemu-img convert -p -f vmdk -O qcow2 centos8.4.vmdk centos8.4.qcow2
(100.00/100%)
c) 执行如下命令,查询转换后的qcow2格式镜像文件的详细信息。
qemu-img info centos8.4.qcow2
回显信息如下所示:
# qemu-img info centos8.4.qcow2
image: centos8.4.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 300K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
转换Linux操作系统镜像格式
- 安装qemu-img。
- Ubuntu、Debian系列操作系统,请执行如下命令:
apt install qemu-img
- CentOS、Red Hat、Oracle系列操作系统,请执行如下命令:
yum install qemu-img
- SUSE、openSUSE系列操作系统,请执行如下命令:
zypper install qemu-img
- 执行如下命令,验证安装成功。
qemu-img -v
如回显信息中出现qemu-img工具的版本信息和帮助手册,即表示安装成功。以CentOS 8为例,回显信息如下所示:
[root@CentOS8 ~]# qemu-img -v
qemu-img version 7.1.0 Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
usage: qemu-img command [command options]
QEMU disk image utility
Command syntax:
check [-q] [-f fmt] [--output=ofmt] [-r [leaks | all]] [-T src_cache] filename
create [-q] [-f fmt] [-o options] filename [size]
commit [-q] [-f fmt] [-t cache] filename
compare [-f fmt] [-F fmt] [-T src_cach]
- 转换镜像格式,以CentOS 8操作系统中转换vmdk格式为qcow2格式的镜像为例。
a) 执行如下命令转换镜像文件格式,以转换vmdk格式为qcow2格式的镜像为例。
qemu-img convert -p -f vmdk -O qcow2 centos8.4.vmdk centos8.4.qcow2
上述命令中各参数对应的说明如下:
- -p:表示镜像转换的进度。
- -f后面为源镜像格式。
- -O(必须是大写)后面的参数为转换出来的镜像格式 + 源镜像文件名称 + 目标文件名称。
转换完成后,目标文件会出现在源镜像文件所在的目录下。
回显信息如下所示:
[root@CentOS8 home]# qemu-img convert -p -f vmdk -O qcow2 centos8.4.vmdk centos8.4.qcow2
(100.00/100%)
b) 执行如下命令,查询转换后的qcow2格式镜像文件的详细信息。
qemu-img info centos8.4.qcow2
回显信息如下所示:
[root@CentOS8 home]# qemu-img info centos8.4.qcow2
image: centos8.4.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 300K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false