vmdk 文件太大但客户操作系统很小

vmdk 文件太大但客户操作系统很小

我的虚拟机遇到了一个奇怪的问题。我在 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...,一切就绪了。

相关内容