我发现 Azure 可用性区域的文档在高可用性方面有些欠缺,所以我希望这里有人知道一些未记录的行为的详细信息。
如果在 Azure 上配置了虚拟机(或任何其他区域资源,如磁盘),但没有选择可用性选项(在本例中为可用区域),会发生什么情况。如果有三个区域,它位于哪个区域。在 AWS 上,所有虚拟机都位于一些区域,如果没有其他的话,则是随机的。但是 Azure 上有什么?也是随机的,第四个?没有?区域内不包括的单独数据中心?区域内是否有不属于任何区域的 Azure 数据中心?
我们怎么能将(数据)磁盘放在与要连接的虚拟机不同的可用区域呢?由于磁盘可能距离较远,这难道不会导致性能下降吗?据我所知,这在 AWS 上甚至是不可能的,例如,EBS 必须与 EC2 实例位于同一区域,并且子网不能跨越不同的区域。
答案1
虽然我还没有找到关于这个主题的微软官方文档,但文档问题讨论中隐藏着一些信息。
例如,问题 39091微软代表表示:
基本上有一个“分配器”根据容量、健康状况等多种因素做出决策,但从客户的角度来看,他们对选择哪个 DC 没有发言权。
我相信,未指定区域的区域资源是根据内部私有逻辑分配的,并且在取消分配和重新分配后,可以根据“分配器”的需要进行移动或放置。
回答你的第二个问题,数据磁盘不可能放置在与其虚拟机不同的区域。如果虚拟机位于区域 1,而你在区域 2 创建数据磁盘,则无法连接该数据磁盘。我只能假设(没有找到直接的确认)当你同时创建虚拟机和磁盘时,“分配器”将始终将它们放置在同一个区域中。