配置 VMware vSAN 存储策略

VMware vSAN 存储策略定义了虚拟机 (VM) 的存储要求。 这些策略保证 VM 具有所需的服务级别,因为它们确定如何将存储分配给每个 VM。 将为每个部署到 vSAN 数据存储的 VM 分配至少一个 VM 存储策略。

可以在 VM 的初始部署或其他 VM作(例如克隆或迁移)期间分配 VM 存储策略。 具有 cloudadmin 或等效角色的部署后用户无法更改 VM 的默认存储策略。 但是,每个磁盘的 VM 存储策略更改是被允许的。

授权用户可以使用 Run 该命令在部署后将默认或现有 VM 存储策略更改为 VM 的可用策略。 没有对磁盘级别 VM 存储策略进行任何更改。 始终可以根据要求更改磁盘级 VM 存储策略。

运行命令按提交的顺序一次执行一个。

在本文中,您将学习如何:

  • 列出所有存储策略。
  • 设置 VM 的存储策略。
  • 指定群集的默认存储策略。
  • 创建存储策略。
  • 删除存储策略。

基于 vSAN OSA 的群集的先决条件

根据下表,确保满足主机的最低级别要求:

RAID 配置 允许的故障数 (FTT) 需要的最少主机数
RAID-1(镜像)
默认设置
1 3
RAID-5(擦除编码) 1 4
RAID-1(镜像) 2 5
RAID-6(擦除编码) 2 6
RAID-1(镜像) 3 7

基于 vSAN ESA 的群集的先决条件

根据下表,确保满足主机的最低级别要求:

RAID 配置 允许的故障数 (FTT) 需要的最少主机数
RAID-1(镜像)
默认设置
1 3
RAID-5 (欧空局优化) 1 3
RAID-1(镜像) 2 5
RAID-6 (欧空局优化) 2 5
RAID-1(镜像) 3 7

列出存储策略

Get-StoragePolicy运行 cmdlet 列出可用于在 VM 上设置的基于 vSAN 的存储策略。

  1. 登录到 Azure 门户 ,或者(如果适用)登录到 Azure 美国政府门户

  2. 选择“运行命令”>“包”>“Get-StoragePolicies”

    显示如何访问可用存储策略运行命令的屏幕截图。

  3. 提供所需的值,或根据下表更改默认值。 然后,选择“运行”。

    领域 价值
    最长保留时间 cmdlet 输出的保持期。 默认值是 60
    指定用于执行的名称 字母数字名称。 例如,Get-StoragePolicies-Exec1
    超时 一个时间段,在该时间段后 cmdlet 将退出(如果需要太长时间才能完成)。

    显示如何列出可用存储策略的屏幕截图。

  4. 检查“通知”以查看进度。

在 VM 上设置存储策略

运行 Set-VMStoragePolicy cmdlet,以修改默认群集、单个 VM 或共享类似 VM 名称的一组 VM 上基于 vSAN 的存储策略。 例如,如果有三个名为 MyVM1MyVM2MyVM3 的 VM,则向 VMName 参数提供 MyVM 将更改StoragePolicy所有三个 VM 上的 VM。

注意

无法使用 vSphere 客户端更改默认存储策略或 VM 的任何现有存储策略。

  1. 选择运行命令>>Set-AvsVMStoragePolicy

  2. 提供所需的值,或根据下表更改默认值。 然后,选择“运行”。

    领域 价值
    VMName 目标 VM 的名称。
    存储策略名称 要设置的存储策略的名称。 例如 ,RAID1 FTT-1
    最长保留时间 cmdlet 输出的保持期。 默认值是 60
    指定用于执行的名称 字母数字名称。 例如, changeVMStoragePolicy
    超时 一个时间段,在该时间段后 cmdlet 将退出(如果需要太长时间才能完成)。
  3. 检查“通知”以查看进度。

在某个位置的所有 VM 上设置存储策略

