从 VMFS 数据存储删除或移除文件将释放文件系统内的空间。此可用空间会映射到某个存储设备,直到文件系统释放或取消映射该空间为止。ESXi 支持可用空间回收,也称为取消映射操作。

此操作有助于存储阵列回收未使用的可用空间。然后,取消映射的空间可以用于其他存储分配请求和需求。

异步回收 VMFS6 数据存储上的可用空间

在 VMFS6 数据存储上,ESXi 支持自动式异步回收可用空间。VMFS6 可以在后台运行取消映射命令,以释放支持取消映射操作的精简置备存储阵列上的可用存储空间。

异步取消映射操作有多项优势:
  • 取消映射请求以恒定速率发送,有助于避免备份阵列上出现任何即时加载。
  • 释放的区域按批量一起取消映射。
  • 其他工作负载的 I/O 性能不受取消映射命令的影响。

对于 VMFS6 数据存储,可以配置以下空间回收参数。

空间回收粒度
粒度定义底层存储可以回收的已释放空间扇区的最小大小。存储无法回收大小低于指定粒度的扇区。
对于 VMFS6,回收粒度等于块大小。如果指定块大小为 1 MB,则粒度也是 1 MB。不会回收大小小于 1 MB 的存储扇区。
注: 某些存储阵列会建议最佳取消映射粒度。 ESXi 支持自动取消映射过程,在阵列推荐的取消映射粒度为 1 MB 或更高版本,例如 16 MB。在最佳粒度为 1 MB 及更低的阵列上,如果粒度为 1 MB 的因数,则支持取消映射操作。例如,1 MB 可以被 512 字节、4 KB、64 KB 等整除。
空间回收方法
可以采用优先级回收方法,也采用固定回收方法。使用优先级回收方法时,需要配置优先级别。对于固定方法,必须以 MB/秒为单位指定带宽。
空间回收优先级
此参数定义使用优先级回收方法时执行空间回收操作的速率。通常,VMFS6 可以突然发送大量取消映射命令,也可以零星发送,具体取决于工作负载和配置。对于 VMFS6,可以指定以下选项之一。
空间回收优先级 描述 配置
为数据存储禁用取消映射操作。 vSphere Client

esxcli 命令

低(默认设置) 以低速率(25-50 MB/秒)发送取消映射命令。 vSphere Client

esxcli 命令

中等 以比低速率快两倍的速率(50-100 MB/秒)发送命令。 esxcli 命令
以比低速率快三倍的速率(100 MB/秒以上)发送命令。 esxcli 命令
注: 版本 6.5 的 ESXi 主机不识别“中”和“高”优先级别。如果将虚拟机迁移到主机版本 6.5,则优先级别默认设置为“低”。

启用空间回收后,VMFS6 数据存储只能在它至少具有一个打开的文件时才能开始释放未使用的空间块。例如,打开数据存储上其中一个虚拟机的电源时,可以满足这种条件。

手动回收 VMFS5 数据存储上的可用空间

VMFS5 及更早版本的文件系统不会自动取消映射可用空间,但是,您可以使用 esxcli storage vmfs unmap 命令手动回收空间。使用此命令时请务必注意,它可能会一次性发送大量取消映射请求。在执行此操作期间可能会锁定某些资源。