我有一个通过 NAS 每天共享/同步的虚拟机,因此大小非常重要。
该映像存储为单个 VMDK 文件,大小约为 31GB。不过,据我所知,不需要那么大。
VMWare Player 设置显示未使用~21.5GB,而输出df
显示实际运行时使用了大约~13GB(假设包括交换)。
我努力了在 VMWare 设置中对磁盘进行碎片整理以及压缩磁盘 - 这两个操作几乎立即完成。
我怎样才能将该虚拟机缩小到更易于管理的大小?当我将它转换为单个文件之前,将其拆分为多个文件(大约有 30 个)时,它仍然占用大致相同的空间。
我试过了使用 vmware-vdiskmanager.exe 程序,对映像进行碎片整理 (-d) 和压缩 (-k) 大约需要 5 分钟,但大小从 32.4GB 降到了 32.1GB。差别不大。
请注意,VMDK 文件(在 Windows 资源管理器中)的大小是在机器关闭后测量的。
答案1
看起来您将虚拟机内的整个 120 GB 虚拟磁盘设为单个 LVM 卷。
即使您只将其中的一部分用于实际文件系统。
这可能会让 VMWare 感到困惑。
我建议释放未使用的 LVM 块,并将已使用的块迁移到磁盘的前端(显然是在 Fedora 安装中)。
这应该会在磁盘末尾创建一大块未分配的空间(应该在 GPartEd 中显示)。
然后再次进行碎片整理并缩减。
如果这没有帮助,您可以尝试另外一种方法:
将 VMDK 文件(副本)转换为 VHD 或 VDI 格式,然后将其转换回 VMDK。根据我的经验,这通常会使文件小得多。
PS:
我建议使用 VirtualBox 进行转换。它的转换选项比 VMWare 更灵活。
(不要在同一台计算机上安装 VirtualBox 和 VMWare!它们可能会发生冲突。)