Sdílet prostřednictvím


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

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

Tento článek vysvětluje, jak nahrát virtuální pevný disk z místního počítače na spravovaný disk Azure nebo zkopírovat spravovaný disk do jiné oblasti pomocí modulu Azure PowerShell. Proces nahrání spravovaného disku, označovaného také jako přímé nahrání, umožňuje nahrát virtuální pevný disk o velikosti až 32 TiB přímo na spravovaný disk. Přímé nahrávání se v současné době podporuje pro disky Ultra, SSD úrovně Premium v2, SSD úrovně Premium, SSD úrovně Standard a HDD úrovně Standard.

Pokud poskytujete řešení zálohování virtuálních počítačů IaaS v Azure, měli byste k obnovení záloh zákazníků na spravované disky použít přímé nahrávání. Při nahrávání virtuálního pevného disku ze zdroje externího do Azure závisí rychlost na vaší místní šířce pásma. Při nahrávání nebo kopírování z virtuálního počítače Azure by šířka pásma byla stejná jako disky HDD úrovně Standard.

Zabezpečené nahrávání pomocí Microsoft Entra ID

Pokud k řízení přístupu k prostředkům používáte Microsoft Entra ID , můžete ho teď použít k omezení nahrávání spravovaných disků Azure. Tato funkce je dostupná jako nabídka ga ve všech oblastech. Když se uživatel pokusí nahrát disk, Azure ověří identitu žádajícího uživatele v ID Microsoft Entra a potvrdí, že má uživatel požadovaná oprávnění. Na vyšší úrovni může správce systému nastavit zásadu na úrovni účtu Azure nebo předplatného, aby se zajistilo, že identita Microsoft Entra má potřebná oprávnění k nahrání před povolením nahrání disku nebo snímku disku. Pokud máte nějaké dotazy týkající se zabezpečení nahrávání pomocí ID Microsoft Entra, spojte se s tímto e-mailem: azuredisks@microsoft .com

Požadavky

Omezení

  • Virtuální pevné disky se nedají nahrát do prázdných snímků.
  • Azure Backup v současné době nepodporuje disky zabezpečené pomocí ID Microsoft Entra.
  • Azure Site Recovery v současné době nepodporuje disky zabezpečené pomocí ID Microsoft Entra.

Přiřazení role RBAC

Pokud chcete získat přístup ke spravovaným diskům zabezpečeným pomocí Microsoft Entra ID, musí mít žádající uživatel buď operátor dat pro Spravované disky roli, nebo vlastní roli s následujícími oprávněními:

  • Microsoft.Compute/disks/download/action
  • Microsoft.Compute/disks/upload/action
  • Microsoft.Compute/snapshots/download/action
  • Microsoft.Compute/snapshots/upload/action

Podrobný postup při přiřazování role najdete v tématu Přiřazení rolí Azure pomocí Azure PowerShellu. Pokud chcete vytvořit nebo aktualizovat vlastní roli, přečtěte si téma Vytvoření nebo aktualizace vlastních rolí Azure pomocí Azure PowerShellu.

Začínáme

Virtuální pevný disk můžete nahrát dvěma způsoby pomocí modulu Azure PowerShellu: Můžete použít příkaz Add-AzVHD , který za vás automatizuje většinu procesu, nebo můžete nahrávání provést ručně pomocí AzCopy.

V případě disků SSD úrovně Premium, disků SSD úrovně Standard a disků HDD úrovně Standard byste obecně měli použít add-AzVHD. Pokud ale nahráváte na disk Úrovně Ultra nebo ssd úrovně Premium v2 nebo pokud potřebujete nahrát virtuální pevný disk, který je větší než 50 GiB, musíte virtuální pevný disk nebo VHDX nahrát ručně pomocí nástroje AzCopy. Virtuální pevné disky 50 GiB a rychlejší nahrávání pomocí Nástroje AzCopy a Add-AzVhd v současné době nepodporuje nahrávání na disk Úrovně Ultra nebo SSD úrovně Premium v2.

Pokyny ke kopírování spravovaného disku z jedné oblasti do druhé najdete v tématu Kopírování spravovaného disku.

Použití doplňku AzVHD

Požadavky

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

