可用性集概述

适用于:✔️ Linux VM ✔️ Windows VM

本文概述了 Azure 虚拟机 (VM) 的可用性功能。

注意

我们建议客户选择灵活业务流程模式下的虚拟机规模集,以获得具有最广泛功能的高可用性。 虚拟机规模集:

  • 允许集中管理、配置和更新 VM 实例。
  • 可以根据需求或定义的计划自动增减 VM 实例的数目。

可用性集仅提供高可用性。

什么是可用性集?

可用性集是 VM 的逻辑分组,可降低相关故障同时导致相关 VM 关闭的可能性。 可用性集会将 VM 放置在不同的容错域中,以提高可靠性。 如果某个区域不支持可用性区域,此操作尤其有用。

在使用可用性集时,请在一个可用性集中创建两个或更多 VM。 在可用性集中使用两个或多个 VM 有助于保持应用程序高度可用,并满足 99.95% 的 Azure 服务级别协议 (SLA)。 使用可用性集无需额外付费。 你只需为创建的每个 VM 实例付费。

与可用性区域相比,可用性集提供的 VM 到 VM 延迟有所改善,因为可用性集中的 VM 分配距离更近。 可用性集针对许多可能的故障提供故障隔离,以最大程度地减少单一故障点并提供高可用性。 可用性集仍然容易受到某些共享基础结构故障的影响(例如数据中心网络故障),这可能会影响多个容错域。

为了实现比可用性集更高的可靠性,请使用可用性区域。 可用性区域具有最高的可靠性。 每个 VM 部署在多个数据中心,以帮助防止单个数据中心断电、网络或冷却。 如果最高优先级实现工作负载的最佳可靠性,请跨多个可用性区域复制 VM。

可用性集如何工作?

基础 Azure 平台为可用性集中的每个虚拟机分配一个更新域和一个容错域。 每个可用性集最多可以有 3 个容错域和 20 个更新域。 创建可用性集后,将无法更改这些配置。

更新域

更新域表示虚拟机组以及可同时重新启动的基础物理硬件。

在含五个更新域的单个可用性集中配置了 5 个以上的虚拟机时,第 6 个虚拟机将放置在第 1 个虚拟机所在的更新域中。 第 7 个虚拟机将放置在第 2 个虚拟机所在的更新域中。 依此类推。

在计划内维护期间,更新域的重启顺序可能不会按序进行,但一次只能重启一个更新域。 重启的更新域需要 30 分钟才能在不同的更新域上开始维护。

容错域

容错域定义一组共用一个通用电源和网络交换机的虚拟机。 默认情况下,可用性集中配置的虚拟机隔离在最多三个容错域中。

将虚拟机置于可用性集中不会保护应用程序免受操作系统或应用程序特定的故障的影响。 但它确实会限制潜在物理硬件故障、网络中断或断电的影响。

显示计算群集拆分为包含更新域的容错域的关系图。

磁盘容错域

VM 也与磁盘容错域保持一致。 这种一致性可确保附加到 VM 的所有托管磁盘都在同一容错域内。

在托管可用性集中,只能创建带托管磁盘的 VM。 托管磁盘容错域的数目因区域而异 - 每个区域两个或三个托管磁盘容错域。

以下命令将按区域检索容错域列表:

az vm list-skus --resource-type availabilitySets --query '[?name==`Aligned`].{Location:locationInfo[0].location, MaximumFaultDomainCount:capabilities[0].value}' -o Table

共享容错域

在某些情况下,同一可用性集中的两个 VM 可能会共享一个容错域。 可以通过转到可用性集并查看“容错域”列来确认某个共享容错域

如果 VM 具有共享容错域,可能是因为在部署 VM 时执行了以下操作:

  1. 部署第一个 VM。
  2. 停止或解除分配第一个 VM。
  3. 部署第二个 VM。

在这些情况下,第二个 VM 的 OS 磁盘可能会在第一个 VM 所在的容错域上创建,从而导致两个 VM 位于同一个容错域中。 若要避免此问题,请不要停止或解除分配部署之间的 VM。

容错域与区域虚拟机规模集和可用性集的对齐关系图。