下载中心 | 网站地图 | 站内搜索 | 加入收藏

安恒公司 / 技术文章 / 安恒公司网管员手记 / kvm的qcow2的镜像文件的压缩

2012-10-21 刘世伟  阅:    下页:
kvm的qcow2的镜像文件的压缩
qcow2文件, 会越来越大,实际虚拟机并没有这用这么大的空间,当然最好的方式是SSD硬盘的trim协议, 让虚拟机系统,通知kvm那些文件可以释放空间,
但是目前看来,kvm,qemu并没有计划支持trim协议, 一个变通, 比较费劲的方式就是利用raw格式的文件稀疏,来解决这个问题。

首先, 在虚拟机系统里面对剩余空间,如果有多个分区, 每个分区要单独操作,全部写0,然后关机:
kvm:/# dd if=/dev/zero of=/home/zero.dat  ; sync ; rm /home/zero.dat
在宿主机检查kvm进程退出后,
把影像文件转换成raw格式:
host:/# qemu-img convert -f qcow2 -O raw /home/kvm.img /home/kvm.raw
然后用稀疏复制, 把kvm.ram内部的0全部释放:
cp --sparse=always /home/kvm.raw  /home/kvm1.raw
看一下效果:
host:/# du -s /home/*.raw
10485760    /home/kvm.raw
  5196240    /home/kvm1.raw
把raw转化回qcow2格式, 或者直接使用raw格式也行,当然qcow2有增量镜像功能,raw没有, raw速度会比qcow2略快, 而且raw可以直接用-o loop,offset=xxx在宿主机加载。
qemu-img convert -f raw -O qcow2 kvm1.raw kvm1.qcow

下页:   

相关文章
debian远程安装kvm虚拟机 - 07-01-13 - 阅读: 208837
linux内核虚拟机 kvm - 07-01-05 - 阅读: 244569

Email给朋友 打印本文
版权所有·安恒公司 Copyright © 2004   optiview.anheng.com.cn   All Rights Reserved    
北京市海淀区首体南路9号 主语国际商务中心4号楼8层 (邮编100048) 电话:010-88018877