我在服务器上运行的是 ESXi 6.5u1,我有一个虚拟机,其精简配置的最大大小为 128gb,虚拟机报告已使用空间约为 4gb,但 ESXi 为虚拟硬盘配置了超过 64gb 的空间。我尝试对磁盘进行碎片整理并将其克隆到新的精简配置中,但它仍然使用了太多空间。du -h --max-depth=1 和 df -h 都报告总使用空间约为 3.5 gb,但 ESXi 报告超过 64 gb。以下是一些屏幕截图:
du-h:https://i.stack.imgur.com/31At5.png DF-H:https://i.stack.imgur.com/brJiL.png ESXi:https://i.stack.imgur.com/Tzkic.png
另一个不相关的问题是我无法移除虚拟机上的软盘驱动器,当我关闭机器并将其移除时,只要我重新打开虚拟机编辑器它就会回来。
下面是我的 DNS 服务器上相同统计数据的图片,您可以看到它没有遇到相同的问题。两个虚拟机都是版本 13,并且位于同一个数据存储区(即 vmfs 6)上。
ESXi 中报告的磁盘使用情况:https://i.stack.imgur.com/GGDuc.png 操作系统上报告的磁盘使用情况:https://i.stack.imgur.com/YBO4U.png
与 DNS 服务器的差异要小得多,可以通过快照和分配的 RAM 来解释。
答案1
我试过了,效果很好
http://www.virten.net/2014/11/howto-shrink-a-thin-provisioned-virtual-disk-vmdk/
基本上,您使用 DD 来创建一个充满零的文件,该文件的大小与驱动器上剩余的可用数据量一样大,然后在 vmdk 文件上使用 vmkfstools -K 来删除零并有效缩小文件大小。