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ů.