缩小仅使用了约 10GB 的 VMWare 机器的 VMDK 文件大小

缩小仅使用了约 10GB 的 VMWare 机器的 VMDK 文件大小

我有一个通过 NAS 每天共享/同步的虚拟机,因此大小非常重要。

该映像存储为单个 VMDK 文件,大小约为 31GB。不过,据我所知,不需要那么大。

VMWare Player 设置显示未使用~21.5GB,而输出df显示实际运行时使用了大约~13GB(假设包括交换)。

我努力了在 VMWare 设置中对磁盘进行碎片整理以及压缩磁盘 - 这两个操作几乎立即完成。

我怎样才能将该虚拟机缩小到更易于管理的大小?当我将它转换为单个文件之前,将其拆分为多个文件(大约有 30 个)时,它仍然占用大致相同的空间。

我试过了使用 vmware-vdiskmanager.exe 程序,对映像进行碎片整理 (-d) 和压缩 (-k) 大约需要 5 分钟,但大小从 32.4GB 降到了 32.1GB。差别不大。

请注意,VMD​​K 文件(在 Windows 资源管理器中)的大小是在机器关闭后测量的。

虚拟机设置

VM 中的控制台输出

Windows 资源管理器中的 VMDK 映像

答案1

看起来您将虚拟机内的整个 120 GB 虚拟磁盘设为单个 LVM 卷。
即使您只将其中的一部分用于实际文件系统。
这可能会让 VMWare 感到困惑。

我建议释放未使用的 LVM 块,并将已使用的块迁移到磁盘的前端(显然是在 Fedora 安装中)。
这应该会在磁盘末尾创建一大块未分配的空间(应该在 GPartEd 中显示)。

然后再次进行碎片整理并缩减。

如果这没有帮助,您可以尝试另外一种方法:
将 VMDK 文件(副本)转换为 VHD 或 VDI 格式,然后将其转换回 VMDK。根据我的经验,这通常会使文件小得多。

PS:
我建议使用 VirtualBox 进行转换。它的转换选项比 VMWare 更灵活。
(不要在同一台计算机上安装 VirtualBox 和 VMWare!它们可能会发生冲突。)

相关内容