使用 vSAN 时,您可以在策略中定义虚拟机存储要求,例如性能和可用性。vSAN 确保部署到 vSAN 数据存储的每个虚拟机都分配有至少一个存储策略。

分配存储策略后,创建虚拟机时,会将存储策略要求推送到 vSAN 层。虚拟设备分布在 vSAN 数据存储之间,以满足性能和可用性要求。

vSAN 使用存储提供程序向 vCenter Server 提供底层存储的相关信息。该信息可帮助您做出与虚拟机放置有关的正确决定,并帮助监控存储环境。

什么是 vSAN 策略

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

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

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

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

注: 如果您未向虚拟机分配存储策略,则 vSAN 将分配默认策略。在默认策略中, 允许的故障数设置为 1,每个对象有一个磁盘带,另外还有精简置备的虚拟磁盘。
虚拟机交换对象和虚拟机快照内存对象不遵守分配给虚拟机的存储策略。配置这些对象时会将 允许的故障数设置为 1。这些对象的可用性可能与所分配策略中具有不同 允许的故障数值的其他对象有所差异。
注: 如果启用了 vSAN Express Storage Architecture,则每个快照都不是新对象。基础 VMDK 及其快照包含在一个 vSAN 对象中。此外,在 vSAN ESA 中,摘要由 vSAN 对象提供支持。这与 vSAN Original Storage Architecture 不同。
表 1. 存储策略 - 可用性
容量 描述
允许的故障数 (Failure to tolerate, FTT) 定义虚拟机对象允许的主机和设备故障的数量。如果允许 n 个故障,写入的每条数据存储在 n+1 个位置,如果使用 RAID-5 或 RAID-6,还包括奇偶校验副本。

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

您可以选择针对性能或容量进行优化的数据复制方法。RAID-1(镜像)使用较多磁盘空间来放置对象的组件,但提供的对象访问性能较高。RAID-5/6(纠删码)使用较少磁盘空间,但性能会下降。可以选择以下选项之一:
  • 无数据冗余:如果不希望 vSAN 保护虚拟机对象的单一镜像副本,则可以指定此选项。这意味着数据不受保护,当 vSAN 集群出现设备故障时可能会丢失数据。主机在进入维护模式时,可能会出现异常延迟。发生延迟的原因是 vSAN 必须将该对象从主机中撤出才能成功完成维护操作。
  • 没有具备主机关联性的数据冗余:仅当要在 vSAN 数据持久性平台上运行 vSAN 无共享架构 (Shared Nothing Architecture, SNA) 工作负载时,才指定此选项。
  • 1 个故障 - RAID-1 (镜像):如果虚拟机对象允许一个主机或设备故障,请指定此选项。要使用 FTT 为 1 的“RAID-1 (镜像)”来保护 100 GB 虚拟机对象,您需要占用 200 GB 空间。
  • 1 个故障 - RAID-5 (纠删码):如果虚拟机对象允许一个主机或设备故障,请指定此选项。对于 vSAN OSA,要使用 FTT 为 1 的“RAID-5 (纠删码)”来保护 100 GB 虚拟机对象,您需要占用 133.33 GB 空间。
    注: 如果使用 vSAN Express Storage Architecture, vSAN 会根据集群大小创建优化的 RAID-5 格式。如果集群中的主机数小于 6, vSAN 将创建 RAID-5 (2+1) 格式。如果主机数大于 6, vSAN 将创建 RAID-5 (4+1) 格式。当集群大小最终会增加或缩小时, vSAN 会在从配置更改开始的 24 小时后自动重新调整格式。
  • 2 个故障 - RAID-1 (镜像):如果虚拟机对象最多允许两个主机或设备故障,请指定此选项。由于您需要使用 FTT 为 2 的“RAID-1 (镜像)”,因此存在容量开销。要使用 FTT 设置为 2 的 RAID-1 (镜像) 来保护 100 GB 虚拟机对象,您需要占用 300 GB 的空间。
  • 2 个故障 - RAID-6 (纠删码):如果虚拟机对象最多允许两个主机或设备故障,请指定此选项。要使用 FTT 为 2 的“RAID-6 (纠删码)”来保护 100 GB 虚拟机对象,您需要占用 150 GB 空间。有关详细信息,请参阅使用 RAID 5 或 RAID 6 纠删码
  • 3 个故障 - RAID-1 (镜像):如果虚拟机对象最多允许三个主机或设备故障,请指定此选项。要使用 FTT 为 3 的“RAID-1 (镜像)”来保护 100 GB 虚拟机对象,您需要占用 400 GB 空间。
