SkyGz 发表于 2016-1-5 21:29:29

Vmware怎么有效的压缩磁盘, 所有方法都用过了, 没效果..

本帖最后由 SkyGz 于 2016-1-5 21:30 编辑

我的Vmware 是 10版本,   前段时间 编译安卓, 编译后,vmdk磁盘文件大小上到73G,在ubuntu清理编译后的文件, 用gparted查看 约占用23G...

用了以下所有方法,磁盘文件大小, 仍无法压缩下来.....vmdk磁盘文件仍然是73G,问还有啥方法可以压缩的,把空间搞出来

1. 在ubuntu里 执行 sudo vmware-toolbox-cmd disk shrinkonly命令进行压缩,结果 无效
2. 在主机WINDOWS下用 vmware-vdiskmanager.exe相关参数 -d -R -k -r全用遍了,结果 无效
3. 用diskgen新建一个vmdk磁盘文件, 然后克隆原磁盘文件,选项是整理碎片, 结果 无效
4. 在虚拟机控制台程序里,硬盘属性进行,碎片整理,压缩,结果 无效

quzhanguang3 发表于 2016-1-5 21:53:15

买个硬盘吧,又不贵。工钱都够了。

SkyGz 发表于 2016-1-5 22:13:13

quzhanguang3 发表于 2016-1-5 21:53
买个硬盘吧,又不贵。工钱都够了。

这不是有没有硬盘的问题,   我 笔记本的硬盘是 2T的,还有大把空间

只是 虚拟机 占用的无用磁盘空间 就看着不爽而已.....

Anhao 发表于 2016-1-5 22:16:13

一个最简单又麻烦的方法删掉重装

quzhanguang3 发表于 2016-1-5 22:16:55

SkyGz 发表于 2016-1-5 22:13
这不是有没有硬盘的问题,   我 笔记本的硬盘是 2T的,还有大把空间

只是 虚拟机 占用的无用磁盘空间 就 ...

你如果能解决了,可以去vmware当高工了。

jjj206 发表于 2016-1-5 22:22:51

我的理解是压缩虚拟磁盘里边的空间而不是压缩硬盘里的空间。

SkyGz 发表于 2016-1-5 22:32:07

jjj206 发表于 2016-1-5 22:22
我的理解是压缩虚拟磁盘里边的空间而不是压缩硬盘里的空间。

对,就是 vmdk磁盘文件的空间,   在虚拟机 实际占用23G,而在WINDOWS下,这虚拟机所用的vmdk磁盘文件 则占用了73G,虚拟系统 越用 vmdk文件就越大....

SkyGz 发表于 2016-1-5 22:34:33

Anhao 发表于 2016-1-5 22:16
一个最简单又麻烦的方法删掉重装

动不动 就重装.........须然是最有效的方法,   但也是 最差的方法,因为不是从根本上去解决问题......

dawanpi 发表于 2016-1-5 23:07:56

楼主要是有时间折腾,用7z高压一下虚拟磁盘文件,要是压缩包不比原文件小多少,说明已经不能再压缩了,就是有那么多的东西。

aozima 发表于 2016-1-5 23:53:34

日志型文件系统,虽然1T硬盘里,有效文件只有1M,但更新了1T数据以后,这1M文件的历史数据会覆盖整个硬盘。
对硬件及vdisk镜像来说,这些老数据都是有效的。

askme 发表于 2016-1-7 08:28:32

可以考虑用快照,保存些基本设置好的快照,系统弄乱了,就恢复,

dr2001 发表于 2016-1-7 08:42:23

一般压缩VM磁盘文件的方法:

-- 在虚拟机里:
1、删除没用的文件。
2、dd if=/dev/zero of=file的方法,用内容为二进制0的文件(一个或多个文件)填充所有磁盘空间。
3、删除这个填充空间的文件。

-- 关闭虚拟机,在虚拟机之外操作:
4、使用虚拟机的工具复制/压缩磁盘镜像。

原因:
- 虚拟机在操作磁盘镜像的时候,类似于只操作扇区,不考虑其上的文件系统的类型和内容;
- 磁盘镜像的存储类似于稀疏矩阵的存储,只有数据全0的时候空间才能被释放。
- 全0空间的释放需要外部工具操作,目前好像没有动态释放的。


在VM里编译大工程,最好是挂个单独的磁盘镜像,mount到某个目录,然后随便玩。完事儿后直接干掉镜像。

SkyGz 发表于 2016-1-7 16:50:13

dr2001 发表于 2016-1-7 08:42
一般压缩VM磁盘文件的方法:

-- 在虚拟机里:


dd if=/dev/zero of=file这方法非常有效.....磁盘文件已恢复到24G了

dr2001 发表于 2016-1-7 20:31:11

SkyGz 发表于 2016-1-7 16:50
dd if=/dev/zero of=file这方法非常有效.....磁盘文件已恢复到24G了

这是终极方案,不到万不得已一般不用,毕竟填满卷太费时间和空间。
除非是在做某个环境的基础镜像,否则用到这个就需要考虑是不是VM的某些功能没正确用到。

一般快照/差分卷;临时挂大卷足够解决问题。VBox之类的有更细节的卷属性,可以更好的控制细节。
页: [1]
查看完整版本: Vmware怎么有效的压缩磁盘, 所有方法都用过了, 没效果..