PowerShell ile Windows VM'sine veri diski ekleme
Şunlar için geçerlidir: ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri
Bu makalede, PowerShell kullanarak bir Windows sanal makinesine hem yeni hem de mevcut disklerin nasıl eklenip eklendiği gösterilmektedir.
İlk olarak şu ipuçlarını gözden geçirin:
- Sanal makinenin boyutu, ekleyebileceğiniz veri disklerinin sayısını denetler. Daha fazla bilgi için bkz . Sanal makineler için boyutlar.
- Premium SSD'leri kullanmak için DS serisi veya GS serisi sanal makine gibi premium depolama özellikli bir VM türüne ihtiyacınız vardır.
Bu makalede Azure Cloud Shell powershell kullanılır ve bu sürüm sürekli olarak en son sürüme güncelleştirilir. Cloud Shell açmak için herhangi bir kod bloğunun üst kısmından Deneyin'i seçin.
Daha düşük gecikme süresi
Belirli bölgelerde disk ekleme gecikme süresi azaldığından %15'e varan bir iyileştirme görürsünüz. VM'ler arasında planlanmış/planlanmamış yük devretmeleriniz varsa, iş yükünüzü ölçeklendiriyorsanız veya Azure Kubernetes Service gibi yüksek ölçekli durum bilgisi olan bir iş yükü çalıştırıyorsanız bu yararlı olur. Ancak, bu geliştirme açık disk ekleme komutuyla sınırlıdır. Add-AzVMDataDisk
gibi Update-AzVM
örtük olarak ekleme gerçekleştirebilecek bir komut çağırırsanız performans iyileştirmesini görmezsiniz. Bu geliştirmeyi görmek için açık ekleme komutunu çağırmak dışında herhangi bir işlem yapmanız gerekmez.
Daha düşük gecikme süresi şu anda aşağıdakiler dışında tüm genel bölgelerde kullanılabilir:
- Orta Kanada
- Central US
- Doğu ABD
- Doğu ABD 2
- Orta Güney ABD
- Batı ABD 2
- Kuzey Almanya
- Jio Hindistan Batı
- Kuzey Avrupa
- West Europe
Sanal makineye boş veri diski ekleme
Bu örnekte, var olan bir sanal makineye boş veri disklerinin nasıl ekleneceği gösterilmektedir.
Yönetilen diskleri kullanma
$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
Kullanılabilirlik Alanında yönetilen diskleri kullanma
Kullanılabilirlik Alanında disk oluşturmak için New-AzDiskConfig parametresini -Zone
kullanın. Aşağıdaki örnek 1. bölgede bir disk oluşturur.
$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
Diski başlatma
Boş bir disk ekledikten sonra diski başlatmanız gerekir. Diski başlatmak için vm'de oturum açabilir ve disk yönetimini kullanabilirsiniz. WinRM'yi ve vm'yi oluştururken bir sertifikayı etkinleştirdiyseniz, diski başlatmak için uzak PowerShell'i kullanabilirsiniz. Özel betik uzantısı da kullanabilirsiniz:
$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"
Betik dosyası diskleri başlatmak için kod içerebilir, örneğin:
$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++
}
Vm'ye mevcut bir veri diski ekleme
Vm'ye mevcut bir yönetilen diski veri diski olarak ekleyebilirsiniz.
$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
Sonraki adımlar
Yönetilen diskleri şablonları kullanarak da dağıtabilirsiniz. Daha fazla bilgi için bkz. Azure Resource Manager Şablonları'nda Yönetilen Diskler kullanma veya birden çok veri diski dağıtmak için hızlı başlangıç şablonu.