ESXi 支持从 VMFS 数据存储或虚拟机客户机操作系统发出的空间回收命令(也称为 SCSI 取消映射命令或 NVMe 数据集管理解除分配命令)。该命令可帮助精简置备存储阵列从 VMFS 数据存储和数据存储中的精简虚拟磁盘回收未使用的空间。VMFS6 数据存储可自动发送空间回收命令。通过 VMFS5 数据存储,可以手动回收存储空间。

有关使用 Virtual Volumes 数据存储进行空间回收的信息,请参见回收 vSphere Virtual Volumes 数据存储上的空间

在执行诸如删除或迁移虚拟机、整合快照等操作时,可释放 VMFS 数据存储内的存储空间。在虚拟机中,当删除精简虚拟磁盘上的文件时会释放存储空间。这些操作会将未使用的空间块保留在存储阵列上。但是,在阵列未感知到数据已从块中删除时,阵列仍将分配这些块,直到数据存储将其释放为止。VMFS 使用 SCSI 取消映射命令来指示阵列存储块包含已删除数据,以便阵列可取消分配这些块。

图显示了如何在删除虚拟机时回收存储块。

该命令也可从客户机操作系统直接发出。VMFS5 和 VMFS6 数据存储都可对从客户机操作系统进行的取消映射命令提供支持。但是,VMFS5 上的支持级别是有限的。

根据 VMFS 数据存储的类型不同,可以使用不同的方法来配置数据存储和虚拟机的空间回收。

观看以下视频,了解空间回收的工作原理。