Nahrání virtuálního pevného disku do Azure nebo kopírování spravovaného disku do jiné oblasti – Azure PowerShell

Platí pro: ✔️ Windows virtuální počítače

Tento článek vysvětluje, jak nahrát VHD z místního počítače na spravovaný disk Azure nebo zkopírovat spravovaný disk do jiné oblasti pomocí AzCopy. Tento proces, přímé nahrávání, vám také umožní nahrát virtuální pevný disk až do 32 TiB velikosti přímo do spravovaného disku. V současné době se podporuje přímé nahrávání pro disky Standard HDD, Standard SSD a Premium SSD. U disků s Ultra ještě není podporováno.

Pokud poskytujete řešení zálohování pro virtuální počítače s IaaS v Azure, doporučujeme použít přímé nahrávání pro obnovení záloh zákazníka na spravované disky. Když nahráváte virtuální pevný disk ze zdrojového externího prostředí do Azure, budou se vám na základě vaší místní šířky pásma spoléhat i rychlost. Při nahrávání nebo kopírování z virtuálního počítače Azure by šířka pásma byla stejná jako u standardních HDD.

Požadavky

Začínáme

Pokud chcete nahrávat disky prostřednictvím grafického uživatelského rozhraní, můžete to udělat pomocí Průzkumník služby Azure Storage. Podrobnosti najdete v tématu: Použití Průzkumník služby Azure Storage ke správě spravovaných disků Azure.

Pokud chcete nahrát virtuální pevný disk do Azure, budete muset vytvořit prázdný spravovaný disk nakonfigurovaný pro tento proces nahrávání. Než ho vytvoříte, měli byste o těchto discích vědět několik dalších informací.

Tento druh spravovaného disku má dva jedinečné stavy:

  • ReadyToUpload, což znamená, že disk je připravený k přijetí nahrávání, ale nebyl vygenerován žádný zabezpečený přístupový podpis (SAS).
  • ActiveUpload, což znamená, že disk je připravený k přijetí nahrání a byl vygenerován SAS.

Poznámka

V obou těchto stavech se spravovaný disk bude účtovat za standardní ceny HDDbez ohledu na skutečný typ disku. Například P10 se bude účtovat jako S10. To bude pravda, dokud se nevolána na spravovaném disku, což je potřeba k připojení revoke-access disku k virtuálnímu počítači.

Vytvoření prázdného spravovaného disku

Před vytvořením prázdného standardního pevného disku pro nahrávání budete potřebovat velikost souboru virtuálního pevného disku, který chcete nahrát, v bajtech. Tento kód vám to v příkladu pomůže, ale k tomu, abyste to mohli udělat sami, můžete použít: $vhdSizeBytes = (Get-Item "<fullFilePathHere>").length . Tato hodnota se používá při zadávání parametru -UploadSizeInBytes.

Teď v místním prostředí vytvořte prázdný standardní pevný disk pro nahrání zadáním nastavení Upload v parametru -CreateOption a parametru -UploadSizeInBytes v rutině New-AzDiskConfig. Pak zavolejte new-AzDisk a vytvořte disk.

Nahraďte <yourdiskname> , a pak spusťte následující <yourresourcegroupname> <yourregion> příkazy:

Tip

Pokud vytváříte disk s operačním systémem, přidejte ho -HyperVGeneration '<yourGeneration>' do New-AzDiskConfig .

$vhdSizeBytes = (Get-Item "<fullFilePathHere>").length

$diskconfig = New-AzDiskConfig -SkuName 'Standard_LRS' -OsType 'Windows' -UploadSizeInBytes $vhdSizeBytes -Location '<yourregion>' -CreateOption 'Upload'

New-AzDisk -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>' -Disk $diskconfig

Pokud chcete nahrát SSD úrovně Premium nebo SSD úrovně Standard, Standard_LRS nahraďte Premium_LRS nebo StandardSSD_LRS. Disky Úrovně Ultra se zatím nepodporují.

Teď, když jste vytvořili prázdný spravovaný disk nakonfigurovaný pro proces nahrávání, můžete na něj nahrát virtuální pevný disk. K nahrání virtuálního pevného disku na disk budete potřebovat zapisovatelný SAS, abyste na něj mohli odkazovat jako na cíl pro nahrání.

