vSAN 存储策略定义对虚拟机的存储要求。这些策略可确保为虚拟机提供所需的服务级别,因为它们可以确定将存储分配给虚拟机的方式。

VMware Cloud on AWS 包括两个 vSAN 数据存储,一个用于管理虚拟机 (vsanDatastore),另一个用于工作负载虚拟机 (WorkloadDatastore)。这两个数据存储共享同一个底层存储设备,并使用同一池中的可用空间。

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

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

存储策略包含可用性属性和高级属性。

vSAN 虚拟机存储策略的可用性属性

站点灾难容差
定义延伸群集处理站点故障时使用的数据冗余方法。此属性适用于延伸群集。如果使用标准 vSAN 群集,请选择“无 (标准群集)”。
选项如下所示:
  • 无 (标准群集)
  • 双站点监控 (延伸群集)
  • 无 - 在主站点上保留数据 (延伸群集)
  • 无 - 在辅助站点上保留数据 (延伸群集)
允许的故障数
定义虚拟机允许的主机和设备故障数。您可以选择无数据冗余,也可以选择针对性能(镜像)或容量(纠删码)优化的 RAID 配置。
表 1. RAID 配置、FTT 和主机要求
RAID 配置 允许的故障数 (FTT) 所需的最小主机数
RAID-1(镜像)这是默认设置。 1 3
RAID-5(纠删码) 1 4
RAID-1(镜像) 2 5
RAID-6(纠删码) 2 6
RAID-1(镜像) 3 7

群集中的初始主机数以及在群集中添加或移除主机的方式会影响该群集的 RAID 配置。例如,三主机群集最初配置有 RAID 1。添加一个主机后,可以将该群集重新配置为 RAID 5,但此重新配置操作不会自动执行。四主机群集最初配置有 RAID 5。有关详细信息,请参见存储容量和数据冗余

vSAN 虚拟机存储策略的高级属性

每个对象的磁盘带数
虚拟机对象的每个副本在其上进行条带化的容量设备的最低数量。值如果大于 1,则可能产生较好的性能,但也会导致使用较多的系统资源。默认值为 1。最大值为 12。仅当 VMware 技术支持建议时才更改默认值。
对象的 IOPS 限制
定义对象(例如 VMDK)的 IOPS 限制。IOPS 使用加权大小计算,表示为 I/O 操作数。如果系统使用的默认基本大小为 32 KB,则 64-KB I/O 表示两个 I/O 操作。

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

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

对象空间预留
部署虚拟机时必须预留或厚置备的虚拟机磁盘 (vmdk) 对象的逻辑大小百分比。

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

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

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

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

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

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

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

禁用对象校验和
如果该选项设置为 ,该对象将计算校验和信息来确保其数据的完整性。如果该选项设置为 ,该对象不计算校验和信息。

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

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

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

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

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

存储策略和 SLA 要求

使用虚拟机存储策略时,务必了解它们对 vSAN 群集中的存储容量消耗有何影响以及是否满足 VMware Cloud on AWS 服务级别协议 (SLA) 中定义的要求。

默认 vSAN 存储策略最初是根据群集中的主机数量配置的。例如,三主机群集默认为 FTT=1,使用 Raid-1 镜像策略。四主机群集也默认为 FTT=1,但使用更节省空间的 Raid-5 纠删码策略。单个 AZ 中具有六个以上 i3.metal 主机的群集默认为 FTT=2,使用 Raid-6 纠删码策略。您可以创建自定义策略,使数据可用性与基础数据的需求保持一致,但如果工作负载虚拟机的存储策略没有达到服务级别协议中规定的要求,则可能无法获得 SLA 积分。虚拟机存储策略必须配置适当的保护级别。临时工作负载可能会使用“无数据冗余”策略来节省容量,从而放弃所有 SLA 可用性保证。

重要事项:

将 i3.metal 群集从 5 个主机扩展到 6 个主机时,必须使用镜像或纠删码将基础策略配置更新为 FTT=2,以补偿更大的故障池。如果对此主机配置继续使用 FTT=1,意味着 VMware 无法根据保证服务定义指南提供可用性保证。使用 Elastic vSAN 的 R5.metal 群集可以使用 FTT=1 来维持 SLA,不管群集大小如何。

有关存储策略的设计和优化调整注意事项的详细信息,请参见《管理 VMware vSAN》文档。