Berlaku untuk: ✔️ mesin virtual Linux ✔️ mesin virtual Windows ✔️ Set skala fleksibel
Artikel ini menunjukkan kepada Anda cara mengubah ukuran VM komputer virtual yang ada.
Setelah Anda membuat mesin virtual (VM), Anda dapat menaikkan atau menurunkan skala VM dengan mengubah ukuran VM. Dalam beberapa kasus, Anda harus membatalkan alokasi VM terlebih dahulu. Dealokasi mungkin diperlukan jika ukuran baru tidak tersedia pada kluster perangkat keras yang sama yang saat ini menghosting VM. Penting untuk dipahami bahwa bahkan ketika pembatalan tidak diperlukan, jika komputer virtual saat ini berjalan, mengubah ukurannya akan menyebabkannya dimulai ulang. Untuk alasan ini, Anda harus mempertimbangkan untuk mengubah ukuran VM sebagai prosedur yang mengganggu, terutama untuk beban kerja stateful yang dihosting di VM.

Jika VM Anda menggunakan Penyimpanan Premium, pastikan Anda memilih versi ukuran s untuk mendapatkan dukungan Penyimpanan Premium. Misalnya, pilih Standard_E4s_v3 dan bukan Standard_E4_v3.
Mengubah ukuran VM
- Buka portal Microsoft Azure.
- Ketikkan komputer virtual di kotak pencarian. Pada Layanan, pilih Mesin virtual.

- Di halaman Mesin virtual, pilih mesin virtual yang ingin Anda ubah ukurannya.

- Di menu sebelah kiri, pilih Ukuran. Pilih ukuran baru yang kompatibel dari daftar ukuran yang tersedia

- Setelah memilih ukuran, pilih Mengubah Ukuran.

