虚拟机内删除文件后减少qcow2虚拟磁盘文件实际占用的存储空间
http://openwares.net/linux/reduce_qcow2_image_size_kvm.html
虚拟磁盘文件占用的空间会越来越大,就算从客户机里面删除了很多文件,但这些空间并未释放出来,qcow2文件仍然占用大量的主机存储空间。
虽然qcow2有一个特点,客户机需要时才分配存储空间,这工作的一直很好。但是当从客户机删除了很多文件,释放了很多空间时,从KVM主机端完全看不到qcow2虚拟磁盘文件有变小的迹象。这是因为现在的文件系统都有一个特点,删除文件时并没有真正的清除文件的内容,只是简单的做了标记,这样删除文件会很迅速,只有当用到这些空间时才重新写入新的数据。这也是反删除甚至反格式化软件存在的基础。所以要想缩小qcow2虚拟磁盘文件的大小,就要真正释放这些未使用的空间才可以。
不同的客户机类型有不同解决方式,基本思路就是用0填充未使用的客户机磁盘空间,然后用qemu-img转换磁盘镜像文件,转换后的磁盘镜像文件将只包含所有已使用的磁盘空间。
linux客户机
- 使用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启动客户机即可。
windows客户机
- 删除不需要的文件,清理系统垃圾,然后整理磁盘碎片
- 下载SDelete,借助sdelete用0来填充未使用硬盘空间
查看sdelete帮助
C:\>sdelete
SDelete - Secure Delete v1.6
Copyright (C) 1999-2010 Mark Russinovich
Sysinternals - www.sysinternals.comusage: sdelete.exe [-p passes] [-s] [-q] ...
sdelete.exe [-p passes] [-z|-c] [drive letter] ...
-a Remove Read-Only attribute
-c Clean free space
-p passes Specifies number of overwrite passes (default is 1)
-q Don't print errors (Quiet)
-s or -r Recurse subdirectories
-z Zero free space (good for virtual disk optimization)用0填充C分区空闲区域
C:\>sdelete -z c关闭客户机
- 最后在KVM主机上转换qcow2磁盘镜像文件
$qemu-img convert -O qcow2 windows.qcow2 windows_new.qcow2
转换完成后可以看到windows_new.qcow2占用的KVM主机存储空间与客户机使用的磁盘空间基本是一致的。然后用新的磁盘镜像文件windows_new.qcow2启动客户机即可。
虚拟机内删除文件后减少qcow2虚拟磁盘文件实际占用的存储空间相关推荐
- 电脑快捷方式删除文件后四种找回方法
快捷指令是一种用作替代快捷键操作的技术.也可以称为"快捷键","快捷方式"或"快捷键序列",它们允许用户在非常快速和方便的方式建立特定操作序 ...
- 微信小程序提示 “Error: 代码包大小为 2491 kb,上限为 2048 kb请删除文件后重试”
遇到情况: 预览小程序时,提示 "Error: 代码包大小为 2491 kb,上限为 2048 kb请删除文件后重试" 看了一下官方说明如下: 目前小程序分包大小有以下限制: 解决 ...
- 删除文件后,磁盘空间没有释放的处理记录
问题说明:IDC里的一台服务器的/分区使用率爆满了!已达到100%!经查看发现有个文件过大(80G),于是在跟有关同事确认后rm -f果断删除该文件.但是发现删除该文件后,/分区的磁盘空间压根没有释放 ...
- 解决linux删除文件后空间没有释放问题
为什么80%的码农都做不了架构师?>>> inux删除文件后沒有释放空间 今天发现一台服务器的home空间满了,于是要清空没用的文件,当我删除文件后,发现可用空间沒有变化 os ...
- MyEclipse在删除文件后servers报错问题解决
MyEclipse在删除文件后servers报错"Could not create the view: An unexpected exception was thrown." 解 ...
- linux删除文件后没有释放空间
linux删除文件后没有释放空间 今天发现一台服务器的home空间满了,于是要清空无用的文件,当我删除文件后,发现可用空间没有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [ro ...
- linux删除文件后却没有释放空间
系统:CentOS7 现象:服务器里 删除文件后发现并没有释放空间 如下:使用df -Th命令查看磁盘空间 发现空间已经满了 可是之前明明已经删除了一个大文件 但是空间没有被释放 原因: 在Linux ...
- Git 删除文件后找回方式总结
文章目录 知识点排列 一.Git特性--.git只增不减 二.基于索引值的找回操作 git reset命令 参数对比 三.文件恢复的几类情景 1.工作区删除文件,在尚未提交删除记录到本地版本库前,恢复 ...
- 怎么找到win10由于删除文件后清空回收站的文件
永久删除文件是很常见的数据恢复故障.在永久删除文件后如何恢复数据就显的尤为重要了,首先我们需要明白,在永久删除文件后不能往要恢复的误删文件所在的分区,存入任何新的文件,否则数据覆盖了就无力回天了.接下 ...
最新文章
- 「特征工程」之零基础入门数据挖掘
- 亚马逊全面回应:涵盖人脸识别、假货等 10 个问题
- 通过修改EIP寄存器实现强行跳转并且注入DLL到目标进程里
- MongoDB基础教程系列--目录结构
- 自动化测试框架搭建-报告-4
- java接口构建英雄属性_Java开发学习心得(三):项目结构
- 12.8 早晨我一直在假笑,为了骗自己
- C#设计模式之十二代理模式(Proxy Pattern)【结构型】
- 简单一致的Log4j2 Logger命名
- 【牛客刷题记录】2021-03-10
- java javah_Java开发网 - 一个javah的问题
- jdbc远程连接mysql url_jdbc连接mysql之url书写
- 简述局域网与分布式系统异同点
- 《Arduino家居安全系统构建实战》——1.1 家居安全的基础设施
- AcWing 1750. 救生员(差分+暴力枚举)
- Jenkins配置ansible
- 调用图(Call Graph)
- Java毕设项目银行贷款管理系统计算机(附源码+系统+数据库+LW)
- Cross-speaker Style Transfer with Prosody Bottleneck in Neural Speech Synthesis
- [PDDL人工智能] 01.PDDL规划器安装及入门详解(规划领域定义语言)
热门文章
- rpmfusion 的国内大学 NEU 源配置
- TP关闭调试模式后报错
- TI的C6000系列DSP,flashboot的实现
- linux软件逆向分析,详解对ELF64之手动脱壳的逆向分析
- 微信云开发的娱乐小程序 充电时余额疯狂涨钱模拟器
- 阿里云OSS怎么从新手怎么到大师
- 银屑病与大肠(调研手稿四)
- arm9260 linux编译,at91sam9260-linux建立最小系统
- [c#.net]SuspendLayout 和 ResumeLayout
- 超级巡警4.0 Beta6 发布,新增Arp防火墙!