使用 Azure PowerShell 在可用性集中创建和部署虚拟机

适用于:✔️ Windows VM

本教程介绍如何使用可用性集提高虚拟机 (VM) 的可用性和可靠性。 可用性集确保在 Azure 上部署的 VM 能够跨群集中多个隔离的硬件节点分布。

在本教程中,你将了解如何执行以下操作:

  • 创建可用性集
  • 在可用性集中创建 VM
  • 检查可用的 VM 大小
  • 检查 Azure 顾问

启动 Azure Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。

若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 也可以通过转到 https://shell.azure.com/powershell 在单独的浏览器标签页中启动 Cloud Shell。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。

创建可用性集

同一位置的硬件分为多个更新域和容错域。 更新域是一组可同时重启的 VM 和基础物理硬件。 同一个容错域内的 VM 共享公用存储,以及公用电源和网络交换机。

可以使用 New-AzAvailabilitySet 创建可用性集。 在此示例中,更新域和容错域的数目为 2,可用性集名为 myAvailabilitySet

创建资源组。

New-AzResourceGroup `
   -Name myResourceGroupAvailability `
   -Location EastUS

结合 -sku aligned 参数使用 New-AzAvailabilitySet 创建托管的可用性集。

New-AzAvailabilitySet `
   -Location "EastUS" `
   -Name "myAvailabilitySet" `
   -ResourceGroupName "myResourceGroupAvailability" `
   -Sku aligned `
   -PlatformFaultDomainCount 2 `
   -PlatformUpdateDomainCount 2

在可用性集内创建 VM

必须在可用性集中创建 VM,确保它们正确地分布在硬件中。 创建后,无法将现有 VM 添加到可用性集中。

通过 New-AzVM 创建 VM 时,请使用 -AvailabilitySetName 参数指定可用性集的名称。

首先,使用 Get-Credential 设置 VM 的管理员用户名和密码:

$cred = Get-Credential

现在,请使用 New-AzVM 在可用性集中创建两个 VM。

for ($i=1; $i -le 2; $i++)
{
    New-AzVm `
        -ResourceGroupName "myResourceGroupAvailability" `
        -Name "myVM$i" `
        -Location "East US" `
        -VirtualNetworkName "myVnet" `
        -SubnetName "mySubnet" `
        -SecurityGroupName "myNetworkSecurityGroup" `
        -PublicIpAddressName "myPublicIpAddress$i" `
        -AvailabilitySetName "myAvailabilitySet" `
        -Credential $cred
}

创建和配置这两个 VM 需要几分钟的时间。 完成后,你将拥有两个跨基础硬件分布的虚拟机。

如果转到“资源组”>“myResourceGroupAvailability”>“myAvailabilitySet”在门户中查看可用性集,应会看到 VM 在两个容错域和更新域之间的分布方式。

门户中的可用性集

注意

在某些情况下,同一可用性集中的 2 个 VM 可能共享同一个容错域。 可以通过进入您的可用性集并检查容错域列来确认这一点。 这可能是由部署 VM 时的以下事件序列引起的:

  1. 部署第一个 VM
  2. 第一个 VM 已停止/已解除分配
  3. 部署第二个 VM。 在这种情况下,第二个 VM 的 OS 磁盘可能创建在与第一个 VM 相同的“容错域”上,因此第二个 VM 也会在同一容错域上。 若要避免此问题,建议不要在两次部署之间停止/解除分配 VM。

检查可用的 VM 大小

在可用性集中创建 VM 时,需了解在硬件上可用的 VM 大小。 使用 Get-AzVMSize 命令获取能够在可用性集中部署的虚拟机的所有可用大小。

Get-AzVMSize `
   -ResourceGroupName "myResourceGroupAvailability" `
   -AvailabilitySetName "myAvailabilitySet"

检查 Azure 顾问

还可使用 Azure 顾问获取有关如何提高 VM 可用性的详细信息。 Azure 顾问可分析配置和用量遥测数据,然后推荐解决方案来帮助提高 Azure 资源的经济效益、性能、可用性和安全性。

登录到 Azure 门户,选择“所有服务”,然后键入“顾问” 。 顾问仪表板显示针对所选订阅的个性化建议。 有关详细信息,请参阅 Azure 顾问入门

后续步骤

在本教程中,你了解了如何执行以下操作:

  • 创建可用性集
  • 在可用性集中创建 VM
  • 检查可用的 VM 大小
  • 检查 Azure 顾问

请转到下一教程,了解虚拟机规模集。