qemu-img镜像转换工具是一种基于CLS(终端)的工具,我们需要像JDK、Python一样将其配置到环境变量中方便后续使用
下载地址 : https://qemu.weilnetz.de/w64/


查看镜像大小与格式
qemu-img info 镜像名

qemu-img 转换镜像格式
qemu-img convert -f raw -O qcow2 ubuntu-14.04.6-server-amd64.iso (初始镜像) ubuntu-14.04.6-server-amd64.qcow2(转换格式后得镜像命名)
-p : 显示镜像的转换进度
-f : 指定被转换的镜像是什么格式
-O: 指定转换后的镜像格式
●例如上面的命令是-f qcow2 -O vmdk ,qcow2是要被转换的镜像格式,vmdk是转换后的镜像格式

使用语法
qemu-img convert -f <原格式> -O <目标格式> <原文件路径> <目标文件路径> 这里 -f <原格式>可以忽略。qemu-img会自动识别
vmdk与qcow2互转
qemu-img convert -O qcow2 test.vmdk test.qcow2 #qcow2转vmdk qemu-img convert -O vmdk test.qcow2 test.vmdk
vdi转qcow2
qemu-img convert -O qcow2 test.vdi test.qcow2
vhd&vhdx转qcow2
qemu-img convert -O qcow2 test.vhdx test.qcow2
RAW转qcow2
qemu-img convert -O qcow2 test.raw test.qcow2
img转qcow2
qemu-img convert -O qcow2 test.img test.qcow2

扩容镜像大小
qemu-img resize 镜像名 +20G

缩减镜像大小 (不建议使用,这样可以减少空间但是对系统有损害,可能导致系统直接进入维护模式或者镜像拉不起虚机)
qemu-img resize 镜像名 -20G




实例
查看镜像得大小和格式
[root@ var]# qemu-img info ubuntu-14.04.6-server-amd64.iso image: ubuntu-14.04.6-server-amd64.iso file format: raw virtual size: 632M (662700032 bytes) disk size: 632M
将镜像有raw 格式转为qcow2 格式 [root@ var]# qemu-img convert -f raw -O qcow2 ubuntu-14.04.6-server-amd64.iso ubuntu-14.04.6-server-amd64.qcow2
检查镜像大小格式 [root@ var]# qemu-img info ubuntu-14.04.6-server-amd64.qcow2 image: ubuntu-14.04.6-server-amd64.qcow2 file format: qcow2 virtual size: 632M (662700032 bytes) -------镜像总得大小 disk size: 631M ------镜像使用得实际大小 cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false
扩展qcow2 大小 root@cic-0-1:~# qemu-img resize ubuntu-14.04.6-server-amd64.qcow2 +20G Image resized. root@cic-0-1:~# qemu-img info ubuntu-14.04.6-server-amd64.qcow2 image: ubuntu-14.04.6-server-amd64.qcow2 file format: qcow2 virtual size: 21G (22137536512 bytes) disk size: 631M cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false




VMware Workstation,VMware Fusion 、VMware Player等平台的虚拟机文件不兼容esxi平台
如果在ESXI上运行,需要转换成用Vmware vCenter Converter工具转换成ESX主机兼容的格式

终于找到真相,那就开搞:

1.开启esxi的ssh服务!
首先,在你电脑上装的管理工具VMware vSphere Client中,选中设备主机(ip地址,虚拟机的父级)
然后右边窗口中 配置》》安全配置文件》》服务》》属性 。在ssh上右键操作,启动,

2.终端连接工具连接上ssh
帐号密码都是你在安装esxi的密码

3.转换文件格式:连上了ssh就要进入目录找到vmdk文件的位置
cd /vmfs/volumes/5b7a6b75-afc61715-37e1-000c297945b0/test
(一般路径会是 /vmfs/volumes/随机一串/创建的虚拟机/虚拟机文件.vmdk)
vmkfstools -i 不兼容原文件.vmdk 转换后的新文件名.vmdk

vmkfstools -i aliyun-ecs.vmdk -d thin out-aliyun-ecs.vmdk