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 van uw lokale machine uploadt naar een door Azure beheerde schijf of een beheerde schijf kopieert naar een andere regio met behulp van AzCopy. Met deze procedure kunt u direct uploaden ook een VHD uploaden naar 32 TiB rechtstreeks naar een beheerde schijf. Op dit moment wordt direct uploaden ondersteund voor standaard schijven, standaard SSD en Premium SSD Managed disks. Deze functie wordt nog niet ondersteund voor Ultra disks.
Als u een back-upoplossing voor IaaS-Vm's in azure levert, kunt u het beste direct uploaden gebruiken om de back-ups van de klant te herstellen naar Managed disks. Wanneer u een VHD uploadt van een externe bron naar Azure, zijn de snelheden afhankelijk van uw lokale band breedte. Wanneer u een virtuele Azure-machine uploadt of kopieert, is uw band breedte hetzelfde als standaard Hdd's.
Vereisten
- Download de nieuwste versie van AzCopy v10.
- Installeer Azure PowerShell module.
- Als u van plan bent om een VHD te uploaden vanaf on-premises: een VHD met vaste grootte die is voorbereid voor Azure, lokaal opgeslagen.
- Of een beheerde schijf in Azure als u van plan bent een kopieeractie uit te voeren.
Aan de slag
Als u liever schijven uploadt via een GUI, kunt u dit doen met behulp van Azure Storage Explorer. Raadpleeg voor meer informatie: Gebruik Azure Storage Explorer beheerde Azure-schijven te beheren
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, is er aanvullende informatie over deze schijven.
Dit type beheerde schijf heeft twee unieke staten:
- ReadyToUpload, wat betekent dat de schijf gereed is voor het ontvangen van een upload, maar er geen SAS (Secure Access Signature) is gegenereerd.
- ActiveUpload, wat betekent dat de schijf gereed is om een upload te ontvangen en de SAS is gegenereerd.
Notitie
In een van deze staten wordt de beheerde schijf gefactureerd tegen de standaardprijzen voor HDD,ongeacht het werkelijke type schijf. Een P10 wordt bijvoorbeeld gefactureerd als een S10. Dit geldt totdat wordt aangeroepen op de beheerde schijf. Dit is vereist om de schijf aan een revoke-access VM 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> , en voer de volgende opdrachten <yourresourcegroupname> <yourregion> uit:
Tip
Als u een besturingssysteemschijf maakt, voegt u -HyperVGeneration '<yourGeneration>' toe aan 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
Als u een Premium SSD of standard SSD wilt uploaden, vervangt u Standard_LRS door Premium_LRS of StandardSSD_LRS. Ultraschijven worden nog niet ondersteund.
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 hier naar kunt verwijzen als de bestemming voor uw upload.
Als u een beschrijfbare SAS van uw lege beheerde schijf wilt genereren, vervangt u <yourdiskname> en en en gebruikt u de volgende <yourresourcegroupname> opdrachten:
$diskSas = Grant-AzDiskAccess -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>' -DurationInSecond 86400 -Access 'Write'
$disk = Get-AzDisk -ResourceGroupName '<yourresourcegroupname>' -DiskName '<yourdiskname>'
Een VHD uploaden
Nu u een SAS hebt voor uw lege beheerde schijf, kunt u deze gebruiken om uw beheerde schijf in te stellen als het doel voor de uploadopdracht.
Gebruik AzCopy v10 om uw lokale VHD-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 standard 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 inroept, wordt de status van de beheerde schijf gewijzigd en kunt u de schijf aan een VM koppelen.
Vervang <yourdiskname> en en voer de volgende opdracht <yourresourcegroupname> 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 binnen dezelfde regio kopiëren 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 op geeft in bytes van een beheerde schijf van Azure. Dit komt doordat Azure de voettekst weglaten bij het retourneren van de schijfgrootte. De kopie mislukt als u dit niet doet. Het volgende script doet dit al voor u.
Vervang de , , , , en (een voorbeeld van een locatiewaarde <sourceResourceGroupHere> <sourceDiskNameHere> is <targetDiskNameHere> <targetResourceGroupHere> <yourOSTypeHere> <yourTargetLocationHere> uswest2) door uw waarden en voer vervolgens het volgende script uit om een beheerde schijf te kopiëren.
Tip
Als u een besturingssysteemschijf maakt, voegt u -HyperVGeneration '<yourGeneration>' toe aan 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
Volgende stappen
Nu u een VHD hebt geüpload naar een beheerde schijf, kunt u uw schijf koppelen aan een VM en deze gaan gebruiken.
Zie ons artikel over het onderwerp: Een gegevensschijf koppelen aan een virtuele Windows met PowerShell voor meer informatie over het koppelen van een gegevensschijf aan een VM. Zie Een virtuele Windows maken vanaf een gespecialiseerde schijf als u de schijf als besturingssysteemschijf wilt gebruiken.