我在ESXi 5.5服务器上有一些虚拟机。 我的ESXi服务器达到了最大存储容量,显示4 GB的可用空间。 我从我的一台虚拟机中删除了大约300GB的无用数据,但ESXi 5.5服务器仍显示出4GB的空间。 我的所有虚拟机磁盘都是精简configuration的。 我该如何解决这个问题? 我也重新启动了ESXi服务器,但无济于事。
精简configuration的.vmdk文件在数据删除时不会自行缩小,它们始终保持其最大填充状态的大小。
你想要的,减小.vmdk的大小,以实际使用的空间大小,被称为“细化”。
VMwares知识库给出了这些说明:
在大多数文件系统中删除文件不会完全删除它们; 只是文件表将被改变。 使用免费的安全文件删除实用程序是很有用的,比如Eraser或者SDelete来清空这个空间来“清零”卷上的空闲空间,有效地清除数据的空闲空间。 那么,磁盘可以适当地变薄。 然后可以使用vmkfstools -K命令(ESXi / ESX 4.1及更高版本)完成块回收,或使用Storage vMotion将虚拟机迁移到具有不同VMFS块大小的数据存储。
所以:
vmkfstools -K <file.vmdk> 。 请注意,将VM迁移到其他数据存储的另一种方法, 只能在数据存储上的blocksize不同时释放空间 !
之后.vmdk应该只有当前存储的数据的大小。
有关详细信息,请参阅知识库文章 。
5.5是相当古老,但如果你能升级到6.0,你可以使用在客人的UNMAP:
问:UNMAP运行所需的先决条件是什么?
有一些必须满足的先决条件。 这些是:
VSPHERE 6.0存储特性第8部分:VAAI UNMAP变更
在6.5中,客户内的UNMAP也应该和Linux一起工作 。
我使用vSphere Client将VM作为OVF模板导出。 然后,从主机中删除虚拟机,并部署OVF模板。 确保在部署期间select精简configuration。 作为奖励,您将在本地或networking驱动器上拥有虚拟机备份。 此方法适用于免费版本的ESXi。