本文说明如何使用 Azure Powershell 调整在 Resource Manager 部署模型中创建的 Windows VM 的大小。
创建虚拟机 (VM) 后,可以通过更改 VM 大小来扩展或缩减 VM。在某些情况下,必须先解除分配 VM。如果新大小在当前托管 VM 的硬件群集上不可用,则可能会出现这种情况。
调整不在可用性集中的 Windows VM 的大小
-
列出托管 VM 的硬件群集上可用的 VM 大小。
复制Get-AzureRmVMSize -ResourceGroupName <resourceGroupName> -VMName <vmName>
-
如果列出了所需大小,请运行以下命令来调整 VM 的大小。如果未列出所需大小,请转到步骤 3。
复制$vm = Get-AzureRmVM -ResourceGroupName <resourceGroupName> -VMName <vmName> $vm.HardwareProfile.VmSize = "<newVMsize>" Update-AzureRmVM -VM $vm -ResourceGroupName <resourceGroupName>
-
如果未列出所需大小,请运行以下命令来解除分配 VM、调整其大小,然后将它重新启动。
复制$rgname = "<resourceGroupName>" $vmname = "<vmName>" Stop-AzureRmVM -ResourceGroupName $rgname -VMName $vmname -Force $vm = Get-AzureRmVM -ResourceGroupName $rgname -VMName $vmname $vm.HardwareProfile.VmSize = "<newVMSize>" Update-AzureRmVM -VM $vm -ResourceGroupName $rgname Start-AzureRmVM -ResourceGroupName $rgname -Name $vmname
Warning
解除分配 VM 会释放分配给该 VM 的所有动态 IP 地址。OS 和数据磁盘不受影响。
调整可用性集中的 Windows VM 的大小
如果可用性集中 VM 的新大小在当前托管 VM 的硬件群集上不可用,则将需要解除分配可用性集中的所有 VM 以调整 VM 大小。已调整一个 VM 的大小后,可能还需要更新可用性集中其他 VM 的大小。若要调整可用性集中 VM 的大小,请执行以下步骤。
-
列出托管 VM 的硬件群集上可用的 VM 大小。
复制Get-AzureRmVMSize -ResourceGroupName <resourceGroupName> -VMName <vmName>
-
如果列出了所需大小,请运行以下命令来调整 VM 的大小。如果未列出所需大小,请转到步骤 3。
复制$vm = Get-AzureRmVM -ResourceGroupName <resourceGroupName> -VMName <vmName> $vm.HardwareProfile.VmSize = "<newVmSize>" Update-AzureRmVM -VM $vm -ResourceGroupName <resourceGroupName>
-
如果未列出所需大小,则继续执行以下步骤以解除分配可用性集中的所有 VM、调整 VM 大小,然后重新启动 VM。
-
停止可用性集中的所有 VM。
复制$rg = "<resourceGroupName>" $as = Get-AzureRmAvailabilitySet -ResourceGroupName $rg $vmIds = $as.VirtualMachinesReferences foreach ($vmId in $vmIDs){ $string = $vmID.Id.Split("/") $vmName = $string[8] Stop-AzureRmVM -ResourceGroupName $rg -Name $vmName -Force }
-
调整可用性集中 VM 的大小并重新启动 VM。
复制$rg = "<resourceGroupName>" $newSize = "<newVmSize>" $as = Get-AzureRmAvailabilitySet -ResourceGroupName $rg $vmIds = $as.VirtualMachinesReferences foreach ($vmId in $vmIDs){ $string = $vmID.Id.Split("/") $vmName = $string[8] $vm = Get-AzureRmVM -ResourceGroupName $rg -Name $vmName $vm.HardwareProfile.VmSize = $newSize Update-AzureRmVM -ResourceGroupName $rg -VM $vm Start-AzureRmVM -ResourceGroupName $rg -Name $vmName }
立即访问http://market.azure.cn