我们似乎有许多这样的 NTFS 驱动器,它们在虚拟磁盘上占用的空间比文件占用的空间多得多。
当 Windows Server Backup 占用的空间比文件本身多得多时,注意到了这个问题。
举个例子,我们有一个小型驱动器,里面主要有办公文档:
- 实际文件大小:2.78Gb
- 使用的磁盘属性:6.03Gb
- 压缩的 .vhdx 的大小:27Gb
这不是回收站,我已经删除了。这不是影子复制,我已经删除了它们。
在 Server 2012 上似乎没有任何方法对这些虚拟驱动器进行碎片整理,所以我们也无能为力。
还有其他建议吗,什么占用了这么多空间?
答案1
删除虚拟机内部的数据不会导致 VHDX 的大小减小。一旦 VHDX 增大,它将保持该大小,或者随着虚拟机内部数据量的增加而增大。
如果您想恢复主机上被 VHDX 占用的部分磁盘空间,您可以压缩 VHDX。
此外,您可以缩小虚拟机内的 Windows 卷,然后缩小 VHDX。
答案2
补充 joeqwerty 的回答,他是对的,因为当你从分区内部删除一些文件时,虚拟硬盘大小不会自动减少。
为了压缩,您可以使用 Hypervisor 的菜单来完成。
在 ESX 中:虚拟机 > 虚拟机设置 > 硬件 > 实用程序 > 紧凑型
在 HyperV 中:在 VM 中的 HHD 工具菜单中单击“优化”。之后关闭 VM,在 Hypervisor 本身或另一个 Windows VM 中右键单击 VHDX,单击“安装”,然后单击“优化”。
一种旧方法是通过 diskpart 安装 VHDX,但我现在不建议这样做。
解释尺寸;
该工具通常会填充 HDD 分区表,其中文件之前存在并且不再存在,以将其填充为零。我们在硬删除 VHDX 内部的那些“归零”引用后运行的优化。与过去一样,在 2012 年之前,我们必须运行 sdelete -z 来将 VM 内部的空白空间清零,这些空间已填充到 .VHDX 的 100%,然后在 VM 关闭时压缩 VHDX。现在这个过程更容易了。