原文网址:VMware--解决vmdk越来越大的问题(vmdk瘦身)-CSDN博客
简介
本文介绍VMware解决vmdk越来越大的问题的方法。
问题描述
刚开始虚拟机的vmdk还不大,也就1G左右。用着用着,它越来越大,到了30多G!

原因分析
VMDK文件之所以大,是因为guest系统总是占用空间而不释放。
虚拟机删除文件只是把文件索引给剔除掉了,而删除的这个文件可能存在.vmdk的任何位置,对于windows来说,这个文件的中间有一块位置是0,此空间无法释放。唯一的办法就是用一些手段把这块0的空间推到.vmdk的末尾,这样windows就知道这个文件变小了。
vmware-vdiskmanager.exe就是干这个事情:对.vmdk进行空间整理,把中间那些是0的块给挪到后边去,就释放掉了。
解决方案
对vmdk进行瘦身。
1.在虚拟机Ubuntu里操作
cat /dev/zero > zero.fill
最终会因为磁盘空间用完而退出:

查看一下zero.fill文件大小(77G):

然后删除此文件:
rm -f zero.fill
2.在主机上操作
关闭虚拟机,使用vmware-vdiskmanager.exe来给vmdk瘦身。
本处我的VMware安装在D盘(D:\Program Files (x86)\VMware\VMware Workstation),vmdk在这里:vmware-vdiskmanager.exe -k "E:\work\vmware\Ubuntu20.04.1\Ubuntu20.04.1\Ubuntu20.04.1.vmdk"
到VMware目录下执行命令:
vmware-vdiskmanager.exe -k "E:\work\vmware\Ubuntu20.04.1\Ubuntu20.04.1\Ubuntu20.04.1.vmdk"

查看*.vmdk文件,已经缩小了(大概缩小了一半):
