如何控制Datastore的UNMAP回收速率 – 空间回收设置详解(ESXi 8.0U3新功能)

如何控制Datastore的UNMAP回收速率 - 空间回收设置详解(ESXi 8.0U3新功能)

Datastore UNMAP回收背景和简单介绍

在VMware环境中,VM的创建、删除、迁移以及快照操作都会影响底层存储的空间利用率。VMware通过UNMAP机制来释放未使用的存储块,从而提高存储效率。

简单来说,UNMAP其实就是SCSI协议中的一条命令,用来通知存储设备去回收已经删除或不再使用的数据块,从而优化存储空间利用率。

VMware在vSphere 8.0 Update 3版本中提供了Datastore级别的UNMAP速率调控选项,允许管理员根据存储系统的特性调整 UNMAP 速率,平衡存储空间回收与系统性能之间的关系。

注意,这是ESXi 8.0 U3的新功能,新版本才有这样的可以控制回收速率的设置。


不合理UNMAP潜在影响与风险

不合理的 UNMAP 速率设置可能会导致:

  • 存储阵列在短时间内处理大量 UNMAP 请求,造成性能下降;
  • UNMAP 操作与其他 I/O 请求争抢存储资源,影响虚拟机的正常运行;
  • 由于未能及时回收空间,导致存储利用率降低。

因此,一直以来,调整UNMAP速率时是需要结合存储阵列厂商的建议的,确保不会影响整体存储性能。


如何调整UNMAP速率

在vSphere 8.0 U3及更高版本中,管理员可以通过vSphere Client配置Datastore级别的UNMAP速率,或完全禁用UNMAP操作。

1. 进入 vSphere 客户端

  • 打开 vSphere Client,进入 Datastore 视图,选择需要调整的 Datastore。

2. 修改空间回收设置

  • 右键点击目标 Datastore,选择 “Edit Space Reclamation”(编辑空间回收)。
  • 在弹出的配置窗口中,选择合适的 UNMAP 速率模式: 选项说明启用固定速率的自动空间回收以设定的速率执行 UNMAP 操作,可在下拉菜单中选择回收速率(例如 10MB/s、100MB/s、200MB/s、300MB/s,最高可达 1900MB/s)。禁用自动空间回收不执行 UNMAP 操作,删除或未映射的存储块不会自动回收。

3. 保存并应用更改

  • 点击 “OK” 保存新的配置。

4. 重新挂载 Datastore 使设置生效

  • 需要 卸载(Unmount)重新挂载(Mount) 该 Datastore,以使修改生效。
  • 该步骤需要在所有访问该 Datastore 的 ESXi 主机上重复执行

5. 验证 UNMAP 设置是否生效

  • 在 vSphere UI 中导航至:
    vCenter vSphere UI > Datastore View > 选择目标 Datastore > Configure > General > Space Reclamation > Edit
  • 确保已正确显示所选的 UNMAP 速率。

技术细节:UNMAP机制及优化策略

1. UNMAP在VMware环境中的触发场景

在VMFS Datastore上,存储空间的回收(UNMAP)会在以下场景中发生:

  • 删除虚拟机
  • 使用 vSphere Storage vMotion 迁移虚拟机
  • 删除或合并快照
  • Guest OS 内部删除文件(部分现代操作系统会自动向 VMFS 发送 UNMAP 命令,但并非所有 OS 都支持此功能)。

VMFS6 上,VMware 引入了自动追踪空闲块的机制,使得UNMAP操作能够 在后台异步执行,避免对前台 I/O 造成干扰。

2. 异步 UNMAP 的优势

  • 受控的资源占用:避免短时间内 UNMAP 负载激增,防止存储阵列过载。
  • 高效的空间回收:批量处理回收请求,提高存储利用率。
  • 最小化性能影响:UNMAP 操作不会阻塞正常 I/O,确保虚拟机性能稳定。

3. UNMAP相关的SCSI命令

