虚拟机内部删除内容回收esxi上空间

   

vm esxi精简模式下,数据删除了,但是虚拟机占用的物理磁盘空间却没有被释放,我们在虚拟机中删除文件时,其实只是吧inode信息删除了,就是相当于把书的目录删除了,我们真实的数据是没有删除。

第一步、删除空间置零

win虚拟机

下载微软的软件sdelete,链接在这
下载后执行: sdelete -c -z 需要回收的磁盘 (例如:sdelete -c -z C:\)

linux虚拟机

用零文件把磁盘写满,然后删除文件

dd if=/dev/zero of=/[mounted-volume]/zeroes && rm -f /[mounted-volume]/zeroes

例如:

dd if=/dev/zero of=/date/zeroes
rm -f /date/zeroes

这个过程要注意宿主机要有足够空间,因为dd命令会把虚拟机磁盘写满。

第二步 清理虚拟磁盘

esxi中使用vmkfstools

我们登陆esxi 上找到磁盘所在的目录,执行vmkfstools -K 磁盘文件,就可以回收所有置零空间
例如:

vmkfstools -K my_Test_1.vmdk

win中使用vmware-vdiskmanager

在windows命令行里执行vmware-vdiskmanager.exe(这个在VMware player里好像没有的,所以需要升级为VMware workstation pro版本!)

vmware-vdiskmanager.exe -k (你的虚拟机磁盘路径)
#例如
vmware-vdiskmanager.exe  -k "E:\虚拟机\client 20191113\client\Red Hat Enterprise Linux 6 64 位.vmdk"

发表评论