VMware虚拟化 - 运维篇


第二章 vCenter回收活跃虚拟机的剩余可用空间

  • vCenter回收活跃虚拟机的剩余可用空间
  • 前言
  • 前置条件
  • 软件环境
  • 硬件环境
  • Windows虚机做磁盘空间的资源回收
  • 验证磁盘资源是否回收成功
  • 参考链接


vCenter回收活跃虚拟机的剩余可用空间

前言

由于整合了几台ESXi主机,使用了vCenter虚拟化平台,使用了外置共享存储,部分虚拟机的磁盘空间分配不均衡,需要给虚拟机做磁盘空间的剩余可用空间的资源压缩回收。

  • 虚拟化平台:VMware VSCA 6.7.0.52000
  • ESXi底层:VMware VMvisor 6.7.0

前置条件

软件环境

1. Windows虚拟机的磁盘容量大于已用容量
2. Linux虚拟机的磁盘容量大于已用容量



硬件环境

1. 数据存储的空间量要大于回收磁盘的2倍以上,即有个1TB的磁盘要做资源回收,则数据存储得至少有2TB以上的空间,用于存放转换前后的临时磁盘数据




Windows虚机做磁盘空间的资源回收

先将虚拟机系统中的不需要的临时文件,安装文件,系统更新文件或不需要的档案全部删除

esxi 释放磁盘空间 esxi剩余空间_esxi 释放磁盘空间

Windows虚机磁盘进行碎片整理优化

esxi 释放磁盘空间 esxi剩余空间_windows_02


磁盘管理对磁盘进行压缩卷

esxi 释放磁盘空间 esxi剩余空间_windows_03


压缩卷之后,用sDelete工具对当前磁盘进行置零

### 当前需资源回收的磁盘盘符是C盘

sdelete64 -z c:					# 对磁盘的剩余空间置零(写0),适合虚拟磁盘优化



ESXi底层使用vmkfstools工具进行转换和资源回收

### 如果当前磁盘不是精简置备的类型,得先转换成精简置备的磁盘类型
### 虚拟机要关机状态下进行转换磁盘类型

vmkfstools -i windows.vmdk -d thin windows_new.vmdk		# 磁盘转换成精简置备
vmkfstools -K windows_new.vmdk							# 精简置备磁盘压缩未使用的空间。压缩后,需要将名称 更改为 对应到旧的名称
mv windows.vmdk windows_bak.vmdk						# 旧文件做备份
mv windows-flat.vmdk windows-flat_bak.vmdk				# 旧文件做备份
mv windows_new.vmdk windows.vmdk						# 使用新文件
mv windows_new-flat.vmdk windows-flat.vmdk				# 使用新文件


### 检查vmx配置文件里的fileName配置是否正确
grep -E "fileName" windows.vmx

### 修改vmdk配置文件的磁盘容量大小和读取flat文件的配置
### 如我想把原来的350G 改小为 100G,就是100 X 1024 X 1024 X (1024/512) = 209715200
grep -E "windows" windows.vmdk
sed -ie 's/windows_new/windows/' windows.vmdk
sed -ie 's/734003200/209715200/' windows.vmdk



重新注册虚拟机(虚机要关机状态),使资源回收的配置生效

esxi 释放磁盘空间 esxi剩余空间_linux_04

esxi 释放磁盘空间 esxi剩余空间_Windows_05

esxi 释放磁盘空间 esxi剩余空间_windows_06

esxi 释放磁盘空间 esxi剩余空间_windows_07



磁盘资源回收后使用一段时间没有问题则删除bak的文件

验证磁盘资源是否回收成功

(略)


参考链接

  1. Esxi虚拟机硬盘压缩及回收空间(磁盘缩小减少空间占用)的最全8种方法大全
  2. SDelete - Windows Sysinternals