Tworzenie kopii zapasowych dysków maszyn wirtualnych w procesorze GPU Pro usługi Azure Stack Edge za pomocą programu Azure PowerShell
DOTYCZY: Azure Stack Edge Pro — GPUAzure Stack Edge Pro 2Azure Stack Edge Pro R Azure Stack Edge Mini R
W tym artykule opisano sposób tworzenia kopii zapasowych dysków maszyn wirtualnych na urządzeniu z procesorem GPU Pro usługi Azure Stack Edge przy użyciu programu Azure PowerShell.
Ważne
Ta procedura ma być używana w przypadku zatrzymanych maszyn wirtualnych. Aby utworzyć kopię zapasową uruchomionych maszyn wirtualnych, zalecamy użycie narzędzia do tworzenia kopii zapasowych innej firmy.
Przepływ pracy
Poniższe kroki zawierają podsumowanie wysokiego poziomu przepływu pracy w celu utworzenia kopii zapasowej dysku maszyny wirtualnej na urządzeniu:
- Zatrzymaj maszynę wirtualną.
- Utwórz migawkę dysku maszyny wirtualnej.
- Skopiuj migawkę do lokalnego konta magazynu jako wirtualnego dysku twardego.
- Przekaż wirtualny dysk twardy do zewnętrznego obiektu docelowego.
Wymagania wstępne
Przed utworzeniem kopii zapasowej maszyn wirtualnych upewnij się, że:
- Masz dostęp do klienta, którego będziesz używać do nawiązywania połączenia z urządzeniem.
- Klient uruchamia obsługiwany system operacyjny.
- Klient jest skonfigurowany do nawiązywania połączenia z lokalnym usługą Azure Resource Manager urządzenia zgodnie z instrukcjami w temacie Nawiązywanie połączenia z usługą Azure Resource Manager dla urządzenia.
Weryfikowanie połączenia z lokalną usługą Azure Resource Manager
Upewnij się, że poniższe kroki mogą służyć do uzyskiwania dostępu do urządzenia z poziomu klienta.
Sprawdź, czy klient może nawiązać połączenie z lokalną usługą Azure Resource Manager.
Wywoływanie interfejsów API urządzeń lokalnych w celu uwierzytelnienia:
login-AzAccount -EnvironmentName <Environment Name> -TenantId c0257de7-538f-415c-993a-1b87a031879d
Podaj nazwę użytkownika
EdgeArmUser
i hasło do nawiązania połączenia za pośrednictwem usługi Azure Resource Manager. Jeśli nie odwołasz hasła, zresetuj hasło dla usługi Azure Resource Manager i użyj tego hasła do zalogowania się.
Tworzenie kopii zapasowej dysku maszyny wirtualnej
Pobierz listę maszyn wirtualnych uruchomionych na urządzeniu. Zidentyfikuj maszynę wirtualną, którą chcesz zatrzymać, i odpowiednią grupę zasobów.
Get-AzVM
Oto przykładowe dane wyjściowe:
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>
Ustaw parametry.
$ResourceGroupName = "<Resource group name>" $VmName = "<VM name>"
Zatrzymaj maszynę wirtualną.
Stop-AzVM –ResourceGroupName $ResourceGroupName -Name $VmName
Oto przykładowe dane wyjściowe:
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>
Możesz również zatrzymać maszynę wirtualną w witrynie Azure Portal.
Utwórz migawkę dysku maszyny wirtualnej i zapisz migawkę w lokalnej grupie zasobów. Tej procedury można użyć zarówno dla dysków systemu operacyjnego, jak i danych.
Pobierz listę dysków na urządzeniu lub w określonej grupie zasobów. Zanotuj nazwę dysku do utworzenia kopii zapasowej.
$Disk = Get-AzDisk -ResourceGroupName $ResourceGroupName $Disk.Name
Oto przykładowe dane wyjściowe:
PS C:\Users\user> $Disk = Get-AzDisk -ResourceGroupName myaserg PS C:\Users\user> $Disk.Name myasewindowsvm2_disk1_2a066432056446669368969835d5e3b3 myazdisk1 myvmdisk2 PS C:\Users\user>
Utwórz lokalną grupę zasobów, która będzie służyć jako miejsce docelowe migawki maszyny wirtualnej. Lokalizacja jest ustawiona jako
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>
Ustaw parametry.
$DiskResourceGroup = <Disk resource group> $DiskName = <Disk name> $SnapshotName = <Snapshot name> $DestinationRG = <Snapshot destination resource group>
Ustaw konfigurację migawki i wykonaj migawkę.
$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
Sprawdź, czy migawka została utworzona w docelowej grupie zasobów.
Get-AzSnapshot -ResourceGroupName $DestinationRG
Oto przykładowe dane wyjściowe:
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>
Kopiowanie migawki na konto magazynu lokalnego
Skopiuj migawki do lokalnego konta magazynu na urządzeniu.
Ustaw parametry.
$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>
Utwórz lokalne konto magazynu na urządzeniu.
New-AzStorageAccount -Name $StorageAccountName -ResourceGroupName $StorageAccountRG -Location DBELocal -SkuName Standard_LRS
Oto przykładowe dane wyjściowe:
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>
Utwórz kontener na utworzonym koncie magazynu lokalnego.
$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;
Oto przykładowe dane wyjściowe:
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>
Możesz również użyć Eksplorator usługi Azure Storage do utworzenia lokalnego konta magazynu, a następnie utworzyć kontener na lokalnym koncie magazynu na urządzeniu.
Pobierz migawkę na konto magazynu lokalnego.
$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
Oto przykładowe dane wyjściowe:
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>
Możesz również użyć Eksplorator usługi Storage, aby sprawdzić, czy migawka została poprawnie skopiowana na konto magazynu.
Pobieranie wirtualnego dysku twardego do zewnętrznego miejsca docelowego
Aby przenieść kopie zapasowe do lokalizacji zewnętrznej, możesz użyć narzędzia Eksplorator usługi Azure Storage lub Narzędzia AzCopy.
Użyj następującego polecenia narzędzia AzCopy, aby pobrać dysk VHD do zewnętrznego obiektu docelowego.
azcopy copy "https://<local storage account name>.blob.<device name>.<DNS domain>/<container name>/<filename><SAS query string>" <destination target>
Aby skonfigurować i użyć Eksplorator usługi Azure Storage w usłudze Azure Stack Edge, zobacz instrukcje w temacie Używanie Eksplorator usługi Storage do przekazywania.