VMWare清理Linux虚拟机磁盘

关于这个问题,早就想写出来总结一下了。玩过VMWare的都知道,Windows虚拟机清理磁盘非常简单,在GUI界面下选择磁盘清理就可以了,但是此操作对Linux系统无解。

注意,这里说的VMWare包括Windows平台的VMWare Workstation和Mac OSX的VMWare Fusion。

这里以VMWare Fusion为例,记录一下是如何清理的。

Linux虚拟机里磁盘清理

清理已经删除的软件的.deb软件安装包

sudo apt-get autoclean

使用zero数据填充磁盘的剩余空间,以便在下一步的清理阶段可以回收这些空间

sudo cat /dev/zero > zero;sync;sleep 1;sudo rm zero

宿主系统下清理vmdk虚拟机文件

这时候,我们把虚拟机关机。然后打开Terminal程序,进入到VMWare Fusion的安装目录

cd '/Applications/VMware Fusion.app/Contents/Library'

这时候我们先清理磁盘碎片(这一步并不会回收磁盘空间)

./vmware-vdiskmanager -d path_to_your/disc.vmdk

这里要注意一下,因为为了便于移动,一般情况下我们的虚拟机磁盘是分成多个文件的。所以有些文章里边说”path_to_your/disc.vmdk”指的是”disc-s001.vmdk”, “disc-s002.vmdk”,如果你这样执行,会报错,说指定的文件不是虚拟机文件。
其实这里是虚拟机磁盘的入口文件”disc.vmdk”,这个文件其实是一个文本文件,它列出了所有的虚拟机文件。

接下来我们回收磁盘空间

./vmware-vdiskmanager -k path_to_your/disc.vmdk

上面的两步都要执行一段时间,耐心等待或者去活动一下就好了。

P.S. 说起来也比较奇怪,VMWare官方对于这个问题的教程就是在GUI界面里边直接清理磁盘就好了,但是就像我们一开始提到的,根本没有效果。也不知道为什么不更新。

参考

  1. Shrinking Linux virtual disks on OSX VMWare fusion
  2. How to shrink Linux VMs with Fusion 6
  3. How To Shrink VMware Virtual Disk Files (.vmdk)
  4. Defragmenting, shrinking, and cleaning up VMware Fusion virtual machine disks (1001934)
  5. apt-get指令的autoclean,clean,autoremove的区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值