缩小虚拟镜像实际占用空间
来源:互联网 发布:家庭网络光纤 编辑:程序博客网 时间:2024/05/16 17:25
缩小虚拟镜像实际占用空间的大小
(原文链接:http://openwares.net/linux/reduce_qcow2_image_size_kvm.html )
一、原理:
qcow2的特点,客户机需要时才分配存储空间。但是当从客户机删除了很多文件,释放了很多空间时,从KVM主机端完全看不到qcow2虚拟磁盘文件有变小的迹象。这是因为现在的文件系统都有一个特点,删除文件时并没有真正的清除文件的内容,只是简单的做了标记,这样删除文件会很迅速,只有当用到这些空间时才重新写入新的数据。这也是反删除甚至反格式化软件存在的基础。所以要想缩小qcow2虚拟磁盘文件的大小,就要真正释放这些未使用的空间才可以。
基本思路就是用0填充未使用的客户机磁盘空间,然后用qemu-img转换磁盘镜像文件,转换后的磁盘镜像文件将只包含所有已使用的磁盘空间。
二、步骤:
使用dd命令将客户机未使用的磁盘空间用0填满
$dd if=/dev/zero of=~/junk
dd: writing to `/home/***/junk’: No space left on device
然后
$rm junk
关闭客户机转换磁盘镜像文件
$qemu-img convert -O qcow2 debian.qcow2 debian_new.qcow2
转换完成后可以看到debian_new.qcow2占用的KVM主机存储空间与客户机使用的磁盘空间基本是一致的。然后用新的磁盘镜像文件debian_new.qcow2启动客户机即可。
三、具体步骤:
1、从宿主主机端查看镜像
qemu-img info original.img
image: original.img
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 2.8G
cluster_size: 65536
2、启动进入虚拟机,使用dd命令将客户机未使用的磁盘空间用0填满
dd if=/dev/zero of=~/temp
rm temp
shutdown -h now
3、从KVM主机端查看镜像
1)转换磁盘镜像文件
qemu-img convert -O qcow2 original.img new.img
2)查看转换后的信息
qemu-img info new.img
image: new.img
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 1.2G
cluster_size: 65536
- 缩小虚拟镜像实际占用空间
- 虚拟机缩小磁盘占用空间
- 数据实际空间与占用空间
- 缩小图片的大小,缩小图片的占用空间
- 为什么实际大小和占用空间不一样
- 解决:cropit插件无法缩小裁剪图片占用空间
- 减少qcow2虚拟磁盘文件实际占用的存储空间
- 段中的实际数据大小与占用空间大小问题
- 段中的实际数据大小与占用空间大小问题
- jQuery仿QQ空间图片查看特效(全屏,放大,缩小,旋转,镜像,鼠标滚轮缩放)
- 制作Hadoop虚拟镜像
- 虚拟机、虚拟驱动、镜像
- 虚拟机内删除文件后减少qcow2虚拟磁盘文件实际占用的存储空间
- 王爽_汇编语言 段中的实际数据大小与占用空间大小问题
- 【汇编】段中的实际数据大小与占用空间大小问题
- Android基础之操作图片(放大缩小旋转镜像)
- 数据库缩小表空间
- oracle缩小表空间
- uses-permission权限列表
- 尽量少的打扰别人
- 应届毕业生就业初体验:交房租时才感觉活不下去
- UVA-12716 - GCD XOR
- 关于CCSprite、CCSpriteFrame、 CCSpriteFrameCache以及CCSpriteBatchNode的关系
- 缩小虚拟镜像实际占用空间
- 百度离线地图使用时需要联网吗?
- 结合shiro的RBAC
- ARM学习随笔(14) I2C转UART之SC16IS740
- Win32扫雷(根据以前的控制台扫雷实现)
- js stack and heap(js栈和堆)
- GIS 中地理坐标和屏幕坐标的标准转换方法
- 机房收费系统之日期查询
- 活动选择