Een VHD uploaden naar Azure of een beheerde schijf kopiëren naar een andere regio - Azure PowerShell

Van toepassing op: ✔️ Windows-VM's

In dit artikel wordt uitgelegd hoe u een VHD uploadt van uw lokale computer naar een beheerde Azure-schijf of hoe u een beheerde schijf naar een andere regio kopieert met behulp van de Azure PowerShell-module. Door het uploaden van een beheerde schijf, ook wel direct uploaden genoemd, kunt u een VHD tot 32 TiB rechtstreeks uploaden naar een beheerde schijf. Momenteel wordt direct uploaden ondersteund voor Ultra Disks, Premium SSD v2, Premium SSD, Standard SSD en Standard HDD.

Als u een back-upoplossing biedt voor IaaS-VM's in Azure, moet u direct uploaden gebruiken om back-ups van klanten te herstellen naar beheerde schijven. Bij het uploaden van een VHD vanuit een externe bron naar Azure zijn snelheden afhankelijk van uw lokale bandbreedte. Wanneer u een Virtuele Azure-machine uploadt of kopieert, is uw bandbreedte hetzelfde als standaard-HDD's.

Uploads beveiligen met Microsoft Entra-id

Als u Microsoft Entra-id gebruikt om de toegang tot resources te beheren, kunt u deze nu gebruiken om het uploaden van beheerde Azure-schijven te beperken. Deze functie is beschikbaar als ga-aanbieding in alle regio's. Wanneer een gebruiker een schijf probeert te uploaden, valideert Azure de identiteit van de aangevraagde gebruiker in Microsoft Entra ID en bevestigt dat de gebruiker over de vereiste machtigingen beschikt. Op een hoger niveau kan een systeembeheerder een beleid instellen op het niveau van het Azure-account of -abonnement om ervoor te zorgen dat een Microsoft Entra-identiteit over de benodigde machtigingen beschikt voor het uploaden van een schijf of een momentopname van een schijf. Als u vragen hebt over het beveiligen van uploads met Microsoft Entra ID, neemt u contact op met deze e-mail: azuredisks@microsoft .com

Vereisten

Beperkingen

  • VHD's kunnen niet worden geüpload naar lege momentopnamen.
  • Azure Backup biedt momenteel geen ondersteuning voor schijven die zijn beveiligd met Microsoft Entra-id.
  • Azure Site Recovery biedt momenteel geen ondersteuning voor schijven die zijn beveiligd met Microsoft Entra-id.

RBAC-rol toewijzen

Voor toegang tot beheerde schijven die zijn beveiligd met Microsoft Entra-id, moet de aanvragende gebruiker de rol Gegevensoperator voor beheerde schijven hebben of een aangepaste rol met de volgende machtigingen:

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

Zie Azure-rollen toewijzen met behulp van Azure PowerShell voor gedetailleerde stappen voor het toewijzen van een rol. Als u een aangepaste rol wilt maken of bijwerken, raadpleegt u Aangepaste Azure-rollen maken of bijwerken met behulp van Azure PowerShell.

Aan de slag

Er zijn twee manieren waarop u een VHD kunt uploaden met de Azure PowerShell-module: u kunt de opdracht Add-AzVHD gebruiken, waarmee het grootste deel van het proces voor u wordt geautomatiseerd of u kunt de upload handmatig uitvoeren met AzCopy.

Voor Premium-SSD's, Standard-SSD's en Standard-HDD's moet u over het algemeen Add-AzVHD gebruiken. Als u echter uploadt naar een Ultra Disk of een Premium SSD v2, of als u een VHD wilt uploaden die groter is dan 50 GiB, moet u de VHD of VHDX handmatig uploaden met AzCopy. VHD's 50 GiB en grotere uploads sneller met AzCopy en Add-AzVhd bieden momenteel geen ondersteuning voor uploaden naar een Ultra Disk of een Premium SSD v2.

Zie Een beheerde schijf kopiëren voor hulp bij het kopiëren van een beheerde schijf van de ene regio naar de andere.

Add-AzVHD gebruiken

