Melampirkan disk data ke VM Windows dengan PowerShell
Berlaku untuk: ✔️ VM Windows ✔️ Set skala fleksibel
Artikel ini menunjukkan kepada Anda cara melampirkan disk baru dan yang sudah ada ke komputer virtual Windows menggunakan PowerShell.
Pertama, tinjau tips berikut:
- Ukuran komputer virtual mengontrol berapa banyak disk data yang dapat Anda lampirkan. Untuk info selengkapnya, lihat Ukuran untuk komputer virtual.
- Untuk menggunakan SSD premium, Anda memerlukan jenis VM premium yang mendukung penyimpanan,seperti seri DS atau komputer virtual seri GS.
Artikel ini menggunakan PowerShell dalam Azure Cloud Shell, yang terus diperbarui ke versi terbaru. Untuk membuka Cloud Shell, pilih Coba dari bagian atas blok kode apa pun.
Latensi yang lebih rendah
Di wilayah tertentu, latensi pelampiran disk telah berkurang sehingga Anda akan melihat peningkatan hingga 15%. Ini berguna jika Anda telah merencanakan/membatalkan rencana failover antar-VM, menskalakan beban kerja, atau menjalankan beban kerja stateful skala tinggi seperti Azure Kubernetes Service. Namun, peningkatan ini hanya berlaku untuk perintah pelampiran disk eksplisit, Add-AzVMDataDisk
. Anda tidak akan melihat peningkatan performa jika menjalankan perintah pelampiran yang implisit, seperti Update-AzVM
. Anda tidak perlu mengambil tindakan apa pun selain menjalankan perintah pelampiran eksplisit untuk melihat peningkatan ini.
Penurunan latensi saat ini dapat dirasakan di setiap wilayah publik, kecuali:
- Kanada Tengah
- US Tengah
- US Timur
- AS Timur 2
- AS Tengah Bagian Selatan
- US Barat 2
- Jerman Utara
- Jio India Barat
- Eropa Utara
- Eropa Barat
Menambahkan disk data kosong ke komputer virtual
Contoh ini memperlihatkan cara menambahkan disk data kosong ke komputer virtual yang ada.
Menggunakan disk terkelola
$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US'
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName
$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
Update-AzVM -VM $vm -ResourceGroupName $rgName
Menggunakan disk terkelola dalam Zona Ketersediaan
Untuk membuat disk di Zona Ketersediaan, gunakan New-AzDiskConfig dengan parameter -Zone
. Contoh berikut membuat disk di zona 1.
$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US 2'
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'
$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128 -Zone 1
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName
$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
Update-AzVM -VM $vm -ResourceGroupName $rgName
Menginisialisasi disk
Setelah menambahkan disk kosong, Anda harus menginisialisasinya. Untuk menginisialisasi disk, Anda dapat masuk ke VM dan menggunakan manajemen disk. Jika Anda mengaktifkan WinRM dan sertifikat pada VM saat membuatnya, Anda dapat menggunakan PowerShell jarak jauh untuk menginisialisasi disk. Anda juga dapat menggunakan ekstensi skrip kustom:
$location = "location-name"
$scriptName = "script-name"
$fileName = "script-file-name"
Set-AzVMCustomScriptExtension -ResourceGroupName $rgName -Location $locName -VMName $vmName -Name $scriptName -TypeHandlerVersion "1.4" -StorageAccountName "mystore1" -StorageAccountKey "primary-key" -FileName $fileName -ContainerName "scripts"
File skrip dapat berisi kode untuk menginisialisasi disk, misalnya:
Catatan
Contoh skrip menggunakan gaya partisi MBR. Jika disk Anda adalah dua tebibyte (TiB) atau lebih besar, Anda harus menggunakan partisi GPT. Jika kurang dari dua TiB, Anda dapat menggunakan MBR atau GPT.
$disks = Get-Disk | Where partitionstyle -eq 'raw' | sort number
$letters = 70..89 | ForEach-Object { [char]$_ }
$count = 0
$labels = "data1","data2"
foreach ($disk in $disks) {
$driveLetter = $letters[$count].ToString()
$disk |
Initialize-Disk -PartitionStyle MBR -PassThru |
New-Partition -UseMaximumSize -DriveLetter $driveLetter |
Format-Volume -FileSystem NTFS -NewFileSystemLabel $labels[$count] -Confirm:$false -Force
$count++
}
Melampirkan disk data yang ada ke VM
Anda dapat melampirkan disk terkelola yang ada ke VM sebagai disk data.
$rgName = "myResourceGroup"
$vmName = "myVM"
$dataDiskName = "myDisk"
$disk = Get-AzDisk -ResourceGroupName $rgName -DiskName $dataDiskName
$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -CreateOption Attach -Lun 0 -VM $vm -ManagedDiskId $disk.Id
Update-AzVM -VM $vm -ResourceGroupName $rgName
Langkah berikutnya
Anda juga dapat menyebarkan disk terkelola menggunakan templat. Untuk informasi selengkapnya, lihat Menggunakan Disk Terkelola di Templat Azure Resource Manager atau templat mulai cepat untuk menyebarkan beberapa disk data.