注: 创建存储策略时,如果没有为 FTT 指定一个值, vSAN 将为虚拟机对象创建一个镜像副本。只允许出现一个故障。但是,如果多个组件出现故障,数据可能会存在风险。
站点容灾 此规则定义使用标准集群、延伸集群还是双节点集群。如果使用延伸集群,则可以定义是在集群中的两个站点上镜像数据,还是仅在一个站点上镜像数据。对于延伸集群,可以选择将数据保留在主机关联性的首选站点或辅助站点上。
  • 无 - 标准集群是默认值。这意味着没有站点容灾。

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

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

  • 无 - 将数据保留在首选站点上 (延伸集群)。如果您不希望延伸集群中的对象具有站点容错能力,而是希望这些对象只能在配置为“首选”的站点上访问,请使用此选项。

  • 无 - 将数据保留在辅助站点上 (延伸集群)。如果您不希望延伸集群中的对象具有站点容错能力,而是希望这些对象只能在辅助站点上访问,请使用此选项。这些对象不受交换机间链路 (Inter-Switch Link, ISL) 或见证主机故障的影响。如果策略选择的站点可以访问,这些对象将保持可访问状态。

  • 无 - 延伸集群。如果选择此选项,vSAN 将无法保证在其中一个站点出现故障时对象可以访问,并且此类对象可能会消耗过多的 ISL 带宽,因此可能会增加使用站点镜像策略的对象的延迟。只有在集群中存在容量限制(CPU/内存/存储)的某些临时情况下无法使用其他策略时,才使用此策略。

表 2. 存储策略 - 存储规则
容量 描述
加密服务 为部署到数据存储的虚拟机定义加密选项。选择以下选项之一:
  • 静态数据加密:如果要对存储在数据存储中的数据应用加密,请指定此选项。
  • 不加密:如果不希望对数据应用任何形式的加密,请指定此选项。
  • 无首选项:如果不希望明确应用任何加密规则,请指定此选项。如果选择此选项,vSAN 会将这两个规则应用于虚拟机。
空间效率 为部署到数据存储的虚拟机定义空间效率选项。选择以下选项之一:
  • 去重和压缩:如果要对数据应用去重和压缩,请指定此选项。
  • 仅压缩:如果要对数据只应用压缩,请指定此选项。
    注: 对于 vSAN Original Storage Architecture,压缩是集群级别的设置。对于 vSAN Express Storage Architecture,“仅压缩”在对象级别执行。这意味着,可以对同一集群中的一个虚拟机使用压缩,而对另一个虚拟机则不使用压缩。
  • 无空间效率:如果不希望将压缩应用于对象,请指定此选项。
  • 无首选项:如果不希望明确应用任何空间效率规则,请指定此选项。如果选择此选项,vSAN 会将所有空间效率规则应用于虚拟机。

存储层 为具有已定义存储策略的所有虚拟机指定存储层。选择以下选项之一:
  • 全闪存:如果要使虚拟机与全闪存环境兼容,请指定此选项。
  • 混合:如果要使虚拟机仅与混合环境兼容,请指定此选项。
  • 无首选项:如果不希望明确应用任何存储层规则,请指定此选项。如果选择此选项,vSAN 会使虚拟机同时与混合环境和全闪存环境兼容。
表 3. 存储策略 - 高级策略规则
容量 描述
每个对象的磁盘带数 虚拟机对象的每个副本在其上进行条带化的容量设备的最低数量。值如果大于 1,则可能产生较好的性能,但也会导致使用较多的系统资源。

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

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

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

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

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

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

对象空间预留 部署虚拟机时必须预留或厚置备的虚拟机磁盘 (vmdk) 对象的逻辑大小百分比。可用选项如下:
  • 精简置备(默认)
  • 25% 预留
  • 50% 预留
  • 75% 预留
  • 厚置备
