柴少鹏的官方网站 技术在分享中进步,水平在学习中升华

解决qcow2高版本兼容问题

我在Centos7上面将kvm的模板机镜像转换成qcow2格式的镜像,这样的话文件会是其实际占用磁盘的大小,文件小了传输的时间必然就缩短了。

我在Centos7上面执行:

# 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系统的宿主机上面执行:

#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

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上面重新执行:

#qemu-img amend -f qcow2 -o compat=0.10 demo-centos6.img.qcow2

#通过上面的命令将我生成的qcow2格式文件的版本再次降低,转换成让低版本的操作系统可以支持的qcow2.

然后再发送到Centos6的宿主机上面去:

再次执行:

#qemu-img convert -f qcow2 -O raw demo-centos6.img.qcow2  demo-centos6.img

#将Centos7系统产生的qcow2格式的文件转换回raw格式。

成功没有报错,只是一个很小的版本问题,也就不做深究和讨论了,就是记录一下。

作者:忙碌的柴少 分类:解决小问题 浏览:4475 评论:0
留言列表
发表评论
来宾的头像