有人可以在 ARM 门户中定义两者之间的区别。如果我需要将新的 Azure RM VM 添加到现有的 AS(可用性集),那么 PowerShell 是什么?谢谢普拉布
6 回答
可用性集由一组离散的 VM 组成,这些 VM 具有自己的名称和单独的属性,但分布在故障域中,这意味着当您在一个集合中拥有多个 VM 时,它可以减少在发生以下情况时丢失所有 VM 的机会主机或机架中的硬件故障。
规模集由一组相同配置的 VM 组成,这些 VM 也分布在故障域中(实际上,规模集是具有 5 个故障域的隐式可用性集)。主要区别在于规模集是相同的,可以很容易地在集合中添加或删除 VM,同时保持高可用性,这反过来又便于实现自动缩放,以及对整个集合或 VM 子集执行操作. 还有支持重新映像和升级 VM 的 API 调用,允许您在保持服务运行的同时推出更新。它们对于需要部署大量类似 VM 或需要具有弹性的云架构非常有用。典型的体系结构可能使用代理或工作节点的规模集,以及主节点或控制节点的可用性集。看https://azure.microsoft.com/en-us/services/virtual-machine-scale-sets/了解更多详情。
有关将新 VM 添加到现有 AS 的问题,请参阅Azure 资源管理器:将 VM 移动到可用性组 和 https://gallery.technet.microsoft.com/Set-Azure-Resource-Manager-f7509ec4
主要区别在于规模集具有相同的 VM,而可用性集中 不要求它们相同。
可用性集在概念上用于增强应用程序的可用性,以防一个主 VM发生故障/需要更新来自故障/更新域的另一个 VM
另一方面,规模集在概念上是为在负载可以广泛变化以满足更多计算需求的应用程序中自动缩放(水平)而设计的。
在需要时在 Azure 中预配新 VM 对于规模集来说更容易,因为所有其他 VM 在所有方面都是相同的,并且是一个黄金副本的副本。
更多详情请参考:
https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/
https://docs.microsoft.com/en-us/cli/azure/vm/availability-set?view=azure-cli-latest
在阅读了这里的所有答案后,我仍然对自己的知识没有信心。我的印象是规模集是安全的,因为默认情况下它有多个故障域,但不明白为什么人们仍然选择可用性集。
为了让我放心,我使用了 azure CLI,发现您可以运行此命令来列出规模集的实例并实际验证它们是否位于不同的故障域中:
az vmss get-instance-view --subscription "your-subscription-id" \
--resource-group "your-rg" --name "your-scale-set-name" \
--instance-id "*" | grep platformFaultDomain
"platformFaultDomain": 0,
"platformFaultDomain": 1,
"platformFaultDomain": 2,
"platformFaultDomain": 4,
"platformFaultDomain": 0,
"platformFaultDomain": 1,
"platformFaultDomain": 3,
"platformFaultDomain": 4,
"platformFaultDomain": 2,
"platformFaultDomain": 3
希望也能让别人放心!
如果您对更多资源感兴趣,我还在这里提供了更多信息和链接:https ://coding-stream-of-consciousness.com/2019/02/27/azure-scale-set-vs-availability-set /
规模集是具有五个故障域和五个更新域的隐式可用性集。超过 100 个 VM 的规模集跨越多个置放群组,相当于多个可用性集。
有关置放群组的详细信息,请参阅使用大型虚拟机规模集。VM 的可用性集可以与 VM 的规模集存在于同一虚拟网络中。一种常见的配置是将控制节点 VM(通常需要唯一配置)放入可用性集中,并将数据节点放入规模集中。
可用性集是规模集的前身。尽管现在它们是一起创建的,但最终将被替换。更重要的是规模集引入了自动缩放。
不正确,AVSET 有 1 个目标,那就是防止停机。规模集是一种特殊类型的 VM,其中单个黄金映像用于满足水平扩展需求。