闪存读取缓存预留 (%) 作为虚拟机对象的读取缓存预留的闪存容量。指定为该虚拟机磁盘 (vmdk) 对象的逻辑大小的百分比。预留的闪存容量无法供其他对象使用。未预留的闪存在所有对象之间公平共享。仅使用该选项解决特定的性能问题。

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

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

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

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

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

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

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

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

集群中所有对象的默认设置为 ,表示启用校验和。
注: 对于 vSAN Express Storage Architecture,对象校验和始终处于开启状态,无法停用。
强制置备 如果该选项设置为,则即使数据存储不满足存储策略中指定的允许的故障数每个对象的磁盘带数闪存读取缓存预留策略,也会置备该对象。该参数可在引导时以及在出现故障无法再进行标准置备时使用。

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

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

vSAN 如何管理策略更改

vSAN 6.7 Update 3 及更高版本可管理策略更改,以减少集群中消耗的瞬态空间量。

vSAN 因策略更改而重新配置对象时,会产生瞬态容量。

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

对于因非容量相关原因(例如,在五主机集群上将 RAID-5 策略更改为 RAID-6)而执行的策略更改,会立即被拒绝。

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

查看 vSAN 存储提供程序

启用 vSAN 会自动为 vSAN 集群中的每个主机配置并注册一个存储提供程序。

vSAN 存储提供程序是内置的软件组件,用于将数据存储的功能通知给 vCenter Server。存储功能通常用“键/值”对表示,其中键指的是数据存储提供的特定属性。值指的是数据存储可为已置备对象(例如,虚拟机主页命名空间对象或虚拟磁盘)提供的某一数字或范围。您还可以使用标记创建用户定义的存储功能,并在为虚拟机定义存储策略时引用这些标记。有关如何应用标记以及将其与数据存储一起使用的信息,请参见《vSphere 存储》文档。

vSAN 存储提供程序会向 vCenter Server 报告一组底层存储功能。此外,它们还将与 vSAN 层进行通信,报告虚拟机的存储要求。有关存储提供程序的详细信息,请参见《vSphere 存储》文档。

vSAN 6.7 和更高版本使用以下 URL 为 vCenter Server 所管理的所有 vSAN 集群仅注册一个 vSAN 存储提供程序:

https://<VC fqdn>:<VC https port>/vsan/vasa/version.xml

请确认存储提供程序已注册。

过程

  1. 导航到 vCenter Server
  2. 依次单击配置选项卡和存储提供程序

结果

此时 vSAN 的存储提供程序将显示在列表中。
注: 无法手动取消注册 vSAN 使用的存储提供程序。要移除或取消注册 vSAN 存储提供程序,请从 vSAN 集群中移除相应的主机,然后再重新添加这些主机。确保至少有一个存储提供程序处于活动状态。

什么是 vSAN 默认存储策略

vSAN 要求已部署到 vSAN 数据存储的虚拟机至少分配有一个存储策略。置备虚拟机时,如果未明确分配存储策略,则 vSAN 会将默认存储策略分配给该虚拟机。

每个默认策略包含 vSAN 规则集和一组基本存储功能,通常用于放置已部署到 vSAN 数据存储上的虚拟机。

表 4. vSAN 默认存储策略规范
规范 设置
允许的故障数 1
每个对象的磁盘带数 1
闪存读取缓存预留,即用于读取缓存的闪存容量 0
对象空间预留 0
注: 默认情况下,将对象空间预留设置为零意味着会精简置备虚拟磁盘。
强制置备

如果使用 vSAN Express Storage Architecture 集群,则根据集群大小,可以使用此处列出的其中一个 ESA 策略。

表 5. vSAN ESA 默认存储策略规范 - RAID-5
规范 设置
允许的故障数 1
每个对象的磁盘带数 1
闪存读取缓存预留,即用于读取缓存的闪存容量 0
对象空间预留 精简置备
强制置备
注: vSAN ESA 中的 RAID-5 支持三个主机集群。如果启用自动策略管理,则集群必须具有四个主机才能使用 RAID-5。
表 6. vSAN ESA 默认存储策略规范 - RAID-6
规范 设置
允许的故障数 2
每个对象的磁盘带数 1
闪存读取缓存预留,即用于读取缓存的闪存容量 0
对象空间预留 精简置备
强制置备
注: 要使用 RAID-6,集群中必须至少有六个主机。

