调整 Windows VM 的大小

本文说明如何使用 Azure Powershell 调整在 Resource Manager 部署模型中创建的 Windows VM 的大小。

创建虚拟机 (VM) 后,可以通过更改 VM 大小来扩展或缩减 VM。在某些情况下,必须先解除分配 VM。如果新大小在当前托管 VM 的硬件群集上不可用,则可能会出现这种情况。

调整不在可用性集中的 Windows VM 的大小

  1. 列出托管 VM 的硬件群集上可用的 VM 大小。

    复制
    Get-AzureRmVMSize -ResourceGroupName <resourceGroupName> -VMName <vmName> 
    
  2. 如果列出了所需大小,请运行以下命令来调整 VM 的大小。如果未列出所需大小,请转到步骤 3。

    复制
    $vm = Get-AzureRmVM -ResourceGroupName <resourceGroupName> -VMName <vmName>
    $vm.HardwareProfile.VmSize = "<newVMsize>"
    Update-AzureRmVM -VM $vm -ResourceGroupName <resourceGroupName>
    
  3. 如果未列出所需大小,请运行以下命令来解除分配 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 的大小,请执行以下步骤。

  1. 列出托管 VM 的硬件群集上可用的 VM 大小。

    复制
    Get-AzureRmVMSize -ResourceGroupName <resourceGroupName> -VMName <vmName>
    
  2. 如果列出了所需大小,请运行以下命令来调整 VM 的大小。如果未列出所需大小,请转到步骤 3。

    复制
    $vm = Get-AzureRmVM -ResourceGroupName <resourceGroupName> -VMName <vmName>
    $vm.HardwareProfile.VmSize = "<newVmSize>"
    Update-AzureRmVM -VM $vm -ResourceGroupName <resourceGroupName>
    
  3. 如果未列出所需大小,则继续执行以下步骤以解除分配可用性集中的所有 VM、调整 VM 大小,然后重新启动 VM。

  4. 停止可用性集中的所有 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
    } 
    
  5. 调整可用性集中 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值