Vereisten

  • Installeer de Azure PowerShell-module.
  • Er is een VHD voorbereid op Azure, lokaal opgeslagen.
    • In Windows: u hoeft uw VHD niet te converteren naar VHDx, converteert u deze naar een vaste grootte of wijzigt u het formaat ervan om de offset van 512 byte op te nemen. Add-AZVHD voert deze functies voor u uit.
      • Hyper-V moet zijn ingeschakeld voor Add-AzVHD om deze functies uit te voeren.
    • In Linux: U moet deze acties handmatig uitvoeren. Zie Grootte van VHD's wijzigen voor meer informatie.

Een VHD uploaden

(Optioneel) Toegang verlenen tot de schijf

Als Microsoft Entra ID wordt gebruikt voor het afdwingen van uploadbeperkingen voor een abonnement of op accountniveau, slaagt Add-AzVHD alleen als een gebruiker die de juiste RBAC-rol of de benodigde machtigingen heeft geprobeerd. U moet RBAC-machtigingen toewijzen om toegang tot de schijf te verlenen en een schrijfbare SAS te genereren.

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

Add-AzVHD gebruiken

In het volgende voorbeeld wordt een VHD vanaf uw lokale computer geüpload naar een nieuwe beheerde Azure-schijf met behulp van Add-AzVHD. Vervang<your-filepath-here>, <your-resource-group-name><desired-region>en <desired-managed-disk-name> door uw parameters:

Notitie

Als u Microsoft Entra-id gebruikt om uploadbeperkingen af te dwingen, voegt u dit toe DataAccessAuthMode 'AzureActiveDirectory' aan het einde van uw Add-AzVhd opdracht.

# 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

Handmatig uploaden

Vereisten

Als u uw VHD wilt uploaden naar Azure, moet u een lege beheerde schijf maken die is geconfigureerd voor dit uploadproces. Voordat u er een maakt, moet u meer informatie over deze schijven weten.

Dit type beheerde schijf heeft twee unieke statussen:

  • ReadyToUpload, wat betekent dat de schijf gereed is voor het ontvangen van een upload, maar er is geen SAS (Secure Access Signature ) gegenereerd.
  • ActiveUpload, wat betekent dat de schijf gereed is voor het ontvangen van een upload en dat de SAS is gegenereerd.

Notitie

In een van deze statussen wordt de beheerde schijf gefactureerd tegen standaard HDD-prijzen, ongeacht het werkelijke type schijf. Een P10 wordt bijvoorbeeld gefactureerd als een S10. Dit geldt totdat revoke-access deze wordt aangeroepen op de beheerde schijf. Dit is vereist om de schijf aan een virtuele machine te koppelen.

Een lege beheerde schijf maken

Voordat u een lege standaard-HDD voor uploaden kunt maken, hebt u de bestandsgrootte nodig van de VHD die u wilt uploaden, in bytes. De voorbeeldcode krijgt dat voor u, maar om dit zelf te doen, kunt u het volgende gebruiken: $vhdSizeBytes = (Get-Item "<fullFilePathHere>").length. Deze waarde wordt gebruikt bij het opgeven van de parameter -UploadSizeInBytes .

Maak nu in uw lokale shell een lege standaard-HDD voor uploaden door de instelling Upload op te geven in de parameter -CreateOption en de parameter -UploadSizeInBytes in de cmdlet New-AzDiskConfig. Roep vervolgens New-AzDisk aan om de schijf te maken.

Vervang <yourdiskname>, <yourresourcegroupname>en <yourregion> voer vervolgens de volgende opdrachten uit:

Belangrijk

Als u een besturingssysteemschijf maakt, voegt u deze toe-HyperVGeneration '<yourGeneration>'.New-AzDiskConfig

Als u Microsoft Entra-id gebruikt om uw uploads te beveiligen, voegt u dit toe -dataAccessAuthMode 'AzureActiveDirectory' aan New-AzDiskConfig.
Wanneer u uploadt naar een Ultra Disk of Premium SSD v2, moet u de juiste sectorgrootte van de doelschijf selecteren. Als u een VHDX-bestand met een 4k logische sectorgrootte gebruikt, moet de doelschijf zijn ingesteld op 4k. Als u een VHD-bestand met een logische sectorgrootte van 512 gebruikt, moet de doelschijf zijn ingesteld op 512.

