Připojení datového disku k virtuálnímu počítači s Windows pomocí PowerShellu
Platí pro: ✔️ Flexibilní škálovací sady virtuálních ✔️ počítačů s Windows
Tento článek ukazuje, jak připojit nové i existující disky k virtuálnímu počítači s Windows pomocí PowerShellu.
Nejprve si projděte tyto tipy:
- Velikost virtuálního počítače určuje, kolik datových disků můžete připojit. Další informace najdete v tématu Velikosti virtuálních počítačů.
- Pokud chcete použít disky SSD úrovně Premium, budete potřebovat typ virtuálního počítače s podporou premium storage, jako je ds-series nebo virtuální počítač řady GS-series.
Tento článek používá PowerShell v Azure Cloud Shellu, který se neustále aktualizuje na nejnovější verzi. Cloud Shell otevřete tak, že v horní části libovolného bloku kódu vyberete Vyzkoušet .
Nižší latence
Ve vybraných oblastech se snížila latence připojení disku, takže se zobrazí zlepšení až o 15 %. To je užitečné, pokud máte naplánované nebo neplánované převzetí služeb při selhání mezi virtuálními počítači, škálujete úlohu nebo používáte vysoce škálovanou stavovou úlohu, jako je Azure Kubernetes Service. Toto vylepšení je však omezeno na explicitní příkaz připojit disk , Add-AzVMDataDisk
. Pokud zavoláte příkaz, který může implicitně provést připojení, například Update-AzVM
, neuvidíte zlepšení výkonu. Abyste toto vylepšení viděli, nemusíte provádět žádnou jinou akci než voláním příkazu explicitního připojení.
Nižší latence je aktuálně dostupná v každé veřejné oblasti s výjimkou:
- Střední Kanada
- Střední USA
- East US
- USA – východ 2
- Středojižní USA
- Západní USA 2
- Německo – sever
- Jio – západní Indie
- Severní Evropa
- West Europe
Přidání prázdného datového disku do virtuálního počítače
Tento příklad ukazuje, jak přidat prázdný datový disk do existujícího virtuálního počítače.
Použití spravovaných disků
$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
Použití spravovaných disků v zóně dostupnosti
Pokud chcete vytvořit disk v zóně dostupnosti, použijte parametr New-AzDiskConfig-Zone
. Následující příklad vytvoří disk v zóně 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
Inicializace disku
Po přidání prázdného disku ho budete muset inicializovat. Pokud chcete disk inicializovat, můžete se přihlásit k virtuálnímu počítači a použít správu disků. Pokud jste při vytváření povolili WinRM a certifikát na virtuálním počítači, můžete disk inicializovat pomocí vzdáleného PowerShellu. Můžete také použít rozšíření vlastních skriptů:
$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"
Soubor skriptu může obsahovat kód pro inicializaci disků, například:
Poznámka:
Ukázkový skript používá styl oddílu MBR. Pokud je váš disk dva tebibajtů (TiB) nebo větší, musíte použít dělení GPT. Pokud je pod dvěma TiB, můžete použít MBR nebo 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++
}
Připojení existujícího datového disku k virtuálnímu počítači
Existující spravovaný disk můžete k virtuálnímu počítači připojit jako datový disk.
$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
Další kroky
Spravované disky můžete nasadit také pomocí šablon. Další informace najdete v tématu Použití Spravované disky v šablonách Azure Resource Manageru nebo šabloně rychlého startu pro nasazení více datových disků.