Catatan
Jika komputer virtual saat ini berjalan, mengubah ukurannya akan menyebabkannya dimulai ulang.
Jika VM masih berjalan dan Anda tidak melihat ukuran yang Anda inginkan dalam daftar, menghentikan mesin virtual dapat menampilkan lebih banyak ukuran.
Peringatan
Membatalkan alokasi VM juga merilis alamat IP dinamis yang ditetapkan ke VM. Disk OS dan data tidak terpengaruh.
Jika Anda mengubah ukuran mesin virtual produksi, pertimbangkan untuk menggunakan Reservasi Kapasitas Azure untuk memesan kapasitas Komputasi di wilayah tersebut.
Atur grup sumber daya dan nama variabel VM. Ganti nilai dengan informasi VM yang ingin Anda ubah ukurannya.
$resourceGroup = "myResourceGroup"
$vmName = "myVM"
Cantumkan ukuran VM yang tersedia di kluster perangkat keras tempat VM di-host.
Get-AzVMSize -ResourceGroupName $resourceGroup -VMName $vmName
Ubah ukuran VM ke ukuran baru.
$vm = Get-AzVM -ResourceGroupName $resourceGroup -VMName $vmName
$vm.HardwareProfile.VmSize = "<newAv2VMsize>"
Update-AzVM -VM $vm -ResourceGroupName $resourceGroup
Gunakan PowerShell untuk mengubah ukuran VM yang tidak dalam kumpulan ketersediaan.
Skrip Cloud shell PowerShell ini menginisialisasi variabel $resourceGroup
, , $vm
dan $size
dengan nama grup sumber daya, nama VM, dan ukuran VM yang diinginkan masing-masing. Kemudian mengambil objek VM dari Azure menggunakan Get-AzVM
cmdlet . Skrip memodifikasi VmSize
properti profil perangkat keras VM ke ukuran yang diinginkan. Terakhir, ini menerapkan perubahan ini ke VM di Azure menggunakan Update-AzVM
cmdlet .
# 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
Sebagai alternatif untuk menjalankan skrip di Azure Cloud Shell, Anda juga dapat menjalankannya secara lokal di komputer Anda. Versi lokal skrip PowerShell ini menyertakan langkah-langkah tambahan untuk mengimpor modul Azure dan mengautentikasi akun Azure Anda.
Catatan
PowerShell lokal mungkin mengharuskan VM untuk memulai ulang agar berlaku.
# 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
Peringatan
Membatalkan alokasi VM juga merilis alamat IP dinamis yang ditetapkan ke VM. Disk OS dan data tidak terpengaruh.
Jika Anda mengubah ukuran mesin virtual produksi, pertimbangkan untuk menggunakan Reservasi Kapasitas Azure untuk memesan kapasitas Komputasi di wilayah tersebut.
Menggunakan PowerShell untuk mengubah ukuran VM dalam set ketersediaan
Jika ukuran baru untuk VM dalam set ketersediaan tidak tersedia pada kluster perangkat keras yang saat ini menghosting VM, maka Anda perlu membatalkan alokasi semua VM dalam ketersediaan yang ditetapkan untuk mengubah ukuran VM. Anda juga mungkin perlu memperbarui ukuran VM lainnya dalam set ketersediaan yang ditetapkan setelah satu VM diubah ukurannya. Untuk mengubah ukuran VM dalam set ketersediaan, jalankan skrip di bawah ini. Anda dapat mengganti nilai , , $vmName
$newVmSize
, dan $availabilitySetName
dengan nilai $resourceGroup
Anda sendiri.
# 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
Skrip ini mengatur variabel $resourceGroup
, , $vmName
, $newVmSize
dan $availabilitySetName
. Kemudian memeriksa apakah ukuran VM yang diinginkan tersedia dengan menggunakan Get-AzVMSize
dan memeriksa apakah output berisi ukuran yang diinginkan. Jika ukuran yang diinginkan tidak tersedia, skrip membatalkan alokasi semua VM dalam set ketersediaan, mengubah ukurannya, dan memulainya lagi. Jika ukuran yang diinginkan tersedia, skrip akan mengubah ukuran VM.
Untuk mengubah ukuran VM, Anda memerlukan Azure CLI terbaru yang diinstal dan masuk ke akun Azure menggunakan az sign-in.
Skrip di bawah ini memeriksa apakah ukuran VM yang diinginkan tersedia sebelum mengubah ukuran. Jika ukuran yang diinginkan tidak tersedia, skrip akan keluar dengan pesan kesalahan. Jika ukuran yang diinginkan tersedia, skrip membatalkan alokasi VM, mengubah ukurannya, dan memulainya lagi. Anda dapat mengganti nilai , , vm
dan size
dengan nilai resourceGroup
Anda sendiri.
# 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
Peringatan
Membatalkan alokasi VM juga merilis alamat IP dinamis yang ditetapkan ke VM. Disk OS dan data tidak terpengaruh.
Jika Anda mengubah ukuran mesin virtual produksi, pertimbangkan untuk menggunakan Reservasi Kapasitas Azure untuk memesan kapasitas Komputasi di wilayah tersebut.
Gunakan Azure CLI untuk mengubah ukuran VM dalam set ketersediaan.
Skrip di bawah ini mengatur variabel resourceGroup
, , vm
dan size
. Kemudian memeriksa apakah ukuran VM yang diinginkan tersedia dengan menggunakan az vm list-vm-resize-options
dan memeriksa apakah output berisi ukuran yang diinginkan. Jika ukuran yang diinginkan tidak tersedia, skrip akan keluar dengan pesan kesalahan. Jika ukuran yang diinginkan tersedia, skrip membatalkan alokasi VM, mengubah ukurannya, dan memulainya lagi.
# 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
Pilih SKU yang tepat
Saat mengubah ukuran VM, penting untuk memilih SKU yang tepat berdasarkan sinyal dari VM untuk menentukan apakah Anda memerlukan lebih banyak kapasitas CPU, memori, atau penyimpanan:
- Jika VM menjalankan beban kerja intensif CPU, seperti server database atau server web dengan lalu lintas tinggi, Anda mungkin perlu memilih SKU dengan lebih banyak inti CPU.
- Jika VM menjalankan beban kerja intensif memori, seperti model pembelajaran mesin atau aplikasi big data, Anda mungkin perlu memilih SKU dengan lebih banyak memori.
- Jika VM kehabisan kapasitas penyimpanan, Anda mungkin perlu memilih SKU dengan lebih banyak penyimpanan.
Untuk informasi selengkapnya tentang memilih SKU yang tepat, Anda dapat menggunakan sumber daya berikut:
- Ukuran untuk VM di Azure: Artikel ini mencantumkan semua ukuran VM yang tersedia di Azure.
- Azure VM Selector: Alat ini membantu Anda menemukan SKU VM yang tepat berdasarkan jenis beban kerja, OS dan perangkat lunak, dan wilayah penyebaran Anda.
Batasan
Anda tidak dapat mengubah ukuran VM yang memiliki disk sementara lokal ke ukuran VM tanpa disk sementara lokal dan sebaliknya.
Satu-satunya kombinasi yang diperbolehkan untuk mengubah ukuran adalah:
- VM (dengan disk sementara lokal) - VM > (dengan disk sementara lokal); dan
- VM (tanpa disk sementara lokal) - VM> (tanpa disk sementara lokal).
Untuk mengatasi masalah, lihat Bagaimana cara bermigrasi dari ukuran VM dengan disk sementara lokal ke ukuran VM tanpa disk sementara lokal? . Work-around dapat digunakan untuk mengubah ukuran VM tanpa disk sementara lokal ke VM dengan disk sementara lokal. Anda membuat rekam jepret VM tanpa disk > sementara lokal membuat disk dari rekam jepret > membuat VM dari disk dengan ukuran VM yang sesuai yang mendukung VM dengan disk sementara lokal.
Langkah berikutnya