我的虚拟机遇到了一个奇怪的问题。我在 Windows 7 Enterprise 64 位上托管的 VMware 工作站 (9.0.2 build-1031769) 上运行了一个 rhel 6.1 客户操作系统。vmdk 文件的大小约为 65 GB,而客户操作系统的总大小只有 11GB。我在这里遗漏了什么?
[root@praveenVM praveen]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 95G 11G 79G 12% /
tempfs 499M 340K 499M 1% /dev/shm
/dev/sda1 124M 61M 58M 52% /boot
/var 中有一些临时文件(不必要的日志),我现在已经删除了这些文件,因此已用空间约为 11GB。但为什么 vmdk 文件约为 65GB?删除客户机操作系统中所有不必要的文件后,vmdk 的大小应该会自动减小,对吗?
答案1
我所做的就是将虚拟机重新导入工作站。
答案2
看来 VMware 无法对 ext4 格式的驱动器进行压缩。解决方案是您需要用零填充驱动器,然后删除您用来执行此操作的文件。
所以:
sudo su
cat /dev/zero > wipefile; rm -f wipefile
shutdown -h now
基本上,您成为 root 用户,创建一个充满零的文件,然后删除它并关闭机器。
我刚刚运行了上面的代码,并观察到了以下几点:
- 我怀疑
vmdk
文件会增长到磁盘的大小,但事实并非如此。它稍微增长了一点,但不是很多。这很好,因为我的主机没有足够的空间容纳整个vmdk
文件。 我怀疑客人的车会满载。确实如此。我观看了:
while : do du -h sleep 2 done
客户磁盘开始时占用空间约为 15%,然后攀升至 100%,此时cat
命令失败,并且擦除文件被rm
执行,使其重新回到 15%。
我看到一些帖子也说你应该这样做/boot
。这可能是一个好主意,但我认为这并不总是必要的。
完成后,进入机器的设置 > Hard Disk
> Utilities
> Compact...
,一切就绪了。