导航到虚拟机存储策略 > 默认存储策略的名称 > 规则集 1: vSAN 时,可以查看默认虚拟机存储策略的配置设置。

为获得最佳效果,请考虑创建并使用您自己的虚拟机存储策略,即使该策略的要求与默认存储策略中定义的要求相同。在某些情况下,当您纵向扩展集群时,您必须修改默认存储策略,以确保符合 VMware Cloud on AWS 的服务级别协议的要求。

将用户定义的存储策略分配给数据存储时,vSAN 会对指定的数据存储应用用户定义的策略的设置。只有一个存储策略可以成为 vSAN 数据存储的默认策略。

vSAN 默认存储策略特性

以下特性适用于 vSAN 数据存储的默认存储策略。

  • 如果在置备虚拟机时未分配任何其他 vSAN 策略,则会将 vSAN 数据存储的默认存储策略分配给所有虚拟机对象。在“选择存储”页面上,虚拟机存储策略文本框将设置为数据存储默认值。有关使用存储策略的详细信息,请参阅《vSphere 存储》文档。
    注: 虚拟机交换对象和虚拟机内存对象收到 强制置备设置为 vSAN 默认存储策略。
  • vSAN 默认策略仅适用于 vSAN 数据存储。无法将默认存储策略应用于非 vSAN 数据存储,例如 NFS 或 VMFS 数据存储。
  • 具有 RAID 0 或 RAID 1 配置的 vSAN Express Storage Architecture 集群中的对象将具有 3 个磁盘带,即使默认策略仅定义 1 个磁盘带也是如此。
  • 由于 vSAN 默认存储策略与 vCenter Server 中的任何 vSAN 数据存储都兼容,因此您可以将使用默认策略置备的虚拟机对象移至 vCenter Server 中的任何 vSAN 数据存储。
  • 您可以克隆默认策略,并将其用作模板以创建用户定义的存储策略。
  • 如果您拥有 StorageProfile.View 特权,则可以编辑默认策略。必须至少有一个已启用 vSAN 且至少包含一个主机的集群。通常情况下,您无需编辑默认存储策略的设置。
  • 无法编辑默认策略的名称和描述或 vSAN 存储提供程序规范。所有其他参数(包括策略规则)均可编辑。
  • 无法删除默认存储策略。
  • 当您在虚拟机置备期间分配的策略不包括特定于 vSAN 的规则时,将分配默认存储策略。

自动策略管理

具有 vSAN Express Storage Architecture 的集群可以使用自动策略管理,根据集群类型(标准或延伸)和主机数量生成最佳默认存储策略。vSAN 会将站点容灾允许的故障数配置为适用于集群的最佳设置。

自动生成的策略基于集群名称来命名,如下所示:ClusterName - Optimal Default Datastore Policy

启用自动策略时,vSAN 会将新的最佳策略分配给 vSAN 数据存储,该策略将成为集群的数据存储默认策略。

要启用自动策略管理,请使用 vSAN > 服务 > 存储 > 编辑上的滑动控件。

更改 vSAN 数据存储的默认存储策略

可以更改选定 vSAN 数据存储的默认存储策略。

前提条件

确认要作为默认策略分配到 vSAN 数据存储的虚拟机存储策略满足 vSAN 集群中虚拟机的要求。

过程

  1. 导航到 vSAN 数据存储。
  2. 单击配置
  3. 常规下,单击默认存储策略的编辑按钮,然后选择要作为默认策略分配给 vSAN 数据存储的存储策略。
    可以从与 vSAN 数据存储兼容的存储策略列表中选择策略,例如 vSAN 默认存储策略和定义了 vSAN 规则集的用户定义的存储策略。
  4. 选择策略,然后单击确定
    置备新的虚拟机时,如果未明确指定数据存储的存储策略,该存储策略将作为默认策略应用。

下一步做什么

您可以为虚拟机定义新的存储策略。请参见使用 vSphere Client 定义 vSAN 的存储策略

