A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Windows rendszerű virtuális gépek ✔️ Rugalmas méretezési csoportok
Ez a cikk bemutatja, hogyan módosíthatja egy meglévő virtuális gép virtuálisgép-méretét.
A virtuális gép létrehozása után a virtuális gép méretének módosításával fel- vagy leskálázhatja azt. Ez a folyamat akkor működik, ha a virtuális gép jelenleg fut, vagy már le lett állítva.
Bizonyos esetekben az átméretezés előtt fel kell szabadítania a virtuális gépet. A memória vagy az erőforrás újraelosztása szükséges lehet, ha az új méret nem érhető el a jelenleg a virtuális gépet üzemeltető hardverklaszteren. Még akkor is, ha nincs szükség felszabadításra, a futó virtuális gép méretének módosítása újraindulást okoz. Ezért a virtuális gépek átméretezését zavaró műveletnek kell tekinteni, különösen az állapotalapú számítási feladatok esetében.
Figyelmeztetés
Ha a virtuális gép jelenleg fut, a méretének módosításával újraindulhat.
A virtuális gép dealokálása a virtuális géphez rendelt dinamikus IP-címeket is felszabadítja. Az operációs rendszerre és az adatlemezekre nincs hatással.
Ha egy átméretezési művelet meghiúsul, a virtuálisgép-modell továbbra is megjeleníti a kért méretet, de a virtuális gép az átméretezés sikeres lefoglalásáig az előző méretén fog futni. Ez a viselkedés a Azure portálra és az összes GET műveletre is vonatkozik, mivel a megjelenített méret mindig a legújabb alkalmazott konfigurációt tükrözi, nem pedig a tényleges futó méretet.
Válassza ki a megfelelő termékváltozatot
A virtuális gép átméretezésekor fontos, hogy a virtuális gép jelzései alapján válassza ki a megfelelő termékváltozatot annak megállapításához, hogy több processzor-, memória- vagy tárkapacitásra van-e szüksége:
- Ha a virtuális gép processzorigényes számítási feladatot futtat, például adatbázis-kiszolgálót vagy nagy forgalmú webkiszolgálót, előfordulhat, hogy több processzormaggal rendelkező termékváltozatot kell választania. További információ: Számításoptimalizált méretek.
- Ha a virtuális gép memóriaigényes számítási feladatot futtat, például gépi tanulási modellt vagy big data-alkalmazást, előfordulhat, hogy több memóriával rendelkező termékváltozatot kell választania. További információ: Memóriaoptimalizált méretek.
- Ha a virtuális gép tárolókapacitása elfogy, előfordulhat, hogy több tárterülettel rendelkező termékváltozatot kell választania. További információ: Tárterületoptimalizált méretek.
- Ha a virtuális gép Premium Storage-t használ, győződjön meg arról, hogy a méret s verzióját választja, hogy Premium Storage támogatást kapjon. Például Standard_E4_v3 helyett válassza Standard_E4s_v3.
A megfelelő termékváltozat kiválasztásával kapcsolatos további információkért használja az alábbi erőforrásokat:
-
Sizes for VMs in Azure: Ez a cikk felsorolja a Azure elérhető összes virtuálisgép-méretet.
-
Azure virtuálisgép-választó: Ez az eszköz segít megtalálni a megfelelő virtuálisgép-termékváltozatot a számítási feladat típusa, az operációs rendszer és a szoftver, valamint az üzembe helyezési régió alapján.
Korlátozások
A Linux rendszerű virtuális gépek esetében támogatott a helyi ideiglenes lemezzel rendelkező virtuálisgép-méretek és a helyi ideiglenes lemezt nem tartalmazó virtuálisgép-méretek átméretezése. Windows virtuális gépek esetében csak a következő átméretezés kombinációk engedélyezettek:
- Virtuális gép (helyi ideiglenes lemezzel) –> virtuális gép (helyi ideiglenes lemezzel); és
- Virtuális gép (helyi ideiglenes lemez nélkül) –> virtuális gép (helyi ideiglenes lemez nélkül).
A Hogyan migráljak egy helyi ideiglenes lemezes virtuálisgép-méretből egy lemez nélkülibe? kérdéskörön belül találhatók alternatív megoldások. Az alternatív megoldás használható egy lemez nélküli virtuális gép átméretezésére egy ideiglenes lemezesre. Létrehoz egy pillanatképet a virtuális gépről, amely nem tartalmaz helyi ideiglenes lemezt > a pillanatképből hozzon létre egy lemezt > hozzon létre egy virtuális gépet a lemezről, megfelelő VM mérettel, amely támogatja a helyi ideiglenes lemezzel rendelkező virtuális gépeket.
Nem módosítható egy virtuális gép méretének átméretezése, amely SCSI-alapú virtuális gépből távoli NVMe-kompatibilis virtuális gépre van beállítva.
Kerülő megoldásként tekintse meg az SCSI-alapú virtuális gépek átméretezését egy másik méretű távoli NVMe-kompatibilis virtuális gépre?
A virtuális gép méretének módosítása
Válasszon egy lehetőséget a virtuális gép méretének módosításához:
A virtuális gép méretének módosítása a Azure portálon:
- Nyissa meg a Azure portált.
- Írja be a virtuális gépeket a keresésbe. A Szolgáltatásokterületen válassza a Virtuális Gépeklehetőséget.
- A Virtuális gépek lapon válassza ki az átméretezni kívánt virtuális gépet.
- A bal oldali menü Rendelkezésre állás + méretezés szakaszában válassza ki a méretet.
- Válasszon egy új kompatibilis méretet az elérhető méretek listájából, majd válassza az Átméretezés lehetőséget.
Ha a virtuális gép továbbra is fut, és nem látja a kívánt méretet a listában, előfordulhat, hogy a virtuális gép leállítása további méreteket jelenít meg.
Virtuális gép méretének módosítása a PowerShell használatával:
Állítsa be az erőforráscsoport és a virtuális gép névváltozóit. Cserélje le az értékeket az átméretezni kívánt virtuális gép adataira.
$resourceGroup = "myResourceGroup"
$vmName = "myVM"
Sorolja fel a virtuális gépet futtató hardverfürtön elérhető virtuálisgép-méreteket.
Get-AzVMSize -ResourceGroupName $resourceGroup -VMName $vmName
Méretezze át a virtuális gépet az új méretre.
$vm = Get-AzVM -ResourceGroupName $resourceGroup -VMName $vmName
$vm.HardwareProfile.VmSize = "<newVMsize>"
Update-AzVM -VM $vm -ResourceGroupName $resourceGroup
A PowerShell használatával átméretezheti a nem rendelkezésre állási csoportban lévő virtuális gépeket.
Ez a Cloud Shell PowerShell-szkript inicializálja a változókat $resourceGroup, $vmvalamint $size az erőforráscsoport nevét, a virtuális gép nevét és a kívánt virtuálisgép-méretet. Ezután lekéri a virtuális gép objektumot az Azure-ból a Get-AzVM parancsmag használatával. A szkript a VmSize virtuális gép hardverprofiljának tulajdonságát a kívánt méretre módosítja. Végül alkalmazza ezeket a módosításokat a virtuális gépre Azure a Update-AzVM parancsmag használatával.
# 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
A szkript Azure Cloud Shell való futtatásának alternatívaként helyileg is végrehajthatja a számítógépen. A PowerShell-szkript ezen helyi verziója további lépéseket tartalmaz a Azure modul importálásához és a Azure-fiók hitelesítéséhez.
Megjegyzés:
Előfordulhat, hogy a helyi PowerShell megköveteli, hogy a virtuális gép újrainduljon a hatályba lépéshez.
# 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
Virtuális gép átméretezése rendelkezésre állási csoportban a PowerShell használatával
Ha egy rendelkezésre állási csoportban lévő virtuális gép új mérete nem érhető el a virtuális gépet jelenleg üzemeltető hardverfürtön, akkor a rendelkezésre állási csoportban lévő összes virtuális gépet el kell szabadítania a virtuális gép átméretezéséhez. Előfordulhat, hogy az egyik virtuális gép átméretezése után frissítenie kell a rendelkezésre állási csoportban lévő többi virtuális gép méretét is. Egy rendelkezésre állási csoportban lévő virtuális gép átméretezéséhez futtassa az alábbi szkriptet.
Ez a szkript beállítja a változókat $resourceGroup, $vmNameés $newVmSize$availabilitySetName. Ezután a kívánt virtuális gép méretének elérhetőségét ellenőrzi a Get-AzVMSize használatával, és megvizsgálja, hogy a kimenet tartalmazza-e a kívánt méretet. Ha a kívánt méret nem érhető el, a szkript felszabadítja a rendelkezésre állási csoportban lévő összes virtuális gépet, átméretezi és újra elindítja őket. Ha a kívánt méret elérhető, a szkript átméretezi a virtuális gépet.
Cserélje le a $resourceGroup, $vmName, $newVmSize és $availabilitySetName értékeit a sajátjaikra.
# 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
A virtuális gépek átméretezéséhez telepítve kell lennie a legújabb Azure CLI, és be kell jelentkeznie Azure fiókjába a az bejelentkezés használatával.
Az alábbi szkript ellenőrzi, hogy a kívánt virtuálisgép-méret elérhető-e az átméretezés előtt. Ha a kívánt méret nem érhető el, a szkript hibaüzenettel lép ki. Ha a kívánt méret elérhető, a szkript felszabadítja a virtuális gépet, átméretezi és újra elindítja.
Cserélje le a resourceGroup, vm és size elemeket a saját értékeire.
# 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
Az Azure CLI használatával méretezze át a virtuális gépet egy rendelkezésre állási csoportban.
Az alábbi szkript beállítja a változókat resourceGroup, vmés size. Ezután a kívánt virtuális gép méretének elérhetőségét ellenőrzi a az vm list-vm-resize-options használatával, és megvizsgálja, hogy a kimenet tartalmazza-e a kívánt méretet. Ha a kívánt méret nem érhető el, a szkript hibaüzenettel lép ki. Ha a kívánt méret elérhető, a szkript felszabadítja a virtuális gépet, átméretezi és újra elindítja.
Cserélje le a resourceGroup, vm és size elemeket a saját értékeire.
# 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
Következő lépések