Een back-up maken van VM-schijven op Azure Stack Edge Pro GPU via Azure PowerShell
VAN TOEPASSING OP: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
In dit artikel wordt beschreven hoe u back-ups maakt van schijven van virtuele machines op een Azure Stack Edge Pro GPU-apparaat met behulp van Azure PowerShell.
Belangrijk
Deze procedure is bedoeld om te worden gebruikt voor VM's die zijn gestopt. Als u een back-up wilt maken van actieve VM's, raden we u aan een back-upprogramma van derden te gebruiken.
Workflow
De volgende stappen geven een overzicht van de werkstroom op hoog niveau om een back-up te maken van een VM-schijf op uw apparaat:
- Stop de virtuele machine.
- Maak een momentopname van de VM-schijf.
- Kopieer de momentopname naar een lokaal opslagaccount als een VHD.
- Upload de VHD naar een extern doel.
Vereisten
Voordat u een back-up maakt van VM's, moet u ervoor zorgen dat:
- U hebt toegang tot een client die u gebruikt om verbinding te maken met uw apparaat.
- Uw client voert een ondersteund besturingssysteem uit.
- Uw client is geconfigureerd om verbinding te maken met de lokale Azure Resource Manager van uw apparaat volgens de instructies in Verbinding maken met Azure Resource Manager voor uw apparaat.
Verbinding met lokale Azure Resource Manager controleren
Zorg ervoor dat de volgende stappen kunnen worden gebruikt voor toegang tot het apparaat vanaf uw client.
Controleer of uw client verbinding kan maken met de lokale Azure Resource Manager.
Lokale apparaat-API's aanroepen om te verifiëren:
Geef de gebruikersnaam
EdgeArmUser
en het wachtwoord op om verbinding te maken via Azure Resource Manager. Als u het wachtwoord niet meer weet, stelt u het wachtwoord voor Azure Resource Manager opnieuw in en gebruikt u dit wachtwoord om u aan te melden.
Een back-up maken van een VM-schijf
Haal een lijst op met de VM's die op uw apparaat worden uitgevoerd. Identificeer de VM die u wilt stoppen en de bijbehorende resourcegroep.
Get-AzVM
Hier volgt een voorbeeld van uitvoer:
PS C:\Users\user> Get-AzVM ResourceGroupName Name Location VmSize OsType NIC ----------------- ---- -------- ------ ------ --- MYASEAZRG myazvm dbelocal Standard_D1_v2 Linux myaznic1 MYASERG myasewindowsvm2 dbelocal Standard_D1_v2 Linux myasewindowsvm2nic PS C:\Users\user>
Stel enkele parameters in.
$ResourceGroupName = "<Resource group name>" $VmName = "<VM name>"
Stop de virtuele machine.
Stop-AzVM –ResourceGroupName $ResourceGroupName -Name $VmName
Hier volgt een voorbeeld van uitvoer:
PS C:\Users\user> Stop-AzVM -ResourceGroupName myaserg -Name myasewindowsvm2 Virtual machine stopping operation This cmdlet will stop the specified virtual machine. Do you want to continue? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y OperationId : 8a2fa7ea-99d0-4f9f-b8ca-e37389cd8413 Status : Succeeded StartTime : 6/28/2021 11:51:33 AM EndTime : 6/28/2021 11:51:50 AM Error : PS C:\Users\user>
U kunt de VIRTUELE machine ook stoppen vanuit Azure Portal.
Maak een momentopname van de VM-schijf en sla de momentopname op in een lokale resourcegroep. U kunt deze procedure gebruiken voor zowel besturingssysteem- als gegevensschijven.
Haal de lijst met schijven op uw apparaat of in een specifieke resourcegroep op. Noteer de naam van de schijf waarvan u een back-up wilt maken.
$Disk = Get-AzDisk -ResourceGroupName $ResourceGroupName $Disk.Name
Hier volgt een voorbeeld van uitvoer:
PS C:\Users\user> $Disk = Get-AzDisk -ResourceGroupName myaserg PS C:\Users\user> $Disk.Name myasewindowsvm2_disk1_2a066432056446669368969835d5e3b3 myazdisk1 myvmdisk2 PS C:\Users\user>
Maak een lokale resourcegroep om te fungeren als de bestemming voor de VM-momentopname. Locatie is ingesteld als
dbelocal
.New-AzResourceGroup -ResourceGroupName <Resource group name> -Location dbelocal
PS C:\Users\user> New-AzResourceGroup -ResourceGroupName myaseazrg1 -Location dbelocal ResourceGroupName : myaseazrg1 Location : dbelocal ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/.../resourceGroups/myaseazrg1 PS C:\Users\user>
Stel enkele parameters in.
$DiskResourceGroup = <Disk resource group> $DiskName = <Disk name> $SnapshotName = <Snapshot name> $DestinationRG = <Snapshot destination resource group>
Stel de configuratie van de momentopname in en maak de momentopname.
$Disk = Get-AzDisk -ResourceGroupName $DiskResourceGroup -DiskName $DiskName $SnapshotConfig = New-AzSnapshotConfig -SourceUri $Disk.Id -CreateOption Copy -Location 'dbelocal' $Snapshot = New-AzSnapshot -Snapshot $SnapshotConfig -SnapshotName $SnapshotName -ResourceGroupName $DestinationRG
Controleer of de momentopname is gemaakt in de doelresourcegroep.
Get-AzSnapshot -ResourceGroupName $DestinationRG
Hier volgt een voorbeeld van uitvoer:
PS C:\Users\user> $DiskResourceGroup = "myaserg" PS C:\Users\user> $DiskName = "myazdisk1" PS C:\Users\user> $SnapshotName = "myasdisk1ss" PS C:\Users\user> $DestinationRG = "myaseazrg1" PS C:\Users\user> $Disk = Get-AzDisk -ResourceGroupName $DiskResourceGroup -DiskName $DiskName PS C:\Users\user> $SnapshotConfig = New-AzSnapshotConfig -SourceUri $Disk.Id -CreateOption Copy -Location 'dbelocal' PS C:\Users\user> $Snapshot=New-AzSnapshot -Snapshot $SnapshotConfig -SnapshotName $SnapshotName -ResourceGroupName $DestinationRG PS C:\Users\user> Get-AzSnapshot -ResourceGroupName $DestinationRG ResourceGroupName : myaseazrg1 ManagedBy : Sku : Microsoft.Azure.Management.Compute.Models.SnapshotSku TimeCreated : 6/28/2021 6:57:40 PM OsType : HyperVGeneration : CreationData : Microsoft.Azure.Management.Compute.Models.CreationDat a DiskSizeGB : 10 DiskSizeBytes : 10737418240 UniqueId : fbc1cfac-8bbb-44d8-8aa4-9e8811950fcc EncryptionSettingsCollection : ProvisioningState : Succeeded Incremental : False Encryption : Microsoft.Azure.Management.Compute.Models.Encryption Id : /subscriptions/.../r esourceGroups/myaseazrg1/providers/Microsoft.Compute/ snapshots/myasdisk1ss Name : myasdisk1ss Type : Microsoft.Compute/snapshots Location : DBELocal Tags : {} PS C:\Users\user>
De momentopname kopiëren naar een lokaal opslagaccount
Kopieer de momentopnamen naar een lokaal opslagaccount op uw apparaat.
Stel enkele parameters in.
$StorageAccountRG = <Local storage account resource group> $StorageAccountName = <Storage account name> $StorageEndpointSuffix = <Connection string in format: DeviceName.DnsDomain.com> $DestStorageContainer = <Destination storage container> $DestFileName = <Blob file name>
Maak een lokaal opslagaccount op uw apparaat.
New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $StorageAccountRG -Location DBELocal -SkuName Standard_LRS
Hier volgt een voorbeeld van uitvoer:
PS C:\Users\user> New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $StorageAccountRG -Location DBELocal -SkuName Standard_LRS StorageAccountName ResourceGroupName PrimaryLocation SkuName Kind AccessTier ------------------ ----------------- --------------- ------- ---- ---------- myaseazsa1 myaseazrg2 DBELocal Standard_LRS Storage PS C:\Users\user>
Maak een container in het lokale opslagaccount dat u hebt gemaakt.
$keys = Get-AzStorageAccountKey -ResourceGroupName $StorageAccountRG -Name $StorageAccountName $keyValue = $keys[0].Value $storageContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $keyValue -Protocol Http -Endpoint $StorageEndpointSuffix; $container = New-AzStorageContainer -Name $DestStorageContainer -Context $storageContext -Permission Container -ErrorAction Ignore;
Hier volgt een voorbeeld van uitvoer:
PS C:\Users\user> $StorageAccountRG = "myaseazrg2" PS C:\Users\user> $StorageAccountName = "myaseazsa1" PS C:\Users\user> $StorageEndpointSuffix = "myasegpu.wdshcsso.com" PS C:\Users\user> $DestStorageContainer = "testcont1" PS C:\Users\user> $DestFileName = "testfile1" PS C:\Users\user> $keys = Get-AzStorageAccountKey -ResourceGroupName $StorageAccountRG -Name $StorageAccountName PS C:\Users\user> $keyValue = $keys[0].Value PS C:\Users\user> $storageContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $keyValue -Protocol Http -Endpoint $StorageEndpointSuffix; PS C:\Users\user> $storagecontext StorageAccountName : myaseazsa1 BlobEndPoint : http://myaseazsa1.blob.myasegpu.wdshcsso.com/ TableEndPoint : http://myaseazsa1.table.myasegpu.wdshcsso.com/ QueueEndPoint : http://myaseazsa1.queue.myasegpu.wdshcsso.com/ FileEndPoint : http://myaseazsa1.file.myasegpu.wdshcsso.com/ Context : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext Name : StorageAccount : BlobEndpoint=http://myaseazsa1.blob.myasegpu.wdshcsso.com/;Que ueEndpoint=http://myaseazsa1.queue.myasegpu.wdshcsso.com/;Tabl eEndpoint=http://myaseazsa1.table.myasegpu.wdshcsso.com/;FileE ndpoint=http://myaseazsa1.file.myasegpu.wdshcsso.com/;AccountN ame=myaseazsa1;AccountKey=[key hidden] TableStorageAccount : BlobEndpoint=http://myaseazsa1.blob.myasegpu.wdshcsso.com/;Que ueEndpoint=http://myaseazsa1.queue.myasegpu.wdshcsso.com/;Tabl eEndpoint=http://myaseazsa1.table.myasegpu.wdshcsso.com/;FileE ndpoint=http://myaseazsa1.file.myasegpu.wdshcsso.com/;DefaultE ndpointsProtocol=https;AccountName=myaseazsa1;AccountKey=[key hidden] Track2OauthToken : EndPointSuffix : myasegpu.wdshcsso.com/ ConnectionString : BlobEndpoint=http://myaseazsa1.blob.myasegpu.wdshcsso.com/;Que ueEndpoint=http://myaseazsa1.queue.myasegpu.wdshcsso.com/;Tabl eEndpoint=http://myaseazsa1.table.myasegpu.wdshcsso.com/;FileE ndpoint=http://myaseazsa1.file.myasegpu.wdshcsso.com/;AccountN ame=myaseazsa1;AccountKey=itOn5Awjh3hnoGKL7EDQ681zhIKG/szCt05Z IWAxP/T22gwEXb5l0sKjI833Hqpc0MsBiSH2rM6NuuwnJyEO1Q== ExtendedProperties : {} PS C:\Users\user> $container = New-AzStorageContainer -Name $DestStorageContainer -Context $storageContext -Permission Container -ErrorAction Ignore; PS C:\Users\user> $container Blob End Point: http://myaseazsa1.blob.myasegpu.wdshcsso.com/ Name PublicAccess LastModified ---- ------------ ------------ testcont1 Container 6/28/2021 2:46:03 PM +00:00 PS C:\Users\user>
U kunt Azure Storage Explorer ook gebruiken om een lokaal opslagaccount te maken en vervolgens een container te maken in het lokale opslagaccount op uw apparaat.
Download de momentopname naar het lokale opslagaccount.
$sassnapshot = Grant-AzSnapshotAccess -ResourceGroupName $DestinationRG -SnapshotName $SnapshotName -Access 'Read' -DurationInSecond 3600 $destContext = New-AzStorageContext –StorageAccountName $StorageAccountName -StorageAccountKey $keyValue Start-AzStorageBlobCopy -AbsoluteUri $sassnapshot.AccessSAS -DestContainer $DestStorageContainer -DestContext $destContext -DestBlob $DestFileName
Hier volgt een voorbeeld van uitvoer:
PS C:\Users\user> $sassnapshot AccessSAS : https://md-2.blob.myasegpu.wdshcsso.com/22615edc48654bb8b77e383d3a7649ac /abcd.vhd?sv=2017-04-17&sr=b&si=43ca8395-6942-496b-92d7-f0d6dc68ab63&sk=system-1&sig =K%2Bc34uq7%2BLcTetG%2Bj9loOH440e03vDkD24Ug0Gf%2Bex8%3D PS C:\Users\user> $destContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $keyValue PS C:\Users\user> $destContext StorageAccountName : myaseazsa1 BlobEndPoint : https://myaseazsa1.blob.myasegpu.wdshcsso.com/ TableEndPoint : https://myaseazsa1.table.myasegpu.wdshcsso.com/ QueueEndPoint : https://myaseazsa1.queue.myasegpu.wdshcsso.com/ FileEndPoint : https://myaseazsa1.file.myasegpu.wdshcsso.com/ Context : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext Name : StorageAccount : BlobEndpoint=https://myaseazsa1.blob.myasegpu.wdshcsso.com/;Qu eueEndpoint=https://myaseazsa1.queue.myasegpu.wdshcsso.com/;Ta bleEndpoint=https://myaseazsa1.table.myasegpu.wdshcsso.com/;Fi leEndpoint=https://myaseazsa1.file.myasegpu.wdshcsso.com/;Acco untName=myaseazsa1;AccountKey=[key hidden] TableStorageAccount : BlobEndpoint=https://myaseazsa1.blob.myasegpu.wdshcsso.com/;Qu eueEndpoint=https://myaseazsa1.queue.myasegpu.wdshcsso.com/;Ta bleEndpoint=https://myaseazsa1.table.myasegpu.wdshcsso.com/;Fi leEndpoint=https://myaseazsa1.file.myasegpu.wdshcsso.com/;Defa ultEndpointsProtocol=https;AccountName=myaseazsa1;AccountKey=[ key hidden] Track2OauthToken : EndPointSuffix : myasegpu.wdshcsso.com/ ConnectionString : BlobEndpoint=https://myaseazsa1.blob.myasegpu.wdshcsso.com/;Qu eueEndpoint=https://myaseazsa1.queue.myasegpu.wdshcsso.com/;Ta bleEndpoint=https://myaseazsa1.table.myasegpu.wdshcsso.com/;Fi leEndpoint=https://myaseazsa1.file.myasegpu.wdshcsso.com/;Acco untName=myaseazsa1;AccountKey=itOn5Awjh3hnoGKL7EDQ681zhIKG/szC t05ZIWAxP/T22gwEXb5l0sKjI833Hqpc0MsBiSH2rM6NuuwnJyEO1Q== ExtendedProperties : {} PS C:\Users\user> Start-AzStorageBlobCopy -AbsoluteUri $sassnapshot.AccessSAS -DestContainer $DestStorageContainer -DestContext $destContext -DestBlob $DestFileName AccountName: myaseazsa1, ContainerName: testcont1 Name BlobType Length ContentType LastMo dified ---- -------- ------ ----------- ------ testfile1 BlockBlob -1 202... PS C:\Users\user>
U kunt Storage Explorer ook gebruiken om te controleren of de momentopname correct is gekopieerd naar het opslagaccount.
VHD downloaden naar extern doel
Als u uw back-ups naar een externe locatie wilt verplaatsen, kunt u Azure Storage Explorer of AzCopy gebruiken.
Gebruik de volgende AzCopy-opdracht om VHD te downloaden naar een extern doel.
azcopy copy "https://<local storage account name>.blob.<device name>.<DNS domain>/<container name>/<filename><SAS query string>" <destination target>
Als u Azure Storage Explorer wilt instellen en gebruiken met Azure Stack Edge, raadpleegt u de instructies in Storage Explorer gebruiken voor uploaden.
Volgende stappen
Implementeer virtuele machines op uw Gpu-apparaat van Azure Stack Edge Pro met behulp van sjablonen.