Dołączanie dysku danych do maszyny wirtualnej z systemem Windows przy użyciu programu PowerShell
Dotyczy: ✔️ Maszyny wirtualne z systemem Windows — elastyczne zestawy skalowania ✔️
W tym artykule przedstawiono sposób dołączania zarówno nowych, jak i istniejących dysków do maszyny wirtualnej z systemem Windows przy użyciu programu PowerShell.
Najpierw zapoznaj się z następującymi wskazówkami:
- Rozmiar maszyny wirtualnej określa liczbę dysków danych, które można dołączyć. Aby uzyskać więcej informacji, zobacz Rozmiary maszyn wirtualnych.
- Aby korzystać z dysków SSD w warstwie Premium, musisz mieć typ maszyny wirtualnej z obsługą magazynu w warstwie Premium, taki jak maszyna wirtualna serii DS lub GS.
W tym artykule jest używany program PowerShell w usłudze Azure Cloud Shell, który jest stale aktualizowany do najnowszej wersji. Aby otworzyć usługę Cloud Shell, wybierz pozycję Wypróbuj w górnej części dowolnego bloku kodu.
Mniejsze opóźnienia
W wybranych regionach opóźnienie dołączania dysku zostało zmniejszone, więc zobaczysz poprawę do 15%. Jest to przydatne, jeśli planowane/nieplanowane przejścia w tryb failover między maszynami wirtualnymi, skalowanie obciążenia lub uruchamianie obciążenia stanowego o dużej skali, takiego jak usługa Azure Kubernetes Service. Jednak to ulepszenie jest ograniczone do jawnego polecenia dołączania dysku, Add-AzVMDataDisk
. Nie zobaczysz poprawy wydajności, jeśli wywołasz polecenie, które może niejawnie wykonać dołączanie, na przykład Update-AzVM
. Nie musisz podejmować żadnych działań innych niż wywoływanie jawnego polecenia dołączania, aby zobaczyć to ulepszenie.
Mniejsze opóźnienie jest obecnie dostępne w każdym regionie publicznym, z wyjątkiem:
- Kanada Środkowa
- Central US
- East US
- Wschodnie stany USA 2
- South Central US
- Zachodnie stany USA 2
- Niemcy Północne
- Indie Zachodnie
- Europa Północna
- West Europe
Dodawanie pustego dysku danych do maszyny wirtualnej
W tym przykładzie pokazano, jak dodać pusty dysk danych do istniejącej maszyny wirtualnej.
Korzystanie z dysków zarządzanych
$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
Używanie dysków zarządzanych w strefie dostępności
Aby utworzyć dysk w strefie dostępności, użyj polecenia New-AzDiskConfig z parametrem -Zone
. Poniższy przykład tworzy dysk w strefie 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
Inicjowanie dysku
Po dodaniu pustego dysku należy go zainicjować. Aby zainicjować dysk, możesz zalogować się do maszyny wirtualnej i użyć zarządzania dyskami. Jeśli podczas jego tworzenia włączono usługę WinRM i certyfikat na maszynie wirtualnej, możesz zainicjować dysk za pomocą zdalnego programu PowerShell. Można również użyć niestandardowego rozszerzenia skryptu:
$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"
Plik skryptu może zawierać kod umożliwiający zainicjowanie dysków, na przykład:
Uwaga
Przykładowy skrypt używa stylu partycji MBR. Jeśli dysk ma dwa tebibajty (TiB) lub większy, należy użyć partycjonowania GPT. Jeśli znajduje się w dwóch tiB, możesz użyć MBR lub 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++
}
Dołączanie istniejącego dysku danych do maszyny wirtualnej
Istniejący dysk zarządzany można dołączyć do maszyny wirtualnej jako dysk danych.
$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
Następne kroki
Dyski zarządzane można również wdrażać przy użyciu szablonów. Aby uzyskać więcej informacji, zobacz Używanie Dyski zarządzane w szablonach usługi Azure Resource Manager lub szablon szybkiego startu do wdrażania wielu dysków danych.