在 VMware vSphere 的存储架构中,UNMAP 依赖于VAAI(VMware vStorage APIs for Array Integration)提供的SCSI命令,其中常见的操作码包括:

SCSI 命令操作描述
0x42UNMAP(空间回收指令)
0x93WRITE SAME(16)
0x41WRITE SAME(10)
0x89ATS(SCSI COMPARE and WRITE)
0x83EXTENDED COPY

VMware最佳实践与注意事项

  • VMware官方建议:除非存储厂商或 VMware 明确要求,否则不建议完全禁用UNMAP,以免影响存储空间利用率。
  • 合理设置UNMAP速率:建议根据存储阵列的特性进行测试,选择适合的回收速率,避免对存储 I/O 产生负面影响。
  • 监控UNMAP影响:可以通过 vSphere Performance Metrics 监控 UNMAP 相关 I/O 指标,确保调整后不会对整体性能造成不利影响。

总结

在VMware vSphere 8.0 U3及更高版本中,管理员可以手动调整UNMAP速率,在存储空间回收与I/O性能之间找到平衡点。合理设置UNMAP速率,能够减少存储阵列的瞬时负载,提高存储空间利用率,并确保虚拟机的稳定运行。

在执行配置调整前,建议参考存储厂商的最佳实践,避免因不当设置导致系统性能下降。如需进一步监控 UNMAP影响,可以结合vSphere Performance Metrics或存储设备的性能监控工具进行分析。

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

免费试下我们的VMware技术助理(已接Deepseek)!即时解答VM难题 → 🤖VM技术助理


########

扫码加入VM资源共享交流微信群(请备注加群

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

如何查询和下载VMware的VCP(VMware Certified Professional)等个人技能认证证书
VMware快速入门

如何查询和下载VMware的VCP(VMware Certified Professional)等个人技能认证证书

VMware VCP(VMware Certified Professional)认证证书可通过Certmetrics平台查询和下载。本指南详细介绍了使用博通账户登录、查找证书状态并下载电子版证书的完整流程。无论是想获取VMware个人技能认证,还是遇到证书下载问题,这篇教程都能提供清晰的操作步骤,帮助顺利完成认证管理。

vMotion失败 - 迁移启动失败:必要的模块未加载
疑难杂症

vMotion失败 – 迁移启动失败:必要的模块未加载

在使用 vMotion 迁移虚拟机时,可能会遇到错误:“Failed to start migration: Necessary module isn’t loaded.” 该错误通常是由于 ESXi 主机上的 migrate 模块未正确加载或启用所致。通过 SSH 登录 ESXi,使用 esxcli system module list | grep migrate 命令检查模块状态,并根据需要加载或启用 migrate 模块即可解决问题。本文详细介绍了该错误的原因、解决步骤及注意事项,帮助您快速恢复 vMotion 迁移功能。

如何以SSH的方式访问VMware vCenter Server Appliance的命令行
运维必备

如何以SSH的方式访问VMware vCenter Server Appliance的命令行

本文介绍了如何在 VMware vCenter Server Appliance(VCSA)上启用 SSH,并使用 SSH 客户端远程访问 vCenter 的命令行。文章涵盖了两种开启 SSH 的方法:通过虚拟机控制台(DCUI)和 vCenter 管理界面(VAMI)。同时,详细讲解了 SSH 连接 vCenter 的步骤,帮助管理员高效管理 vCenter Server。

VMware Tools for Windows 更新补丁修复认证绕过漏洞 (CVE-2025-22230)
VM新闻

VMware Tools for Windows 更新补丁修复认证绕过漏洞 (CVE-2025-22230)

VMware 发布了安全公告 VMSA-2025-0005,修复了 VMware Tools for Windows 中的认证绕过漏洞(CVE-2025-22230)。该漏洞允许低权限用户在 Windows 虚拟机内执行高权限操作,风险等级为 重要(CVSS 评分 7.8)。建议受影响用户尽快升级至 VMware Tools 12.5.1 版本,以消除安全隐患。

//madurird.com/4/9119499