VHDX-bestanden met een logische sectorgrootte van 512k worden niet ondersteund.

$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

Als u een ander schijftype wilt uploaden, vervangt u Standard_LRS door Premium_LRS, Premium_ZRS, StandardSSD_ZRS, StandardSSD_LRS of UltraSSD_LRS.

Schrijfbare SAS genereren

Nu u een lege beheerde schijf hebt gemaakt die is geconfigureerd voor het uploadproces, kunt u er een VHD naar uploaden. Als u een VHD naar de schijf wilt uploaden, hebt u een schrijfbare SAS nodig, zodat u ernaar kunt verwijzen als de bestemming voor uw upload.

Als u een schrijfbare SAS van uw lege beheerde schijf wilt genereren, vervangt <yourdiskname>u deze en <yourresourcegroupname>gebruikt u vervolgens de volgende opdrachten:

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

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

Een VHD of VHDX uploaden

Nu u een SAS voor uw lege beheerde schijf hebt, kunt u deze gebruiken om uw beheerde schijf in te stellen als de bestemming voor uw uploadopdracht.

Gebruik AzCopy v10 om uw lokale VHD- of VHDX-bestand te uploaden naar een beheerde schijf door de SAS-URI op te geven die u hebt gegenereerd.

Deze upload heeft dezelfde doorvoer als de equivalente standaard-HDD. Als u bijvoorbeeld een grootte hebt die gelijk is aan S4, hebt u een doorvoer van maximaal 60 MiB/s. Maar als u een grootte hebt die gelijk is aan S70, hebt u een doorvoer van maximaal 500 MiB/s.

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

Nadat het uploaden is voltooid en u geen gegevens meer naar de schijf hoeft te schrijven, trekt u de SAS in. Als u de SAS aanroept, wordt de status van de beheerde schijf gewijzigd en kunt u de schijf koppelen aan een virtuele machine.

Vervang <yourdiskname>en <yourresourcegroupname>voer vervolgens de volgende opdracht uit:

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

Een beheerde schijf kopiëren

Direct uploaden vereenvoudigt ook het kopiëren van een beheerde schijf. U kunt kopiëren binnen dezelfde regio of uw beheerde schijf naar een andere regio kopiëren.

Het volgende script doet dit voor u, het proces is vergelijkbaar met de stappen die eerder zijn beschreven, met enkele verschillen, omdat u met een bestaande schijf werkt.

Belangrijk

U moet een offset van 512 toevoegen wanneer u de schijfgrootte in bytes van een beheerde schijf van Azure oplevert. Dit komt doordat Azure de voettekst weglaat bij het retourneren van de schijfgrootte. Het kopiëren mislukt als u dit niet doet. Het volgende script doet dit al voor u.

Vervang de <sourceResourceGroupHere>, <sourceDiskNameHere>, <targetDiskNameHere>, , <yourOSTypeHere> en <yourTargetLocationHere><targetResourceGroupHere>(een voorbeeld van een locatiewaarde zou uswest2 zijn) door uw waarden en voer vervolgens het volgende script uit om een beheerde schijf te kopiëren.

Fooi

Als u een besturingssysteemschijf maakt, voegt u deze toe-HyperVGeneration '<yourGeneration>'.New-AzDiskConfig


$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 

Volgende stappen

Nu u een VHD hebt geüpload naar een beheerde schijf, kunt u uw schijf koppelen aan een virtuele machine en deze gaan gebruiken.

Als u wilt weten hoe u een gegevensschijf koppelt aan een virtuele machine, raadpleegt u ons artikel over het onderwerp: Een gegevensschijf koppelen aan een Windows-VM met PowerShell. Als u de schijf wilt gebruiken als besturingssysteemschijf, raadpleegt u Een Virtuele Windows-machine maken vanaf een gespecialiseerde schijf.

Als u aanvullende vragen hebt, raadpleegt u de sectie over het uploaden van een beheerde schijf in de veelgestelde vragen.