我爱帮助网-手册QQ交流群

Nas交流与矿渣群(unraid 群晖 猫盘 蜗牛等):580680114         物联网/智能家居群:518812757             帮助教程:手册大全

软件使用与建站群:1057308983      虚拟化交流群:13448651

0

Esxi虚拟机服务器回收虚拟机内部空间


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

 如果你的卷有两个卷块大小不一样,也可以在这个两个卷之间来做存储迁移,也可以回收。