Pokud chcete vygenerovat zapisovatelný SAS vašeho prázdného spravovaného disku, nahraďte a a <yourdiskname> <yourresourcegroupname> pak použijte následující příkazy:

$diskSas = Grant-AzDiskAccess -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>' -DurationInSecond 86400 -Access 'Write'

$disk = Get-AzDisk -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>'

Nahrání virtuálního pevného disku

Teď, když máte SAS pro prázdný spravovaný disk, můžete ho použít k nastavení spravovaného disku jako cíle pro příkaz pro nahrání.

Pomocí AzCopy v10 nahrajte místní soubor VHD na spravovaný disk zadáním identifikátoru URI SAS, který jste vygeneroval.

Toto nahrávání má stejnou propustnost jako ekvivalentní standardní pevný disk HDD. Pokud máte například velikost, která se rovná S4, budete mít propustnost až 60 MiB/s. Pokud ale máte velikost, která se rovná S70, budete mít propustnost až 500 MiB/s.

AzCopy.exe copy "c:\somewhere\mydisk.vhd" $diskSas.AccessSAS --blob-type PageBlob

Po dokončení nahrávání už na disk nebudete muset zapisovat žádná další data, odvolat SAS. Odvoláním SAS se změní stav spravovaného disku a umožní vám připojit disk k virtuálnímu počítače.

Nahraďte <yourdiskname> a a pak spusťte následující <yourresourcegroupname> příkaz:

Revoke-AzDiskAccess -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>'

Kopírování spravovaného disku

Přímé nahrávání také zjednodušuje proces kopírování spravovaného disku. Můžete buď zkopírovat data ve stejné oblasti, nebo zkopírovat spravovaný disk do jiné oblasti.

Následující skript to bude dělat za vás, proces je podobný výše popsaným krokům s některými rozdíly, protože pracujete s existujícím diskem.

Důležité

Při poskytování velikosti disku v bajtech spravovaného disku z Azure je potřeba přidat posun o 512. Je to proto, že Azure při vracení velikosti disku zápatí vymisí. Kopírování selže, pokud to neprovedete. Následující skript to už udělá za vás.

Nahraďte hodnoty , , , a (příkladem hodnoty umístění by uswest2) vašimi hodnotami a pak spusťte následující skript, abyste <sourceResourceGroupHere> <sourceDiskNameHere> <targetDiskNameHere> <targetResourceGroupHere> <yourOSTypeHere> <yourTargetLocationHere> zkopíraci spravovaného disku.

Tip

Pokud vytváříte disk s operačním systémem, přidejte ho -HyperVGeneration '<yourGeneration>' do New-AzDiskConfig .


$sourceRG = <sourceResourceGroupHere>
$sourceDiskName = <sourceDiskNameHere>
$targetDiskName = <targetDiskNameHere>
$targetRG = <targetResourceGroupHere>
$targetLocate = <yourTargetLocationHere>
#Expected value for OS is either "Windows" or "Linux"
$targetOS = <yourOSTypeHere>

$sourceDisk = Get-AzDisk -ResourceGroupName $sourceRG -DiskName $sourceDiskName

# Adding the sizeInBytes with the 512 offset, and the -Upload flag
$targetDiskconfig = New-AzDiskConfig -SkuName 'Standard_LRS' -osType $targetOS -UploadSizeInBytes $($sourceDisk.DiskSizeBytes+512) -Location $targetLocate -CreateOption 'Upload'

$targetDisk = New-AzDisk -ResourceGroupName $targetRG -DiskName $targetDiskName -Disk $targetDiskconfig

$sourceDiskSas = Grant-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName -DurationInSecond 86400 -Access 'Read'

$targetDiskSas = Grant-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName -DurationInSecond 86400 -Access 'Write'

azcopy copy $sourceDiskSas.AccessSAS $targetDiskSas.AccessSAS --blob-type PageBlob

Revoke-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName

Revoke-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName 

Další kroky

Po úspěšném nahrání virtuálního pevného disku na spravovaný disk můžete disk připojit k virtuálnímu počítači a začít ho používat.

Informace o tom, jak připojit datový disk k virtuálnímu počítači, najdete v našem článku o tomto tématu: Připojení datového disku k virtuálnímu počítači Windows pomocí PowerShellu. Pokud chcete disk použít jako disk s operačním systémem, podívejte se na Windows virtuálního počítače ze specializovaného disku.