本教程介绍如何使用称作“可用性集”的功能提高 Azure 上虚拟机解决方案的可用性和可靠性。 可用性集可确保在 Azure 上部署的 VM 能够跨多个隔离的硬件群集分布。 这样,就可以确保当 Azure 中发生硬件或软件故障时,只有一部分 VM 会受到影响,整体解决方案仍可使用和操作。
本教程介绍如何执行下列操作:
创建可用性集
在可用性集中创建 VM
检查可用的 VM 大小
Note
在 Azure 中国区使用 Azure CLI 2.0 之前,请先运行az cloud set -n AzureChinaCloud来改变云环境。如果想切回国际版 Azure,请再次运行az cloud set -n AzureCloud。
如果选择在本地安装并使用 CLI,本教程要求运行 Azure CLI 2.0.4 或更高版本。 运行az --version即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI 2.0。
可用性集概述
可用性集是一种逻辑分组功能,在 Azure 中使用它可以确保将 VM 资源部署在 Azure 数据中心后,这些资源相互隔离。 Azure 确保可用性集中部署的 VM 能够跨多个物理服务器、计算机架、存储单元和网络交换机运行。 如果出现硬件或 Azure 软件故障,只有一部分 VM 会受到影响,整体应用程序仍会保持运行,可供客户使用。 如果想要构建可靠的云解决方案,可用性集是一项关键功能。
假设某个基于 VM 的典型解决方案包含 4 个前端 Web 服务器,以及 2 个托管数据库的后端 VM。 在 Azure 中,需要在部署 VM 之前先定义两个可用性集:一个可用性集用于“Web”层,另一个可用性集用于“数据库”层。 创建新的 VM 时,可在 az vm create 命令中指定可用性集作为参数,Azure 会自动确保在可用性集中创建的 VM 在多个物理硬件资源之间保持独立。 如果运行某个 Web 服务器或数据库服务器 VM 的物理硬件有问题,可以确信 Web 服务器和数据库 VM 的其他实例会保持运行,因为它们位于不同的硬件上。
在 Azure 中部署基于 VM 的可靠解决方案时,使用可用性集。
创建可用性集
可使用az vm availability-set create创建可用性集。 在本示例中,将 myResourceGroupAvailability 资源组中名为 myAvailabilitySet 的可用性集的更新域数和容错域数均设置为 2。
创建资源组。
Azure CLI复制
azgroupcreate--namemyResourceGroupAvailability--locationchinaeast
Azure CLI复制
azvmavailability-setcreate\--resource-groupmyResourceGroupAvailability \--namemyAvailabilitySet \--platform-fault-domain-count2\--platform-update-domain-count2
使用可用性集可跨容错域和更新域隔离资源。容错域代表服务器、网络和存储资源的隔离集合。 前面的示例指出我们想要在部署 VM 时,将可用性集至少分布在两个容错域之间。 此外,还指出要将可用性集分布在两个更新域之间。 两个更新域确保当 Azure 执行软件更新时,VM 资源可以隔离,防止 VM 下面运行的所有软件同时更新。
在可用性集内创建 VM
必须在可用性集中创建 VM,确保它们正确地分布在硬件中。 创建后,无法将现有 VM 添加到可用性集中。
使用az vm create创建 VM 时,利用--availability-set参数指定可用性集,以指定该可用性集的名称。
Azure CLI复制
for i in `seq12`; doazvmcreate\--resource-groupmyResourceGroupAvailability \--namemyVM$i\--availability-setmyAvailabilitySet \--sizeStandard_DS1_v2 \--imageCanonical:UbuntuServer:14.04.4-LTS:latest \--admin-usernameazureuser \--generate-ssh-keys\--no-waitdone
现在,我们已在新建的可用性集中创建了两个虚拟机。 由于它们在同一可用性集中,Azure 会确保 VM 及其所有资源(包括数据磁盘)分布在隔离的物理硬件上。 这种分布方式有助于确保提高整体 VM 解决方案的可用性。
如果通过转到“资源组”>“我的资源组可用性”>“我的可用性集”在门户中查看可用性集,则应查看如何跨 2 个容错域和更新域分布 VM。
检查可用的 VM 大小
稍后可向可用性集添加更多 VM,但需了解在硬件上可用的 VM 大小。 使用az vm availability-set list-sizes列出可用性集的硬件群集上所有可用的大小。
Azure CLI复制
azvmavailability-set list-sizes \--resource-groupmyResourceGroupAvailability \--namemyAvailabilitySet \--outputtable
后续步骤
在本教程中,你已学习了如何执行以下操作:
创建可用性集
在可用性集中创建 VM
检查可用的 VM 大小
请转到下一教程,了解虚拟机规模集。
立即访问http://market.azure.cn