从 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 进行配置。

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

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