运行 Set-LocationStoragePolicy cmdlet 以修改所有位于某个位置的 VM 上的基于 vSAN 的存储策略,其中,该位置是群集、资源池或文件夹的名称。 例如,如果 群集 3 中有三个 VM,则提供 Cluster-3 会在所有三个 VM 上更改存储策略。

注意

不能使用 vSphere 客户端更改默认存储策略或 VM 的任何现有存储策略。

  1. 选择运行命令>>Set-AvsVMStoragePolicy

  2. 提供所需的值,或根据下表更改默认值。 然后,选择“运行”。

    领域 价值
    位置 目标 VM 的名称。
    存储策略名称 要设置的存储策略的名称。 例如 ,RAID1 FTT-1
    最长保留时间 cmdlet 输出的保持期。 默认值是 60
    指定用于执行的名称 字母数字名称。 例如, changeVMStoragePolicy
    超时 一个时间段,在该时间段后 cmdlet 将退出(如果需要太长时间才能完成)。
  3. 检查“通知”以查看进度。

为群集指定存储策略

Set-ClusterDefaultStoragePolicy运行 cmdlet 以指定群集的默认存储策略。

  1. 选择“运行命令”>“包”>“Set-ClusterDefaultStoragePolicy”

  2. 提供所需的值,或根据下表更改默认值。 然后,选择“运行”。

    领域 价值
    ClusterName 群集的名称。
    存储策略名称 要设置的存储策略的名称。 例如 ,RAID1 FTT-1
    最长保留时间 cmdlet 输出的保持期。 默认值是 60
    指定用于执行的名称 字母数字名称。 例如Set-ClusterDefaultStoragePolicy-Exec1
    超时 一个时间段,在该时间段后 cmdlet 将退出(如果需要太长时间才能完成)。
  3. 检查“通知”以查看进度。

注意

更改默认群集策略仅影响新的 VM。 现有 VM 保留当前配置或部署的策略。

创建自定义 Azure VMware 解决方案存储策略

运行 New-AVSStoragePolicy cmdlet 以创建或覆盖现有策略。 此函数创建新的或覆盖现有的 vSphere 存储策略。 支持非基于 vSAN 的、基于仅 vSAN、仅 VMEncryption、仅标记的/或这些策略类型的任意组合。

