vSAN 存储策略定义了虚拟机的存储要求。这些策略确定如何置备和分配数据存储内的虚拟机存储对象,以保证达到要求的服务级别。

在主机集群上启用 vSAN 后,将创建一个 vSAN 数据存储,并且会为该数据存储分配默认存储策略。

当了解虚拟机的存储要求后,可以创建引用数据存储所播发的功能的存储策略。您可以创建多个策略以捕获不同类型或类别的要求。

将为部署到 vSAN 数据存储的每个虚拟机至少分配一个虚拟机存储策略。您可以在创建或编辑虚拟机时分配存储策略。

注: 如果您未向虚拟机分配存储策略,则 vSAN 将分配默认策略。在默认策略中, 允许的故障数设置为 1,每个对象有一个磁盘带,另外还有精简置备的虚拟磁盘。

虚拟机交换对象和虚拟机快照内存对象不遵守分配给虚拟机的存储策略。配置这些对象时会将允许的故障数设置为 1。这些对象的可用性可能与所分配策略中具有不同允许的故障数值的其他对象有所差异。

表 1. 存储策略规则
容量 描述
允许的故障数 (Failure to tolerate, FTT) 定义虚拟机对象允许的主机和设备故障的数量。如果允许 n 个故障,写入的每条数据存储在 n+1 个位置,如果使用 RAID 5 或 RAID 6,还包括奇偶校验副本。

如果已配置故障域,则需要 2n+1 个故障域,且这些故障域中具有可提供容量的主机。不属于故障域的主机会被视为位于其自己的单主机故障域中。

您可以选择针对性能或容量进行优化的数据复制方法。RAID-1(镜像)使用较多磁盘空间来放置对象的组件,但提供的对象访问性能较高。RAID-5/6(纠删码)使用较少磁盘空间,但性能会下降。

注: 如果不希望 vSAN 保护虚拟机对象的单一镜像副本,则可以指定 无数据冗余。但是,主机在进入维护模式时,可能会出现异常延迟。发生延迟的原因是 vSAN 必须将该对象从主机中撤出才能成功完成维护操作。设置 无数据冗余意味着数据不受保护,当 vSAN 集群出现设备故障时可能会丢失数据。
注: 创建存储策略时,如果没有为 FTT 指定一个值, vSAN 将为虚拟机对象创建一个镜像副本。只允许出现一个故障。但是,如果多个组件出现故障,数据可能会存在风险。
站点容灾 在延伸集群中,此规则定义在达到 FTT 定义的故障数量后对象可允许的额外主机故障数量。

“无 - 标准集群”是默认值。对于延伸集群,可以选择将数据保留在主机关联性的首选站点或辅助站点上。

“主机镜像 - 双节点集群”定义达到 FTT 定义的故障数后对象可允许的额外故障数量。vSAN 在磁盘组级别执行对象镜像。每个数据主机必须至少具有三个磁盘组才能使用此规则。

“站点镜像 - 延伸集群”定义达到 FTT 定义的故障数后对象可允许的额外主机故障数量。

每个对象的磁盘带数 虚拟机对象的每个副本在其上进行条带化的容量设备的最低数量。值如果大于 1,则可能产生较好的性能,但也会导致使用较多的系统资源。

默认值为 1。最大值为 12。

请勿更改默认的条带化值。

在混合环境中,磁盘带分散在磁盘中。对于全闪存配置,会在构成容量层的闪存设备中进行条带化。确保您的 vSAN 环境提供了足够的容量设备以容纳请求。

闪存读取缓存预留 作为虚拟机对象的读取缓存预留的闪存容量。指定为该虚拟机磁盘 (vmdk) 对象的逻辑大小的百分比。预留的闪存容量无法供其他对象使用。未预留的闪存在所有对象之间公平共享。仅使用该选项解决特定的性能问题。

无需设置预留即可获取缓存。设置读取缓存预留可能会导致在移动虚拟机对象时出现问题,因为该对象始终包含缓存预留设置。

只有混合配置才支持“Flash Read Cache 预留”存储策略属性。为全闪存集群定义虚拟机存储策略时,不得使用该属性。

默认值为 0%。最大值为 100%。

注: 默认情况下, vSAN 将按需为存储对象动态分配读取缓存。此功能是最灵活、最优化的资源利用方式。因此,通常无需更改此参数的默认值 0。

如果在解决性能问题时要增加该值,请小心谨慎。在多个虚拟机上过度置备缓存预留可能会导致闪存设备空间浪费在过度预留的缓存上。这些缓存预留无法用来处理在给定时间需要所需空间的工作负载。这种空间浪费和不可用问题可能会导致性能下降。

强制置备 如果该选项设置为,则即使数据存储不满足存储策略中指定的允许的故障数每个对象的磁盘带数闪存读取缓存预留策略,也会置备该对象。该参数可在引导时以及在出现故障无法再进行标准置备时使用。

默认值对于大多数生产环境都是可接受的。当不满足策略要求时,vSAN 无法置备虚拟机,但是可以成功创建用户定义的存储策略。

对象空间预留 部署虚拟机时必须预留或厚置备的虚拟机磁盘 (vmdk) 对象的逻辑大小百分比。可用选项如下:
  • 精简置备(默认)
  • 25% 预留
  • 50% 预留
  • 75% 预留
  • 厚置备
禁用对象校验和 如果该选项设置为,该对象将计算校验和信息来确保其数据的完整性。如果该选项设置为,该对象不计算校验和信息。

vSAN 使用端到端校验和来确保数据的完整性,即确认文件的每个副本都与源文件完全相同。系统会在读取/写入操作期间检查数据的有效性,如果检测到错误,vSAN 将修复数据或报告错误。

如果检测到校验和不匹配,vSAN 将使用正确数据覆盖错误数据来自动修复数据。校验和计算和错误更正作为后台操作执行。

集群中所有对象的默认设置为,表示启用校验和。

对象的 IOPS 限制 定义对象(例如 VMDK)的 IOPS 限制。IOPS 使用加权大小计算,表示为 I/O 操作数。如果系统使用的默认基本大小为 32 KB,则 64-KB I/O 表示两个 I/O 操作。

计算 IOPS 时,读取和写入同等对待,但不考虑缓存命中率和顺序性。如果磁盘的 IOPS 超过此限制,将限制 I/O 操作。如果对象的 IOPS 限制设置为 0,将不会强制执行 IOPS 限制。

vSAN 允许对象在操作的第一秒或一段时间不活动后 IOPS 达到限制速率的两倍。

使用虚拟机存储策略时,必须了解存储功能如何影响 vSAN 集群中存储容量的消耗。有关存储策略设计和大小调整注意事项的详细信息,请参见《管理 VMware vSAN》中的“设计和调整 vSAN 集群的大小”。

vSAN 如何管理策略更改

vSAN 6.7 Update 3 及更高版本可管理策略更改,以减少集群中消耗的瞬态空间量。当 vSAN 因策略更改而重新配置对象时,会产生瞬态容量。

修改策略时,将接受更改,但不会立即应用。vSAN 会批处理策略更改请求并异步执行,以保持固定的瞬态空间量。

对于因非容量相关原因(例如,在五节点集群上将 RAID5 策略更改为 RAID6)而执行的策略更改,会立即被拒绝。

可以在 vSAN 容量监控中查看瞬态容量使用情况。要验证对象上策略更改的状态,请使用 vSAN Health Service 检查 vSAN 对象运行状况。