(Volitelné) Udělení přístupu k disku

Pokud se id Microsoft Entra používá k vynucení omezení nahrávání u předplatného nebo na úrovni účtu, doplněk AzVHD proběhne úspěšně pouze v případě, že se uživatel pokusí o příslušnou roli RBAC nebo potřebná oprávnění. Abyste mohli udělit přístup k disku, musíte přiřadit oprávnění RBAC a vygenerovat zapisovatelný SAS.

New-AzRoleAssignment -SignInName <emailOrUserprincipalname> `
-RoleDefinitionName "Data Operator for Managed Disks" `
-Scope /subscriptions/<subscriptionId>

Použití doplňku AzVHD

Následující příklad nahraje virtuální pevný disk z místního počítače na nový spravovaný disk Azure pomocí add-AzVHD. Nahraďte <your-filepath-here>parametry , <your-resource-group-name><desired-region>a <desired-managed-disk-name> nahraďte je:

Poznámka:

Pokud k vynucení omezení nahrávání používáte Microsoft Entra ID, přidejte DataAccessAuthMode 'AzureActiveDirectory' na konec Add-AzVhd příkazu.

# Required parameters
$path = <your-filepath-here>.vhd
$resourceGroup = <your-resource-group-name>
$location = <desired-region>
$name = <desired-managed-disk-name>

# Optional parameters
# $Zone = <desired-zone>
# $sku=<desired-SKU>
# -DataAccessAuthMode 'AzureActiveDirectory'
# -DiskHyperVGeneration = V1 or V2. This applies only to OS disks.

# To use $Zone or #sku, add -Zone or -DiskSKU parameters to the command
Add-AzVhd -LocalFilePath $path -ResourceGroupName $resourceGroup -Location $location -DiskName $name

Ruční nahrání

Požadavky

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ějaké další informace.

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

  • ReadyToUpload, což znamená, že disk je připravený k nahrání, ale nevygeneroval se žádný zabezpečený přístupový podpis (SAS).
  • ActiveUpload, což znamená, že disk je připravený přijmout nahrání a vygeneroval se SAS.

Poznámka:

V některém z těchto stavů se spravovaný disk bude účtovat na standardní ceny HDD bez ohledu na skutečný typ disku. Například P10 se bude účtovat jako S10. To bude platit, dokud revoke-access se na spravovaném disku nevolá, což se vyžaduje k připojení disku k virtuálnímu počítači.

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

Než budete moct vytvořit prázdný disk HDD úrovně Standard pro nahrávání, budete potřebovat velikost souboru virtuálního pevného disku, který chcete nahrát, v bajtech. Ukázkový kód vám ho získá, ale abyste to udělali 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 parametr -UploadSizeInBytes v rutině New-AzDiskConfig . Potom zavolejte New-AzDisk a vytvořte disk.

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

Důležité

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

Pokud k zabezpečení nahrávek používáte MICROSOFT Entra ID, přidejte -dataAccessAuthMode 'AzureActiveDirectory' do New-AzDiskConfigsouboru .
Při nahrávání na disk Úrovně Ultra nebo SSD úrovně Premium v2 je potřeba vybrat správnou velikost sektoru cílového disku. Pokud používáte soubor VHDX s velikostí logického sektoru 4k, musí být cílový disk nastavený na 4k. Pokud používáte soubor VHD s velikostí logického sektoru 512, musí být cílový disk nastavený na 512.

Soubory VHDX s logickou velikostí sektoru 512 tisíc se nepodporují.

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

## For Ultra Disks or Premium SSD v2, add -LogicalSectorSize and specify either 4096 or 512, depending on if you're using a VHDX or a VHD

$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 jiný typ disku, nahraďte Standard_LRS Premium_LRS, Premium_ZRS, StandardSSD_ZRS, StandardSSD_LRS nebo UltraSSD_LRS.

Generování zapisovatelného sdíleného přístupového podpisu

Teď, když jste vytvořili prázdný spravovaný disk nakonfigurovaný pro proces nahrávání, můžete do 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ávání.

Důležité

