
影响VM高可用的因素很多,本文将统一进行梳理,详细如下:
有三种情况可能会导致 Azure 中的虚拟机受影响:计划外硬件维护、意外停机、计划内维护。
当 Azure 平台预测硬件或者与物理计算机关联的任何平台组件即将发生故障时,就会发生计划外硬件维护事件。
意外停机指虚拟机的硬件或物理基础设施意外出现故障。 此类故障可能包括:本地网络故障、本地磁盘故障,或者其他机架级别的故障。
计划内维护事件是指由 Microsoft 对底层 Azure平台进行定期更新,以改进虚拟机运行时所在的平台基础结构的总体可靠性、性能和安全性。
可用性区域是 Azure 区域中独特的物理位置。 每个区域由一个或多个数据中心组成,这些数据中心配置了独立电源、冷却和网络。
Azure 区域中的可用性区域是容错域和更新域的组合。 例如,如果在 Azure 区域的三个区域中创建三个或更多 VM,则 VM 将有效分布在三个容错域和三个更新域中。Azure 平台会识别更新域上的此分布,以确保不同区域中的 VM 不会同时更新。

Azure 平台为可用性集中的每个虚拟机分配一个更新域和一个容错域。
更新域是可以同时维护或重新启动的基础硬件逻辑组。 在计划内维护期间,更新域的重启顺序可能不会按序进行,但一次只重启一个更新域。
容错域定义一组共用一个通用电源和网络交换机的虚拟机。

托管磁盘为可用性集提供了更佳的可靠性。 为此,会自动将磁盘放置在不同的存储容错域(存储群集)中,并使它们与 VM 容错域一致。 如果某个存储容错域因硬件或软件故障而失败,则只有其磁盘在该存储容错域上的 VM 实例会失败。

如果订阅计划事件,则将通知 VM 即将发生会对 VM 造成影响的维护事件。 启用计划事件后,可在执行维护活动之前为虚拟机提供最少的时间。
如果虚拟机几乎完全相同,并且为应用程序提供相同的目的,我们建议为每个应用程序层配置可用性区域或可用性集。 如果将两个不同的层置于同一可用性区域或集中,则同一应用程序层中的所有虚拟机都可以同时重启。 通过在可用性区域中配置至少两个虚拟机或为每个层设置,可确保每个层中至少有一个虚拟机可用。

将Azure 负载均衡器与可用性区域相结合,或将其设置为最大程度地提高应用程序复原能力。 Azure 负载均衡器将流量分布到多个虚拟机中。 对于标准层虚拟机来说,Azure 负载均衡器已包括在内。 并非所有虚拟机层都包括 Azure 负载均衡器。
如果没有将负载均衡器配置为对多个虚拟机上的流量进行平衡,则任何计划内维护事件都会影响唯一的那个处理流量的虚拟机,导致应用程序层中断。 将同一层的多个虚拟机置于相同的负载均衡器和可用性集下可以确保至少有一个虚拟机实例能够持续处理流量。