使用 vSphere Client 定义 vSAN 的存储策略

您可以创建一个存储策略,用来定义虚拟机及其虚拟磁盘的存储要求。在此策略中,将引用 vSAN 数据存储支持的存储功能。在 vSphere Client 中定义存储策略

前提条件

  • 确认 vSAN 存储提供程序可用。请参阅查看 vSAN 存储提供程序
  • 所需特权:配置文件驱动的存储.配置文件驱动的存储视图配置文件驱动的存储.配置文件驱动的存储更新
注: 具有 vSAN Express Storage Architecure 的集群可以使用自动策略管理。有关详细信息,请参阅 什么是 vSAN 默认存储策略

过程

  1. 导航到策略和配置文件,然后单击虚拟机存储策略
  2. 单击创建
  3. 在“名称和描述”页面中,选择 vCenter Server
  4. 键入存储策略的名称和描述,然后单击下一步
  5. 在“策略结构”页面中,选择“为 vSAN 存储启用规则”,然后单击下一步
  6. vSAN 页面上,定义策略规则集,然后单击下一步
    1. 在“可用性”选项卡上,定义站点灾难容错允许的故障数
      可用性选项为“允许的故障数”、“数据局部性”和“容错方法”定义了规则。
      • 站点灾难容错定义了用于虚拟机对象的站点容错类型。
      • 允许的故障数定义了虚拟机对象可允许的主机和设备故障数以及数据复制方法。
      例如,如果您选择 双站点镜像2 个故障 - RAID 6 (纠删码)vSAN 会配置以下策略规则:
      • 允许的故障数:1
      • 允许的故障数辅助级别:2
      • 数据局部性:无
      • 容错方法:RAID-5/6 (纠删码) - 容量
    2. 在“存储规则”选项卡上,定义加密、空间效率及可与 HCI 网格一起用来区分远程数据存储的存储层规则。
      • 加密服务:为使用此策略部署的虚拟机定义加密规则。可以选择以下选项之一:
        • 静态数据加密:在虚拟机上启用加密。
        • 不加密:不在虚拟机上启用加密。
        • 无首选项:使虚拟机与“静态数据加密”和“不加密”选项都兼容。
      • 空间效率:为使用此策略部署的虚拟机定义空间节省规则。可以选择以下选项之一:
        • 去重和压缩:在虚拟机上同时启用去重和压缩。只有全闪存磁盘组才可以使用去重和压缩。有关详细信息,请参见去重和压缩设计注意事项
        • 仅压缩:在虚拟机上仅启用压缩。只有全闪存磁盘组才可以使用压缩。有关详细信息,请参见去重和压缩设计注意事项
        • 无空间效率:不在虚拟机上启用任何空间效率功能。如果选择此选项,则需要打开未选择任何空间效率选项的数据存储。
        • 无首选项:使虚拟机与所有选项都兼容。
      • 存储层:为部署了此策略的虚拟机指定存储层。可以选择以下选项之一。选择无首选项选项可使虚拟机与混合环境和全闪存环境都兼容。
        • 全闪存
        • 混合
        • 无首选项
    3. 在“高级策略规则”选项卡上,定义高级策略规则,例如每个对象的磁盘带数和 IOPS 限制。
    4. 在“标记”选项卡上,单击添加标记规则,然后为您的标记规则定义选项。
      确保您提供的值位于 vSAN 数据存储的存储功能通告的值范围内。
  7. 在“存储兼容性”页面上,查看兼容不兼容选项卡下的数据存储列表,然后单击下一步
    要符合条件,数据存储不需要满足该策略内的所有规则集的要求。该数据存储必须至少满足一个规则集以及此规则集中的所有规则的要求。确认 vSAN 数据存储满足存储策略中设置的要求并显示在兼容数据存储的列表中。
  8. 在“检查并完成”页面上,检查策略设置,然后单击完成

结果

新策略将添加到列表中。

下一步做什么

将此策略分配给虚拟机及其虚拟磁盘。vSAN 将根据策略中指定的要求放置虚拟机对象。有关将存储策略应用到虚拟机对象的信息,请参见《vSphere 存储》文档。