15. února 2025 bude doba přístupu sdíleného přístupového podpisu (SAS) pro disky a snímky omezena na maximálně 60 dnů. Při pokusu o vygenerování sdíleného přístupového podpisu s vypršením platnosti delším než 60 dnů dojde k chybě. Jakýkoli existující disk nebo sdílený přístupový podpis snímku vytvořený s vypršením platnosti delší než 60 dnů může přestat fungovat 60 dnů po datu vytvoření a při autorizaci dojde k chybě 403.

Pokud je vypršení platnosti spravovaného disku nebo sdíleného přístupového podpisu snímku delší než 60 dnů, odvolejte jeho přístup a vygenerujte nový SAS, který požaduje přístup po dobu 60 dnů (5 184 000 sekund) nebo méně. Vylepšení celkového zabezpečení pomocí sdíleného přístupového podpisu (SAS) s kratšími daty vypršení platnosti Tyto změny proveďte před 15. únorem 2025, abyste zabránili přerušení služeb. Následující odkazy se dají použít k vyhledání, odvolání a vyžádání nového sdíleného přístupového podpisu.

  • Pokud chcete zkontrolovat, jestli má disk aktivní SAS, můžete použít rozhraní REST API, Azure CLI nebo modul Azure PowerShellu a prozkoumat vlastnost DiskState .
  • K odvolání sdíleného přístupového podpisu můžete použít rozhraní REST API, Azure CLI nebo modul Azure PowerShellu.
  • K vytvoření sdíleného přístupového podpisu můžete použít rozhraní REST API, Azure CLI nebo modul Azure PowerShellu a nastavit dobu přístupu na 5 184 000 sekund nebo méně.

Pokud chcete vygenerovat zapisovatelný SAS prázdného spravovaného disku, nahraďte <yourdiskname> ho a <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 nebo VHDX

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

Pomocí nástroje AzCopy v10 nahrajte místní soubor VHD nebo VHDX na spravovaný disk zadáním vygenerovaného identifikátoru URI SAS.

Toto nahrávání má stejnou propustnost jako ekvivalentní hdd úrovně Standard. Pokud máte například velikost, která odpovídá S4, budete mít propustnost až 60 MiB/s. Pokud ale máte velikost, která odpovídá 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ž nemusíte na disk zapisovat žádná další data, odvolejte SAS. Odvoláním sdíleného přístupového podpisu změníte stav spravovaného disku a umožníte připojení disku k virtuálnímu počítači.

Nahraďte <yourdiskname>a <yourresourcegroupname>spusťte následující 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 ve stejné oblasti, nebo zkopírovat spravovaný disk do jiné oblasti.

Následující skript to udělá za vás, proces se podobá výše popsaným krokům s některými rozdíly, protože pracujete s existujícím diskem.

Důležité

Pokud poskytujete velikost disku v bajtech spravovaného disku z Azure, musíte přidat posun 512. Důvodem je to, že Azure při vrácení velikosti disku vynechá zápatí. Pokud to neuděláte, kopie se nezdaří. Následující skript už to udělá za vás.

<sourceResourceGroupHere>Nahraďte hodnoty , , <targetResourceGroupHere><yourOSTypeHere> <sourceDiskNameHere><targetDiskNameHere><yourTargetLocationHere> a (příklad hodnoty umístění by byl uswest2) hodnotami a pak spusťte následující skript pro zkopírování spravovaného disku.

Tip

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


$sourceRG = <sourceResourceGroupHere>
$sourceDiskName = <sourceDiskNameHere>
$targetDiskName = <targetDiskNameHere>
$targetRG = <targetResourceGroupHere>
$targetLocate = <yourTargetLocationHere>
$targetVmGeneration = "V1" # either V1 or V2
#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' -HyperVGeneration $targetVmGeneration

$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

Teď, když jste úspěšně nahráli virtuální pevný disk na spravovaný disk, můžete disk připojit k virtuálnímu počítači a začít ho používat.

Informace o připojení datového disku k virtuálnímu počítači najdete v tomto článku: Připojení datového disku k virtuálnímu počítači s Windows pomocí PowerShellu. Pokud chcete disk použít jako disk s operačním systémem, přečtěte si téma Vytvoření virtuálního počítače s Windows ze specializovaného disku.

Pokud máte další otázky, přečtěte si část věnovanou nahrání spravovaného disku v nejčastějších dotazech.