将高级 SSD v2 与可用性集中的 VM 配合使用

介绍

支持将高级 SSD v2 托管磁盘与可用性集中的虚拟机 (VM) 配合使用,以增强应用程序的高可用性和复原能力。 使用高级 SSD v2 的 VM 是可用性集(AvSet)的一部分时,平台可确保其磁盘自动分布在多个存储容错域(FD)。 此分布可最大程度地减少单个故障点的风险。

显示使用托管磁盘 FD 对齐“设置”的可用性集的图示。

可用性集针对许多可能的故障提供故障隔离,以最大程度地减少单一故障点并提供高可用性。 如果一个存储 FD 发生故障,则只会影响该特定 FD 上具有高级 SSD v2 磁盘的 VM 实例。 其他 VM 实例(其磁盘放置在单独的容错域上)仍不受影响,并继续正常运行。 AvSet 容易受到某些共享基础结构故障的影响,例如数据中心网络故障、物理硬件故障或可能影响多个容错域的电源中断。

在使用高级 SSD v2 和容错域 3 的 AvSet 中的生产环境中,部署了三个虚拟机,虚拟机和磁盘分布在多个容错域中。 当存储容错域失败时,只有该域中的 VM 受到影响。 其他 VM 继续运行,这有助于维护应用程序可用性。

当高级 SSD v2 磁盘在一个容错域中启动并附加到另一个容错域中的虚 VM 时,系统会触发后台复制。 此过程移动磁盘以匹配 VM 的容错域,帮助确保计算和存储之间的一致对齐,以提高可靠性和可用性。

显示使用托管磁盘 FD 对齐“磁盘移动”的可用性集的图示。

例如,如图所示,将位于 FD1 中的磁盘附加到 FD1 中的 VM 时,系统会自动触发磁盘的后台副本。 如果稍后分离磁盘并将其附加到 FD2 中的 VM,系统会将磁盘从 FD1 移动到 FD2。 此过程可确保计算域和存储容错域之间的一致性。

区域可用性

对于可用性集中的 VM,高级 SSD v2 支持当前仅限于以下缺少可用性区域支持的地区:

  • 澳大利亚东南
  • 加拿大东部
  • 美国中北部
  • 英国西部
  • 美国中西部
  • 美国西部

局限性

  • 必须注册一个订阅才能获得所需的功能,以在非区域地区中将高级 SSD v2 与可用性集中的 VM 配合使用。 按照 此处 的说明完成注册。
  • 每个磁盘一次只能运行一个后台数据副本。 将磁盘附加到可用性集 (AvSet) 中的 VM 时,系统可能会启动后台复制以与容错域 (FD) 保持一致。 如果在进行此移动时尝试分离并重新附加磁盘,作将失败并显示错误。 为了防止操作失败,请等待移动完成,或在磁盘上设置OptimizedForFrequentAttach属性。 此设置跳过针对将来附件的 FD 对齐背景复制。 有关 OptimizedForFrequentAttach 的详细信息,请按照此处的说明进行操作。
  • 当从快照创建的磁盘仍在后台复制数据时,无法将其附加到可用性集中的 VM。 等待复制过程完成,然后再附加磁盘。 若要检查快照中后台数据复制的状态,请按照 此处的说明进行操作。
  • 当针对容错域对齐的后台数据复制正在进行时,不支持增加磁盘大小和更改客户管理的密钥 (CMK)。
  • 创建资源组:
az group create --name myResourceGroup --___location myLocation 

存储容错域的数量因区域而异。 以下命令将按区域检索容错域列表:

az vm list-skus --resource-type availabilitySets --query '[?name==`Aligned`].{Location:locationInfo[0].___location,  MaximumFaultDomainCount:capabilities[0].value}' -o Table 
  • 创建可用性集:
az vm availability-set create -n myAvSet -g myResourceGroup --platform-fault-___domain-count 3 --platform-update-___domain-count 20

注释

平台 容错域计数 的值应根据给定区域中的可用存储容错域数来确定。 请按照步骤 b 确定每个区域的可用容错域数。

  • 创建 VM:
az vm create -n myVMname -g myResourceGroupName --availability-set myAvSetName --image Win2016Datacenter --count MyCount 
  • 将新的高级 SSD v2 磁盘附加到可用性集中的现有 VM
az vm disk attach -g MyResourceGroupName --vm-name MyVMname --name MyDiskName --new --sku PremiumV2_LRS --size-gb MySize
  • 将现有高级 SSD v2 磁盘附加到可用性集中的现有 VM:
az vm disk attach -g MyResourceGroupName --vm-name MyVMname --disks MyDiskName

在受支持的非区域地区向可用性集中的 VM 注册高级 SSD v2

此功能特定于区域,仅在不支持可用性区域的区域中可用。 如果你的目标是没有区域支持的区域(例如加拿大东部或美国中北部),请确保订阅已注册到所需的功能。

若要继续,请手动注册该功能:

  • 使用 Azure CLI 或 PowerShell 检查功能注册:

    az feature list --namespace Microsoft.Compute --query "[?contains(name, 'PremiumV2')]" --output table
    
  • 如果未注册该功能,则可以将其注册到:

    az feature register --namespace Microsoft.Compute --name PremiumV2
    

优化磁盘的后台数据复制

更改 optimized-for-frequent-attach 磁盘属性

如果工作负荷经常在同一个或不同的可用性集中的 VM 之间移动磁盘,请启用该 optimized-for-frequent-attach 设置以避免延迟。 将此属性设置为 true 可防止系统在重新附加期间触发磁盘的后台复制以进行 FD 对齐。 optimized-for-frequent-attach 可以在创建新的未附加磁盘时设置,或稍后为现有磁盘更新它。 如果当前磁盘连接到 VM,请先分离磁盘。 更新optimized-for-frequent-attach磁盘属性,然后将磁盘重新连接到 VM。

有关在磁盘上设置或更新 optimized-for-frequent-attach 的说明

  • 在创建新的未附加磁盘时设置属性:
az disk create --name myDiskName --resource-group myResourceGroup --___location myLocation --sku PremiumV2_LRS --size-gb myGB --optimized-for-frequent-attach true 
  • \n要更新现有未附加磁盘的属性,您可以:
az disk update --name myDiskName --resource-group myResourceGroup --set optimizedForFrequentAttach=true