现在的位置: 首页 > 未分类 > 正文

为 Linux 系统的 VMware 虚拟机压缩硬盘

2017年11月13日 未分类 ⁄ 共 1328字 ⁄ 字号 暂无评论

VMware 虚拟机的硬盘随着使用会越来越大,即使在虚拟系统中删除了文件,也不会减少虚拟硬盘的大小。为了释放虚拟硬盘的空间,需要使用 VMware 提供的工具对虚拟硬盘进行整理和压缩。本文记录 Linux 系统的虚拟机压缩硬盘的方法。

准备

为了压缩虚拟硬盘,需要在虚拟机中安装 VMware Tools 。

命令介绍

压缩硬盘包含两个过程:

第一步是清理,运行在虚拟机系统中,VMware Tools 收集所有没有被使用的硬盘块,为压缩做准备;
第二部是压缩,运行在主机系统中,VMware Workstation 根据清理的硬盘空间减少虚拟硬盘的大小。
在 Linux 系统中,压缩硬盘使用的是 vmware-toolbox-cmd 工具的 disk 命令:

vmware-toolbox-cmd-help-disk
virtual-toolbox-cmd工具disk子命令帮助

示例

查看虚拟硬盘占主机硬盘空间大小

size_before_shrinked_in_host
压缩前虚拟硬盘占主机空间大小
查看虚拟机系统中的硬盘空间使用情况

在虚拟机系统中删除不需要的文件,以增加收回的空间大小。

size_before_delete_in_guest
删除文件前虚拟硬盘空间使用情况
删除文件后虚拟硬盘空间使用情况
删除文件后虚拟硬盘空间使用情况
查看虚拟硬盘列表

虚拟硬盘列表
虚拟硬盘列表
清理虚拟硬盘

执行下面的命令,对 / 分区所在的虚拟硬盘进行清理:

1
sudo vmware-toolbox-cmd disk wipe /
清理虚拟硬盘
清理虚拟硬盘
压缩虚拟硬盘

执行下面的命令,对 /content/data 挂载点所在的虚拟硬盘进行压缩:

1
sudo vmware-toolbox-cmd disk shrink /content/data
压缩虚拟硬盘
压缩虚拟硬盘
注:现在对单个虚拟硬盘调用 disk shrink 会对所有的虚拟硬盘进行压缩,不知道是不是 Bug,所以我觉得比较好的办法是对每个虚拟硬盘分别调用 disk wipe,然后调用 disk shrinkonly 对所有的虚拟硬盘进行压缩。

查看压缩后虚拟硬盘占主机硬盘空间大小

压缩后虚拟硬盘占主机空间大小
压缩后虚拟硬盘占主机空间大小
清理并压缩所有虚拟硬盘的简单脚本

1
2
3
4
5
6
7
8
9
10
#!/bin/bash

disk_list=sudo vmware-toolbox-cmd disk list

for disk in ${disk_list}
do
sudo vmware-toolbox-cmd disk wipe ${disk}
done

sudo vmware-toolbox-cmd disk shrinkonly

转自

https://blog.reohou.com/how-to-shrink-disk-for-vmware-virtual-machine-with-linux-guest/

https://www.ytyzx.org/index.php?title=%E5%A6%82%E4%BD%95%E5%9C%A8Linux(CentOS_7)%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%A8%A1%E5%BC%8F%E5%AE%89%E8%A3%85VMware_Tools&variant=zh-hans

给我留言

您必须 [ 登录 ] 才能发表留言!