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

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

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

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

异步取消映射操作有多项优势:
  • 取消映射请求以恒定速率发送,有助于避免备份阵列上出现任何即时加载。
  • 释放的区域按批量一起取消映射。
  • 取消映射过程和截断 I/O 路径断开,因此 I/O 性能不会受到影响。

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

空间回收粒度
粒度定义底层存储可以回收的已释放空间扇区的最小大小。存储无法回收大小低于指定粒度的扇区。
对于 VMFS6,回收粒度等于块大小。如果指定块大小为 1 MB,则粒度也是 1 MB。不会回收大小小于 1 MB 的存储扇区。
注: 某些存储阵列会建议最佳取消映射粒度。如果建议的取消映射粒度大于 1 MB,例如 16 MB,则 ESXi不支持在这些阵列上执行自动取消映射过程。在最佳粒度为 1 MB 及更低的阵列上,如果粒度为 1 MB 的因数,则支持取消映射操作。例如,1 MB 可以被 512 字节、4 K、64 K 等整除。
空间回收优先级
此参数定义执行空间回收操作的速率。通常,VMFS6 可以突然发送大量取消映射命令,也可以零星发送,具体取决于工作负载和配置。创建 VMFS6 数据存储时,可以指定下列选项之一。
  • 无。为数据存储禁用取消映射操作。此选项可通过 vSphere Web Client进行配置。
  • 低(默认值)。以较低的频率发送取消映射命令。此选项可通过 vSphere Web Client进行配置。

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

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

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