适用于:✔️ Linux VM
本教程介绍如何使用名为可用性集的功能提高 Azure 上的虚拟机解决方案的可用性和可靠性。 可用性集可确保在 Azure 上部署的 VM 分布在多个隔离的硬件群集中。 这样做可确保在 Azure 中发生硬件或软件故障时,只有一部分 VM 受到影响,并且整体解决方案仍然可用且正常运行。
本教程中,您将学习如何:
- 创建可用性集
- 在可用性集中创建 VM
- 检查可用的 VM 大小
本教程在 Azure Cloud Shell 中使用 CLI,后者已不断更新到最新版本。 若要打开 Cloud Shell,请从任何代码块的顶部选择“试一试” 。
如果选择在本地安装并使用 CLI,本教程要求运行 Azure CLI 2.0.30 或更高版本。 运行 az --version
即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。
创建可用性集
可以使用 az vm availability-set create 创建可用性集。 在此示例中,对于 myResourceGroupAvailability 资源组中名为 myAvailabilitySet 的可用性集,更新域和容错域的数目设置为 2。
首先,使用 az group create 创建资源组,然后创建可用性集:
az group create --name myResourceGroupAvailability --___location eastus
az vm availability-set create \
--resource-group myResourceGroupAvailability \
--name myAvailabilitySet \
--platform-fault-___domain-count 2 \
--platform-update-___domain-count 2
可用性集允许跨容错域和更新域隔离资源。 容错域表示服务器 + 网络 + 存储资源的隔离集合。 在前面的示例中,部署 VM 时,可用性集分布在至少两个容错域中。 可用性集还分布在两 个更新域中。 两个更新域可确保在 Azure 执行软件更新时隔离 VM 资源,从而阻止 VM 上运行的所有软件同时更新。
在可用性集中创建虚拟机
必须在可用性集中创建虚拟机,以确保它们在硬件上正确分布。 创建可用性集后,无法将现有 VM 添加到可用性集。
使用 az vm create 创建 VM 时,使用 --availability-set
参数指定可用性集的名称。
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 可确保 VM 及其所有资源(包括数据磁盘)分布在隔离的物理硬件之间。 此分发有助于确保整体 VM 解决方案的可用性更高。
可以通过转到资源组> myResourceGroupAvailability > myAvailabilitySet,在门户中查看可用性集分发。 VM 分布在两个容错域和更新域中,如以下示例所示:
检查可用的 VM 大小
之后,您可以将其他 VM 添加到可用性集中,前提是硬件上提供相应的 VM 大小。 使用 az vm availability-set list-sizes 列出可用性集的硬件群集上的所有可用大小:
az vm availability-set list-sizes \
--resource-group myResourceGroupAvailability \
--name myAvailabilitySet \
--output table
后续步骤
在本教程中,你将学习到如何:
- 创建可用性集
- 在可用性集中创建 VM
- 检查可用的 VM 大小
请继续学习下一教程,了解虚拟机规模集。
- 若要了解有关可用性区域的详细信息,请访问 可用性区域文档。
- Azure 虚拟机的可用性选项中还提供了有关可用性集和可用性区域的更多文档。
- 若要试用可用性区域,请访问 使用 Azure CLI 在可用性区域中创建 Linux 虚拟机