Azure 关于可用性集如何使单个VM更可用的说明

Azure 关于可用性集如何使单个VM更可用的说明,azure,azure-availability-set,Azure,Azure Availability Set,我很难理解Azure可用性集,具体来说,我需要做些什么来确保在我的vm上运行的应用程序能够利用可用性集来提高可用性 假设我正在创建一个在单个VM上运行的应用程序,我希望使它更能抵抗硬件故障 选项1: 我创建了一个包含2个容错域的可用性集,然后在此可用性集上创建了一个VM 是这样吗? 如果托管我的虚拟机的机架上出现硬件故障,azure现在是否负责确保虚拟机保持正常运行 选项2: 我必须有两台服务器Vm1和Vm2,都在可用性集中,但一台在容错域1上,一台在容错域2上。 然后我必须为我的应用程序设置一

我很难理解Azure可用性集,具体来说,我需要做些什么来确保在我的vm上运行的应用程序能够利用可用性集来提高可用性

假设我正在创建一个在单个VM上运行的应用程序,我希望使它更能抵抗硬件故障

选项1: 我创建了一个包含2个容错域的可用性集,然后在此可用性集上创建了一个VM

是这样吗? 如果托管我的虚拟机的机架上出现硬件故障,azure现在是否负责确保虚拟机保持正常运行

选项2: 我必须有两台服务器Vm1和Vm2,都在可用性集中,但一台在容错域1上,一台在容错域2上。 然后我必须为我的应用程序设置一个集群。在这种情况下,可用性设置只是允许我确保集群中的两台服务器不在同一硬件上,但确保应用程序可以利用两台服务器并具有高可用性的管道仍然取决于我

选项1或选项2是与容错域相关的可用性集工作的正确方式吗


感谢您提供的任何清晰信息。

Azure通过两种方式处理硬件故障,即可用性集和可用性区域。AS就是要确保即使在数据中心区域内发生硬件故障,您的应用程序也不会停机。AZs旨在确保即使整个数据中心(又称区域)关闭,您的应用程序也不会停止运行。更多细节

现在,要了解有关可用性的最佳实践,请查看一些最佳实践,特别是针对虚拟机的最佳实践

单个VM实例的定义如下所示:

“单实例”定义为未在可用性集中部署或在可用性集中仅部署了一个实例的任何单个Microsoft Azure虚拟机


因此,一个可用性集中的一个VM与不在可用性集中的一个VM没有任何区别,为此,您需要至少两个虚拟机,它们位于AS-using FDs和UDs中,因此Azure将通过确保两个虚拟机都在单独的硬件上运行来解决这一问题,以避免您的应用程序宕机。

可用性集中的一个虚拟机几乎与没有可用性集的虚拟机一样好。 如果要在AS中放置两个或多个VM,并且这些VM相同,则可以添加负载平衡器来分发流量。 如果您对流量分布不感兴趣,也可以在没有负载平衡器的情况下使用AS。一种情况是,仅当主虚拟机不可用时,才希望切换到辅助虚拟机。 另外,请务必理解,AS中不要求有相同的VM


如果您正在寻找具有虚拟机的高可用性解决方案,虚拟机规模集是一个不错的选择。

但这同样不能回答问题。它告诉我在可用性集中需要两个vm来使用可用性集。但从应用程序的角度来看,我的apication是否需要了解这两台服务器,或者我需要在这两台服务器上设置负载平衡器,以确保我的应用程序在一台服务器宕机时仍能正常运行,并确保我的代码库部署在两台服务器上,即,我是否需要以这样一种方式构建我的应用程序,使其能够使用多台服务器?如果在AS中有两个虚拟机,那么它们位于单独的硬件节点上,这意味着如果发生硬件节点故障,那么您可以放心,您的两个虚拟机都没有停机,一个虚拟机正在单独的硬件节点上运行。是的,要同时使用这两种方法,您需要使用负载平衡器来分配流量并使用健康探测器。谢谢您的回复。您提到,如果对流量分布不感兴趣,则不需要负载平衡器。如果没有负载平衡器,如果一个VM宕机,是否有其他方法自动将负载重定向到集中的第二台服务器,或者是手动更改应用程序中的设置以指向第二台服务器?不确定,但可能不存在自动机制来实现AS中的服务器切换。区域故障有自动切换解决方案(如ASR),但据我所知,ASs没有。但实际上,负载平衡器总是与AS一起使用,以避免任何手动麻烦。