Vagrant虚拟机磁盘无故增大

8
我正在使用Vagrant和VirtualBox作为我的开发环境,但是磁盘空间无缘无故地增长。当我第一次创建并配置该虚拟机时,磁盘大小约为4GB,但在使用3个月后,即使我没有安装任何新软件,磁盘大小也达到了18GB。我无法解释这些G的空间都被用在了什么地方。
您有任何想法或解决方案吗?拥有多个虚拟机只会占用大量磁盘空间而无意义。
谢谢!
1个回答

8

首先,您需要检查虚拟机中实际占用了多少空间。VirtualBox(以及VMWare)使用动态尺寸分配,因此它们会在需要时增加文件大小,但除非您明确要求,否则它们永远不会释放空间。

运行 df -m 命令检查每个分区实际使用的空间量,如果您认为某个分区使用了过多的空间,请进入挂载点并清理一些文件。

节省虚拟机上未分配块的空间

$ dd if=/dev/zero of=/EMPTY bs=1M  || echo "dd exit code $? is suppressed"
$ rm -f /EMPTY

现在回到您的主机,您需要申请免费空间

$ VBoxManage modifyhd <name>.vdi --compact

此选项仅适用于 vdi 格式,如果您使用的是 vmdk 格式,则需要先将其转换为 vdi 格式。

$ VBoxManage clonehd <name>.vmdk <name>.vdi --format vdi
$ VBoxManage modifyhd <name>.vdi --compact
$ rm <name>.vmdk
$ VBoxManage clonehd <name>.vdi <name>.vmdk --format vmdk

谢谢您的回答。我无法确定到底是什么占用了这么多空间。/var文件夹似乎是最大的,约为3.3G,但所有子文件夹加起来只有约1.5G。$ sudo du -hc --max-depth=1 var/ | sort -hr3.3G var/ 3.3G 总计 637M var/lib 587M var/cache 33M var/crash 5.5M var/log 1.4M var/backups 28K var/spool 20K var/www 20K var/tmp 4.0K var/snap 4.0K var/opt 4.0K var/mail 4.0K var/local/var是我机器上最大的,但我无法确定到底是什么占用了这么多空间?总共3.3G,但所有子文件夹不超过1.5GB。 - Viorel
只需运行命令-如果硬盘上的总使用空间小于4GB,则压缩vm磁盘将缩小文件的大小。 - Frederic Henri
VBoxManage: 错误: 克隆介质失败 VBoxManage: 错误: 无法注册硬盘 '/Users/artem/VirtualBox VMs/ReactMusic/box-disk1.vmdk' {2206b495-10ee-4781-8edd-66a7f08ec6b6},因为已经存在 UUID 为 {0de305a2-22e7-40af-8226-75d7f31a7637} 的硬盘 '/Users/artem/VirtualBox VMs/ReactMusic/box-disk1.vmdk' VBoxManage: 错误: 详细信息: 代码 NS_ERROR_INVALID_ARG (0x80070057),组件 VirtualBoxWrap,接口 IVirtualBox VBoxManage: 错误: 上下文: "RTEXITCODE handleCloneMedium(HandlerArg *)",位于文件 VBoxManageDisk.cpp 的第 954 行 - Artem Bernatskyi
看起来,在将vmdk克隆到vdi后,--compact步骤是不必要的,因为新文件已经被压缩了。 - WilQu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接