你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置存储策略

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

可以在 VM 的初始部署中或在执行其他 VM 操作(例如克隆或迁移)时分配 VM 存储策略。 部署后 cloudadmin 用户或等效角色不能更改 VM 的默认存储策略。 但是,允许按磁盘更改 VM 存储策略

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

注意

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

本文介绍如何:

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

先决条件

确保满足最低级别的主机

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

列出存储策略

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

  1. 登录 Azure 门户

    注意

    如果需要访问 Azure US Gov 门户,请转到 https://portal.azure.us/

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

    Screenshot showing how to access the storage policy run commands available.

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

    Screenshot showing how to list storage policies available.

    字段
    最长保留时间 cmdlet 输出的保持期。 默认值是 60秒。
    指定用于执行的名称 字母数字名称,例如 Get-StoragePolicies-Exec1
    超时 一个时间段,在该时间段后 cmdlet 将退出(如果需要太长时间才能完成)。
  4. 检查“通知”以查看进度。

在 VM 上设置存储策略

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

注意

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

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

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

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

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

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

注意

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

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

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

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

指定群集的存储策略

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

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

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

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

创建自定义 AVS 存储策略

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

注意

不能修改现有的 AVS 默认存储策略。 在存储策略中启用的某些选项将生成相关风险的警告。

  1. 选择“运行命令>包>New-AVS存储Policy”。

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

    字段
    覆盖 覆盖现有存储策略。
    - 默认值为$false。
    - 传递覆盖 true 时,提供的覆盖将完全覆盖现有策略。
    - 未传递的值将被删除或设置为默认值。
    NotTags 与不具有这些标记的数据存储匹配。
    - 标记区分大小写。
    - 逗号分隔多个标记。
    - 示例:Tag1、Tag 2、Tag_3
    标记 与具有这些标记的数据存储匹配。
    - 标记区分大小写。
    - 逗号分隔多个标记。
    - 示例:Tag1、Tag 2、Tag_3
    vSANForceProvisioning 强制预配策略。
    - 默认值为$false。
    - 有效值为$true或$false
    - WARNING - vSAN 强制预配对象不在 Microsoft SLA 下涵盖。 可能发生数据丢失和 vSAN 不稳定。
    - 建议的值是$false。
    vSANChecksumDisabled 启用或禁用策略的检查和。
    - 默认值为$false。
    - 有效值为$true或$false。
    - 警告 - 禁用 检查um 可能会导致数据丢失和/或损坏。
    - 建议的值是$false。
    vSANCacheReservation 策略的缓存预留百分比。
    - 默认值为 0。
    - 有效值为 0..100。
    vSANIOLimit 设置允许的 IO 的限制。
    - 默认值为 unset。
    - 有效值为 0..2147483647。
    - 策略的 IOPS 限制。
    vSANDiskStripesPerObject 存储对象的每个副本 (replica)条带化的 HDD 数。
    - 默认值为 1。 有效值为 1..12。
    - 高于 1 的值可能会导致更好的性能(例如,当闪存读取缓存丢失需要从 HDD 获取服务时),但也会导致系统资源的使用较高。
    vSANObjectSpaceReservation 对象预留。
    - 默认值为 0。
    - 有效值为 0..100。
    - 0=精简预配
    - 100=粗预配
    VMEncryption 设置 VM 加密。
    - 默认值为 None。
    - 有效值为 None、Pre-IO、Post-IO。
    - 预 IO 允许 VAIO 筛选解决方案在 VM 加密之前捕获数据。
    - IO 后允许 VAIO 筛选解决方案在 VM 加密后捕获数据。
    vSANFailuresToTolerate 无法容忍的 vSAN 主机数。
    - 默认值为“R1FTT1”。
    - 有效值为“None”、“R1FTT1”、“R1FTT2”、“R1FTT3”、“R5FTT1”、“R6FTT2”、“R1FTT3”
    - 无 = 无数据冗余
    - R1FTT1 = 1 失败 - RAID-1 (镜像)
    - R1FTT2 = 2 个故障 - RAID-1 (镜像)
    - R1FTT3 = 3 次故障 - RAID-1 (镜像)
    - R5FTT1 = 1 故障 - RAID-5 (擦除编码),
    - R6FTT2 = 2 次故障 - RAID-6 (擦除编码)
    - Microsoft SLA 下未涵盖任何数据冗余选项。
    vSANSiteDisasterTolerance 仅适用于拉伸群集。
    - 默认值为“None”。
    - 有效值为“None”、“Dual”、“Preferred”、“Secondary”、“NoneStretch”
    - 无 = 无站点冗余(非拉伸群集的建议选项,不建议用于拉伸群集)
    - 双 = 双站点冗余(拉伸群集的建议选项)
    - 首选 = 无站点冗余 - 在首选群集上保留数据
    - 辅助 = 无站点冗余 - 在辅助站点上保留数据(拉伸群集)
    - NoneStretch = 无站点冗余 - 不建议 (https://kb.vmware.com/s/article/88358
    描述 正在创建的存储策略的说明、自由格式文本。
    Name 要设置的存储策略的名称。 例如,RAID-FTT-1
    最长保留时间 cmdlet 输出的保持期。 默认值是 60秒。
    指定用于执行的名称 字母数字名称,例如 New-AVS存储Policy-Exec1
    超时 一个时间段,在该时间段后 cmdlet 将退出(如果需要太长时间才能完成)。
  3. 检查“通知”以查看进度。

删除 AVS 存储 策略

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

  1. 选择“运行命令>包>Remove-AVS存储Policy”。

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

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

后续步骤

了解如何配置 VMware vSAN 存储策略后,请详细了解:

  • 如何将磁盘池附加到 Azure VMware 解决方案主机(预览版)- 可以使用磁盘作为 Azure VMware 解决方案的持久性存储以实现最佳成本和性能。

  • 如何为 vCenter Server 配置外部标识 - vCenter Server 具有一个名为 cloudadmin 的内置本地用户,并分配给 Cloud管理员 角色。 本地 cloudadmin 用户用于在 Active Directory (AD) 中设置用户。 借助运行命令功能,可以为 vCenter 配置通过 LDAP 或 LDAPS 的 Active Directory 作为外部标识源。