Azure 可用性集和放置组之间的差异



我想知道两者之间的区别。我没有找到具体的解释,也没有与归置组相关的具体文档。它总是与类似于链接 belo 的可用性集相关。有人解释说,它类似于归置组,但是什么时候使用一个而不是另一个呢?

https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-placement-groups

我能够找到的唯一最接近的区别是 Azure 放置组维护自己的容错域和更新域。但这不正是可用性集所关注的,即分离容错域和更新域吗?

在大多数情况下,可用性集和置放群组提供相同的可用性保证(即,每个置放群组中的虚拟机分布在更新域和容错域中(。区别在于每种方法的使用方式。可用性集与 VM 一起使用,不能与可用性区域一起使用。另一方面,放置组是在创建规模集时隐式创建的。规模集通过跨多个放置组甚至跨多个可用性区域进行部署来实现更大的规模。

因此,你可能会想,为什么不始终使用规模集呢?因为规模集需要对集中的所有 VM 进行相同的配置(相同的 VM 大小、VM 上的相同扩展等(。总而言之,如果规模较小,但希望每个 VM 都是唯一的,则应使用可用性集。另一方面,如果需要更大的规模(通常跨可用性区域(,则应使用规模集/放置组,并且每个 VM 都相同。

我希望这有所帮助。我写了一篇简短的博客文章,并介绍了 Azure 上不同的高可用性策略。如果您有兴趣,请查看:):https://negatblog.wordpress.com/2018/06/04/high-availability-on-azure/

干杯 尼尔

TL;DR:如果延迟是首要任务,请将 VM 放在邻近放置组中,将整个解决方案放在可用性区域中(单个邻近放置组不能跨区域(。但是,如果冗余弹性/高可用性是您的首要任务,请将您的实例放在可用性集中(这会将您的实例分布在容错域中;这些容错域不具有"公共电源和网络交换机"(。

可用性集"是 VM 的逻辑分组,允许 Azure 了解如何构建应用程序以提供冗余和可用性......在可用性集中,VM 会自动分布在这些容错域中。这种方法限制了潜在的物理硬件故障、网络中断或电源中断的影响。

另一方面,邻近放置组"...在同一数据中心提供主机托管服务。[因此] 计划内维护事件(例如 Azure 数据中心的硬件停用(可能会影响邻近放置组中资源的对齐。资源可能会移动到不同的数据中心,从而破坏与邻近放置组相关的配置和延迟预期。

资源:

  1. https://learn.microsoft.com/en-us/azure/virtual-machines/availability#availability-sets
  2. https://learn.microsoft.com/en-us/azure/virtual-machines/linux/co-location

最新更新