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

V tomto článku se dozvíte, jak připojit nové i existující disky k virtuálnímu počítači s Windows pomocí PowerShellu.

Nejprve si přečtěte tyto tipy:

Tento článek používá PowerShell v rámci azure Cloud Shell, 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 uvidíte 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 spouštíte stavovou úlohu s vysokým škálováním, jako je Azure Kubernetes Service. Toto vylepšení je však omezeno na příkaz Add-AzVMDataDiskpro explicitní připojení disku . Zlepšení výkonu neuvidíte, pokud zavoláte příkaz, který může implicitně provést připojení, například Update-AzVM. K tomuto vylepšení nemusíte provádět žádnou jinou akci než voláním explicitního příkazu attach.

Nižší latence je v současné době k dispozici ve všech veřejných oblastech 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 Indie – západ
  • 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 rutinu New-AzDiskConfig s parametrem -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 inicializovat disk, 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í virtuálního počítače povolili WinRM a certifikát, 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:

    $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 připojit k virtuálnímu počítači 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 Manager nebo v šabloně pro rychlý start pro nasazení více datových disků.