VSAN存储磁盘空间回收

时间:2023-02-12 18:13:42

前言

虚拟主机在初期创建的时候采取的是“精简置备”模式,实际磁盘占用空间会在初期设定的限定值内、且会随着系统内文件增量的累积而逐渐增长。总体实际使用空间和vmdk文件所占用的空间相差过多,大量可用存储空间无法释放,造成资源的浪费。

介绍

VMFS 文件系统自推出以来已发行多个版本。目前,ESXi支持 VMFS5 和 VMFS6。传统存储下的精简模式回收简单来说就是VMFS之间存储版本的问题。自动空间回收功能仅支持在VMFS6中使用,版本对比参考以下内容:

特性和功能

VMFS5

VMFS6

对 ESXi主机 6.5 和更高版本的访问

对 ESXi主机 6.0 和更早版本的访问

每个主机的数据存储

512

512

512n 存储设备

是(默认)

512e 存储设备

是。本地 512e 设备上不支持。

是(默认)

4Kn 存储设备

自动空间回收

通过 esxcli 命令进行手动空间回收。请参见​​手动回收累积的存储空间​​。

从客户机操作系统回收空间

受限制

GPT 存储设备分区

MBR 存储设备分区

适用于之前从 VMFS3 升级的 VMFS5 数据存储。

每个 VMFS 数据区的存储设备大于 2 TB

支持具有大容量虚拟磁盘或磁盘大于 2 TB 的虚拟机

支持 1 KB 的小文件

支持 ATS 的存储设备默认使用“仅限 ATS”锁定机制。请参见​​VMFS 锁定机制​​。

块大小

标准 1 MB

标准 1 MB

默认快照

虚拟磁盘的 VMFSsparse 小于 2 TB。

虚拟磁盘的 SEsparse 大于 2 TB。

SEsparse

虚拟磁盘模拟类型

512n

512n

vMotion

跨不同数据存储类型的 Storage vMotion

High Availability 和 Fault Tolerance

DRS 和 Storage DRS

RDM

关于VSAN存储的磁盘回收问题需要满足以下几点

  1. ESXi版本要大于等于6.7U1
  2. 虚拟机是精简置备
  3. Windows虚拟机硬件版本大于等于11(WindowsServer2012以上版本支持自动回收)
  4. Linux虚拟机硬件版本大于等于13(默认不支持,主动用fstrim,被动要挂载discard参数)
  5. 启用UNMAP后必须在vCenter控制台重启虚拟机

案例

一、在vCenter Server中进入RVC模式

RVC

VSAN存储磁盘空间回收

二、在RVC中使用以下命令启用unmap功能(vSAN为本案例集群名称)

vsan.unmap_support vSAN -e 

VSAN存储磁盘空间回收

三、检查虚拟机占用存储空间

占用空间查看

VSAN存储磁盘空间回收

四、检查虚拟机是否已经启用unmap功能

Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\FileSystem" -Name DisableDeleteNotification

VSAN存储磁盘空间回收

五、若未开启,可使用以下命令启用unamp

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\FileSystem" -Name DisableDeleteNotification -Value 0

VSAN存储磁盘空间回收

六、打开虚拟机控制台,进入Powershell界面,执行如下命令回收D盘空间:

Optimize-Volume -DriveLetter D -ReTrim -Verbose

VSAN存储磁盘空间回收

七、再次检查虚拟机占用存储空间

空间回收完成

VSAN存储磁盘空间回收