ESXi 支持使用直接从客户机操作系统发出的取消映射命令回收存储空间。支持级别和要求取决于虚拟机所在的数据存储的类型。
例如,在虚拟机中,当删除精简虚拟磁盘上的文件时,会释放存储空间。客户机操作系统通过发送取消映射命令向 VMFS 通知释放的空间。从客户机操作系统发送的取消映射命令会释放 VMFS 数据存储中的空间。然后,该命令进到阵列,以便阵列可以回收释放的空间块。
VMFS6 虚拟机空间回收
通常,VMFS6 支持从客户机操作系统生成的自动空间回收请求,并将这些请求传递到阵列。许多客户机操作系统都可以发送取消映射命令,而无需任何额外的配置。不支持自动取消映射的客户机操作系统可能需要用户干预。有关支持 VMFS6 上自动空间回收的客户机操作系统的信息,请与供应商联系。
通常,客户机操作系统是基于其播发的取消映射粒度发送取消映射命令。有关详细信息,请参见客户机操作系统随附的文档。
使用 VMFS6 空间回收时,需要考虑以下注意事项:
- 只有在要回收的空间等于 1 MB 或是 1 MB 的倍数时,VMFS6 才会处理来自客户机操作系统的取消映射请求。如果该空间小于 1 MB 或不是 1 MB 倍数,则不会处理取消映射请求。
- 对于快照采用默认 SEsparse 格式的虚拟机,VMFS6 仅在 ESXi 主机版本 6.7 或更高版本上支持自动空间回收。如果将虚拟机迁移到 ESXi 主机版本 6.5 或更低版本中,具有快照的虚拟机将无法使用自动空间回收。
空间回收仅影响顶部快照,并且在虚拟机打开电源时才能发挥作用。
VMFS5 虚拟机空间回收
通常,从 VMFS5 上的客户机操作系统生成的取消映射命令无法直接传递到阵列。您必须运行 esxcli storage vmfs unmap 命令为阵列触发取消映射。
但是,对于一些数量有限的客户机操作系统,VMFS5 支持自动空间回收请求。
要将取消映射请求从客户机操作系统发送至阵列,虚拟机必须满足以下必备条件:
- 虚拟磁盘必须为精简置备虚拟磁盘。
- 虚拟机硬件版本必须为 11 (ESXi 6.0) 或更高版本。
- 高级设置 EnableBlockDelete 必须设置为 1。
- 客户机操作系统必须能够将虚拟磁盘识别为精简虚拟置备磁盘。