解决qcow2高版本兼容问题
我在Centos7上面将kvm的模板机镜像转换成qcow2格式的镜像,这样的话文件会是其实际占用磁盘的大小,文件小了传输的时间必然就缩短了。
我在Centos7上面执行:
Bash
# qemu-img convert -f raw -O qcow2 demo-centos6.img demo-centos6.img.qcow2
然后demo-centos6.img.qcow2就变成了只有几G,这样传输起来很嗨很快就传完了。
但是有些KVM宿主机是Centos6的系统,kvm虚拟机用的是raw格式的img文件。
然后我在Centos6系统的宿主机上面执行:
Bash
#qemu-img convert -f qcow2 -O raw demo-centos6.img.qcow2 demo-centos6.img #我想将img格式从qcow2再转换为raw格式
然后下面就是报错信息了:
'image' uses a qcow2 feature which is not supported by this qemu version: QCOW version 3
Could not open 'demo-centos6.img.qcow2': Operation not supported
Could not open 'demo-centos6.img.qcow2'
我在Centos7的宿主机上面也就是发送机查看了一下:
#qemu-img info demo-centos6.img.qcow2
Bash
file format: qcow2
Format specific information:
compat: 1.1
lazy refcounts: false
#从上面查看了一下还是qcow2版本。
然后上网搜资料大概了解了,是compat: 1.1地方高了,网上的意思是:为新的QCOW V3 centos7/Fedora20 qemu-img支持格式,通过如下命令转化成低版本支持的QCOW2
然后会发现Centos7上面多了一个子命令:amend
然后在Centos7上面重新执行:
Bash
#qemu-img amend -f qcow2 -o compat=0.10 demo-centos6.img.qcow2
#通过上面的命令将我生成的qcow2格式文件的版本再次降低,转换成让低版本的操作系统可以支持的qcow2.
然后再发送到Centos6的宿主机上面去:
再次执行:
Bash
#qemu-img convert -f qcow2 -O raw demo-centos6.img.qcow2 demo-centos6.img
#将Centos7系统产生的qcow2格式的文件转换回raw格式。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)