Po vytvoření virtuálního počítače můžete vertikálně navýšit nebo snížit kapacitu virtuálního počítače změnou velikosti virtuálního počítače. V některých případech musíte nejprve uvolnit virtuální počítač. Pokud nová velikost není dostupná ve stejném hardwarovém clusteru, který aktuálně hostuje virtuální počítač, může být potřeba uvolnit umístění. Je důležité si uvědomit, že i když není potřeba uvolnit umístění, pokud je virtuální počítač aktuálně spuštěný, změna jeho velikosti způsobí restartování. Z tohoto důvodu byste měli zvážit změnu velikosti virtuálního počítače jako rušivého postupu, zejména u stavových úloh hostovaných na virtuálním počítači.
Pokud váš virtuální počítač používá Premium Storage, ujistěte se, že jste zvolili verzi velikosti, abyste získali podporu služby Premium Storage. Můžete například místo Standard_E4_v3 zvolit Standard_E4s_v3.
Do hledání zadejte virtuální počítače . V části Služby vyberte Virtuální počítače.
Na stránce Virtuální počítače vyberte virtuální počítač, u kterého chcete změnit velikost.
V nabídce vlevo vyberte velikost. V seznamu dostupných velikostí vyberte novou kompatibilní velikost.
Po výběru velikosti vyberte Změnit velikost.
Poznámka:
Pokud je virtuální počítač aktuálně spuštěný, změna jeho velikosti způsobí restartování.
Pokud je váš virtuální počítač stále spuštěný a v seznamu nevidíte požadovanou velikost, může zastavení virtuálního počítače odhalit více velikostí.
Upozorňující
Uvolněním virtuálního počítače se uvolní také všechny dynamické IP adresy přiřazené k virtuálnímu počítači. Na disky s operačním systémem a datovými disky to nemá vliv.
Pokud měníte velikost produkčního virtuálního počítače, zvažte použití rezervací kapacity Azure k rezervaci výpočetní kapacity v dané oblasti.
Nastavte proměnné názvu skupiny prostředků a virtuálního počítače. Nahraďte hodnoty informacemi o virtuálním počítači, u kterého chcete změnit velikost.
Pomocí PowerShellu můžete změnit velikost virtuálního počítače, který není ve skupině dostupnosti.
Tento skript Prostředí Cloud Shell PowerShell inicializuje proměnné $resourceGroup$vma $size s názvem skupiny prostředků, názvem virtuálního počítače a požadovanou velikostí virtuálního počítače. Potom pomocí rutiny načte objekt virtuálního počítače z Azure Get-AzVM . Skript upraví VmSize vlastnost hardwarového profilu virtuálního počítače na požadovanou velikost. Nakonec tyto změny použije na virtuální počítač v Azure pomocí této rutiny Update-AzVM .
# Set variables
$resourceGroup = 'myResourceGroup'
$vmName = 'myVM'
$size = 'Standard_DS3_v2'
# Get the VM
$vm = Get-AzVM -ResourceGroupName $resourceGroup -Name $vmName
# Change the VM size
$vm.HardwareProfile.VmSize = $size
# Update the VM
Update-AzVM -ResourceGroupName $resourceGroup -VM $vm
Jako alternativu ke spuštění skriptu v Azure Cloud Shellu ho můžete spustit také místně na svém počítači. Tato místní verze skriptu PowerShellu obsahuje další kroky pro import modulu Azure a ověření účtu Azure.
Poznámka:
Místní PowerShell může vyžadovat restartování virtuálního počítače, aby se projevilo.
# Import the Azure module
Import-Module Az
# Login to your Azure account
Connect-AzAccount
# Set variables
$resourceGroup = 'myResourceGroup'
$vmName = 'myVM'
$size = 'Standard_DS3_v2'
# Select the subscription
Select-AzSubscription -SubscriptionId '<subscriptionID>'
# Get the VM
$vm = Get-AzVM -ResourceGroupName $resourceGroup -Name $vmName
# Change the VM size
$vm.HardwareProfile.VmSize = $size
# Update the VM
Update-AzVM -ResourceGroupName $resourceGroup -VM $vm
Upozorňující
Uvolněním virtuálního počítače se uvolní také všechny dynamické IP adresy přiřazené k virtuálnímu počítači. Na disky s operačním systémem a datovými disky to nemá vliv.
Pokud měníte velikost produkčního virtuálního počítače, zvažte použití rezervací kapacity Azure k rezervaci výpočetní kapacity v dané oblasti.
Změna velikosti virtuálního počítače ve skupině dostupnosti pomocí PowerShellu
Pokud nová velikost virtuálního počítače ve skupině dostupnosti není dostupná v hardwarovém clusteru, který je aktuálně hostitelem virtuálního počítače, musíte uvolnit všechny virtuální počítače ve skupině dostupnosti, abyste mohli změnit velikost virtuálního počítače. Po změně velikosti jednoho virtuálního počítače může být také potřeba aktualizovat velikost jiných virtuálních počítačů ve skupině dostupnosti. Pokud chcete změnit velikost virtuálního počítače ve skupině dostupnosti, spusťte následující skript. Můžete nahradit hodnoty $resourceGroup, $vmName, $newVmSizea $availabilitySetName vlastní.
# Set variables
$resourceGroup = "myResourceGroup"
$vmName = "myVM"
$newVmSize = "<newVmSize>"
$availabilitySetName = "<availabilitySetName>"
# Check if the desired VM size is available
$availableSizes = Get-AzVMSize `
-ResourceGroupName $resourceGroup `
-VMName $vmName |
Select-Object -ExpandProperty Name
if ($availableSizes -notcontains $newVmSize) {
# Deallocate all VMs in the availability set
$as = Get-AzAvailabilitySet `
-ResourceGroupName $resourceGroup `
-Name $availabilitySetName
$virtualMachines = $as.VirtualMachinesReferences | Get-AzResource | Get-AzVM
$virtualMachines | Stop-AzVM -Force -NoWait
# Resize and restart the VMs in the availability set
$virtualMachines | Foreach-Object { $_.HardwareProfile.VmSize = $newVmSize }
$virtualMachines | Update-AzVM
$virtualMachines | Start-AzVM
exit
}
# Resize the VM
$vm = Get-AzVM `
-ResourceGroupName $resourceGroup `
-VMName $vmName
$vm.HardwareProfile.VmSize = $newVmSize
Update-AzVM `
-VM $vm `
-ResourceGroupName $resourceGroup
Tento skript nastaví proměnné $resourceGroup, $vmName, $newVmSizea $availabilitySetName. Potom zkontroluje, jestli je požadovaná velikost virtuálního počítače dostupná, a Get-AzVMSize zkontroluje, jestli výstup obsahuje požadovanou velikost. Pokud požadovaná velikost není dostupná, skript uvolní všechny virtuální počítače ve skupině dostupnosti, změní jejich velikost a spustí je znovu. Pokud je požadovaná velikost dostupná, skript změní velikost virtuálního počítače.
Pokud chcete změnit velikost virtuálního počítače, potřebujete nainstalovanou nejnovější verzi Azure CLI a přihlásit se k účtu Azure pomocí příkazu az sign-in.
Následující skript zkontroluje, jestli je před změnou velikosti k dispozici požadovaná velikost virtuálního počítače. Pokud požadovaná velikost není dostupná, skript se ukončí chybovou zprávou. Pokud je požadovaná velikost dostupná, skript uvolní virtuální počítač, změní jeho velikost a spustí ho znovu. Můžete nahradit hodnoty resourceGroup, vma size vlastní.
# Set variables
resourceGroup=myResourceGroup
vm=myVM
size=Standard_DS3_v2
# Check if the desired VM size is available
if ! az vm list-vm-resize-options --resource-group $resourceGroup --name $vm --query "[].name" | grep -q $size; then
echo "The desired VM size is not available."
exit 1
fi
# Deallocate the VM
az vm deallocate --resource-group $resourceGroup --name $vm
# Resize the VM
az vm resize --resource-group $resourceGroup --name $vm --size $size
# Start the VM
az vm start --resource-group $resourceGroup --name $vm
Upozorňující
Uvolněním virtuálního počítače se uvolní také všechny dynamické IP adresy přiřazené k virtuálnímu počítači. Na disky s operačním systémem a datovými disky to nemá vliv.
Pokud měníte velikost produkčního virtuálního počítače, zvažte použití rezervací kapacity Azure k rezervaci výpočetní kapacity v dané oblasti.
Pomocí Azure CLI můžete změnit velikost virtuálního počítače ve skupině dostupnosti.
Následující skript nastaví proměnné resourceGroup, vma size. Potom zkontroluje, jestli je požadovaná velikost virtuálního počítače dostupná, a az vm list-vm-resize-options zkontroluje, jestli výstup obsahuje požadovanou velikost. Pokud požadovaná velikost není dostupná, skript se ukončí chybovou zprávou. Pokud je požadovaná velikost dostupná, skript uvolní virtuální počítač, změní jeho velikost a spustí ho znovu.
# Set variables
resourceGroup="myResourceGroup"
vmName="myVM"
newVmSize="<newVmSize>"
availabilitySetName="<availabilitySetName>"
# Check if the desired VM size is available
availableSizes=$(az vm list-vm-resize-options \
--resource-group $resourceGroup \
--name $vmName \
--query "[].name" \
--output tsv)
if [[ ! $availableSizes =~ $newVmSize ]]; then
# Deallocate all VMs in the availability set
vmIds=$(az vmss list-instances \
--resource-group $resourceGroup \
--name $availabilitySetName \
--query "[].instanceId" \
--output tsv)
az vm deallocate \
--ids $vmIds \
--no-wait
# Resize and restart the VMs in the availability set
az vmss update \
--resource-group $resourceGroup \
--name $availabilitySetName \
--set virtualMachineProfile.hardwareProfile.vmSize=$newVmSize
az vmss start \
--resource-group $resourceGroup \
--name $availabilitySetName \
--instance-ids $vmIds
exit
fi
# Resize the VM
az vm resize \
--resource-group $resourceGroup \
--name $vmName \
--size $newVmSize
Pokud chcete změnit velikost virtuálního počítače v kódu Terraformu, upravte size parametr v azurerm_linux_virtual_machineazurerm_windows_virtual_machine blocích prostředků na požadovanou velikost a spusťte terraform plan -out main.tfplan ho, aby se zobrazila změna velikosti virtuálního počítače, která se provede. Potom spusťte, terraform apply main.tfplan aby se změny použily ke změně velikosti virtuálního počítače.
Důležité
Následující příklad Terraformu upraví velikost existujícího virtuálního počítače při použití stavového souboru, který vytvořil původní virtuální počítač. Úplný kód Terraformu najdete v rychlém startu pro Windows Terraform.
Uvolněním virtuálního počítače se uvolní také všechny dynamické IP adresy přiřazené k virtuálnímu počítači. Na disky s operačním systémem a datovými disky to nemá vliv.
Pokud měníte velikost produkčního virtuálního počítače, zvažte použití rezervací kapacity Azure k rezervaci výpočetní kapacity v dané oblasti.
Výběr správné skladové položky
Při změně velikosti virtuálního počítače je důležité zvolit správnou skladovou položku na základě signálů z virtuálního počítače, abyste zjistili, jestli potřebujete více procesoru, paměti nebo kapacity úložiště:
Pokud na virtuálním počítači běží úloha náročná na procesor, jako je databázový server nebo webový server s vysokým provozem, možná budete muset zvolit skladovou položku s větším počtem jader procesoru.
Pokud na virtuálním počítači běží úloha náročná na paměť, jako je model strojového učení nebo aplikace pro velké objemy dat, možná budete muset zvolit skladovou položku s větší pamětí.
Pokud na virtuálním počítači dochází kapacita úložiště, možná budete muset zvolit skladovou položku s větším úložištěm.
Další informace o výběru správné skladové položky najdete v následujících zdrojích informací:
Výběr virtuálních počítačů Azure: Tento nástroj vám pomůže najít správnou skladovou položku virtuálního počítače na základě typu úlohy, operačního systému a softwaru a oblasti nasazení.
Omezení
Velikost virtuálního počítače s místním dočasným diskem nemůžete změnit na velikost virtuálního počítače bez místního dočasného disku a naopak.
Jedinými kombinacemi povolenými pro změnu velikosti jsou:
Virtuální počítač (s místním dočasným diskem) –> virtuální počítač (s místním dočasným diskem) a
Virtuální počítač (bez místního dočasného disku) –> virtuální počítač (bez místního dočasného disku).
Pokud chcete určit velikosti virtuálních počítačů podle typu úlohy, operačního systému a softwaru nebo oblasti nasazení, přečtěte si téma Výběr virtuálních počítačů Azure.