Esxi虚拟机服务器回收虚拟机内部空间
使用精简模式我们为的就是节省点存储空间,但是我们在虚拟机里面存放了大量的数据,删除数据后在vmware或esxi 空间并没有回收回来。
原因是:我们在虚拟机中删除文件时,其实只是吧inode信息删除了,就是相当于把书的目录删除了,我们真实的数据是没有删除,这就是我们为什么误删除文件后可以通过恢复软件恢复误删除的数据。然而删除inode信息vmware是无法感知到的,这个时候怎么办了,我们就需要彻底的删除数据才可以,就是把删除的数据置零。
操作方法
一、 删除空间置零
1、windows系统我们需要下载一个工具叫sdelete ,工具是微软提供的,下载链接
https://docs.microsoft.com/en-us/sysinternals/downloads/sdelete
下载后执行: sdelete -c -z 需要回收的磁盘 (例如:sdelete -c -z F:\)
2、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 会先把磁盘所有空间占满,注意vmware esxi以及存储上的空间容量。
二、我们登陆esxi 上找到磁盘所在的目录,执行vmkfstools -K 磁盘文件,就可以回收所有置零空间
例如:vmkfstools -K myWin10.vmdk
如果你的卷有两个卷块大小不一样,也可以在这个两个卷之间来做存储迁移,也可以回收。