请牢记以下信息:

  • 无法修改现有的 Azure VMware 解决方案默认存储策略。
  • 在存储策略中启用的某些选项会发出警告,指出策略不符合要求。
  • 修改现有存储策略时,现有的关联的 vSAN 对象(如 VM、VMDK 文件和 ISO 文件)似乎“不符合要求”。这意味着现有对象针对预先修改的策略设置运行。 若要更新以匹配修改的策略设置,请将存储策略重新应用于对象。
  1. 选择“运行命令”“包”>“New-AVSStoragePolicy”。>

  2. 提供所需的值,或根据下表更改默认值。 然后,选择“运行”。

    领域 价值
    覆盖 覆盖现有的存储策略。
    - 默认值为 $false.
    - 传递提供的覆盖 true 时,将按定义确切覆盖现有策略。
    - 未传递的值将被移除或设置为默认值。
    NotTags 与不具有这些标记的数据存储匹配。
    - 标记是区分大小写的。
    - 逗号分隔多个标记。
    - 示例: Tag1,Tag 2,Tag_3.
    标记 与具有这些标记的数据存储匹配。
    - 标记是区分大小写的。
    - 逗号分隔多个标记。
    - 示例: Tag1,Tag 2,Tag_3.
    vSANForceProvisioning 强制预配策略。
    - 默认值为 $false.
    - 有效值为 $true$false
    - 警告:Microsoft服务级别协议(SLA)未涵盖 vSAN 强制预配的对象。 数据丢失和 vSAN 不稳定可能发生。
    - 建议的值为 $false.
    vSANChecksumDisabled 启用或禁用策略的校验和。
    - 默认值为 $false.
    - 有效值为 $true$false
    警告 - 禁用校验和可能会导致数据丢失和/或损坏。
    - 建议的值为 $false.
    vSANCacheReservation 策略的缓存预留百分比。
    - 默认值为 0.
    - 有效值为 0100
    vSANIOLimit 设置允许的输入/输出(I/O)的限制。
    - 默认值未设置。
    - 有效值为 02147483647
    - 策略的每秒输入/输出操作(IOPS)限制。
    vSANDiskStripesPerObject 存储对象的每个副本被条带化的硬盘驱动器 (HDD) 数。
    - 默认值为 1. 有效值为 112.
    - 高于 1 的值可能会带来更好的性能(例如,当闪存读取缓存丢失需要从 HDD 获取服务时),但也会导致系统资源的使用率较高。
    vSANObjectSpaceReservation 对象预留。
    - 默认值为 0.
    - 有效值为 0100
    - 0 = 精简预配。
    - 100 = 厚预配。
    VMEncryption 设置 VM 加密。
    - 默认值为 None.
    - 有效值为 NonePre-IOPost-IO
    - Pre-IO 允许虚拟 I/O (VAIO) 筛选解决方案在 VM 加密之前捕获数据。
    - Post-IO 允许 VAIO 筛选解决方案在 VM 加密后捕获数据。
    vSANFailuresToTolerate vSAN 主机可容忍的故障次数。
    - 默认值为 R1FTT1.
    - 有效值为 None、、R1FTT1、、R1FTT3R1FTT2R5FTT1R6FTT2R1FTT3
    - None = 无数据冗余。
    - R1FTT1 = 1 个故障 - RAID 1(镜像)。
    - R1FTT2 = 2 个故障 - RAID 1(镜像)。
    - R1FTT3 = 3 个故障 - RAID-1 (镜像)。
    - R5FTT1 = 1 个故障 - RAID-5(擦除编码)。
    - R6FTT2 = 2 个故障 - RAID-6(擦除编码)。
    None(无数据冗余)选项不在 Microsoft SLA 范围内。
    vSAN站点灾难容忍度 仅适用于拉伸群集。
    - 默认值为 None.
    - 有效值为 None、、DualPreferredSecondaryNoneStretch
    - None = 无站点冗余。 建议对非拉伸群集使用此选项,不建议用于拉伸群集。
    - Dual = 双站点冗余。 建议对拉伸群集使用此选项。
    - Preferred = 无站点冗余。 将数据保留在首选项(拉伸群集)上。
    - Secondary = 无站点冗余。 在次要站点(延展群集)上保留数据。
    - NoneStretch = 无站点冗余。 不建议这样做。 有关详细信息,请参阅 “对于 vSAN 拉伸群集”,请勿将存储策略与 locality=none 一起使用
    描述 要创建的存储策略的说明,采用自由格式的文本。
    名称 要设置的存储策略的名称。 例如 ,RAID1 FTT-1
    最长保留时间 cmdlet 输出的保持期。 默认值是 60
    指定用于执行的名称 字母数字名称。 例如,New-AVSStoragePolicy-Exec1
    超时 一个时间段,在该时间段后 cmdlet 将退出(如果需要太长时间才能完成)。
  3. 检查“通知”以查看进度。

删除 Azure VMware 解决方案存储策略

Remove-AVSStoragePolicy运行 cmdlet 以指定群集的默认存储策略。

  1. 选择“运行命令”“包”>“Remove-AVSStoragePolicy”。>

  2. 提供所需的值,或根据下表更改默认值。 然后,选择“运行”。

    领域 价值
    名称 存储策略的名称。 通配符不受支持,将被剥离。
    最长保留时间 cmdlet 输出的保持期。 默认值是 60
    指定用于执行的名称 字母数字名称。 例如,Remove-AVSStoragePolicy-Exec1
    超时 一个时间段,在该时间段后 cmdlet 将退出(如果需要太长时间才能完成)。
  3. 检查“通知”以查看进度。