Skip to main content

使用Azure Cli创建可用性集合

分类:  Azure虚拟机 标签:  #虚拟机 #Linux #Azure #基础 发布于: 2023-05-27 21:05:53

首先我们需要了解什么是可用性集合。用户如果采用了以虚拟机为主的方案,例如N层应用架构等,为了提高可用性和可靠性,那么可以使用Azure提供的可用性集合,可用性集合可以保证创建的虚拟机会以分布式的形式部署在独立不同的硬件集群上,从而提高可用性和可靠性,另外可用性结合也包括我们经常提到的两个概念:Fault DoaminUpdate domain, 分别对应于处理当失效或者更新对客户应用系统的影响。
更为详细的知识,您可以参考如下的文档:

  • https://docs.microsoft.com/en-us/azure/virtual-machines/availability

  • https://docs.microsoft.com/en-us/azure/availability-zones/az-overview

需要注意的是已经创建

首先我们需要了解什么是可用性集合。用户如果采用了以虚拟机为主的方案,例如N层应用架构等,为了提高可用性和可靠性,那么可以使用Azure提供的可用性集合,可用性集合可以保证创建的虚拟机会以分布式的形式部署在独立不同的硬件集群上,从而提高可用性和可靠性,另外可用性结合也包括我们经常提到的两个概念:Fault DoaminUpdate domain, 分别对应于处理当失效或者更新对客户应用系统的影响。

更为详细的知识,您可以参考如下的文档:好的虚拟机无法加入到一个可用性结合中,只能在创建时指定可用性结合。

创建可用性集合

我们可以使用如下的命令来创建一个可用性集合:

az group create --name myResourceGroupAvailability --location chinaeast2 

az vm availability-set create \
--resource-group myResourceGroupAvailability \
--name myAvailabilitySet \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2

需要注意的是我们在创建过程中指定了两个fault-domain和update-domain, 这二者的数值最少是需要2,否则也无法针对这两种情况最初相应的处理。可用性集合允许用户将自己的资源从fault-domain和update domain中独立出来,从而提高可用性和可靠性。

在可用性集合中创建虚拟机

需要注意的是已经创建的虚拟机无法重新加入到可用性集合中。

可以使用下述的命令在一个可用性集合中创建虚拟机:

for i in `seq 1 2`; do
az vm create \
--resource-group myResourceGroupAvailability \
--name myVM$i \
--availability-set myAvailabilitySet \
--size Standard_DS1_v2 \
--vnet-name myVnet \
--subnet mySubnet \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys
done

我们在当前的可用性集合中创建了两台虚拟机,因为他们在同一个可用性集合中,Azure确保他们的资源分布式独立的物理集群上。

可用性集合的分布式情况可以从Portal上观察到:



在创建可用性集合之前,您可以先通过如下的命令来检查一下可用性集合支持的虚拟机大小:

az vm availability-set list-sizes \
--resource-group myResourceGroupAvailability \
--name myAvailabilitySet \
--output table