Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Artykuł opisuje, jak używać PowerShell do przeprowadzania przywracania Azure Blob z kopii zapasowych operacyjnych lub przechowywanych w skarbcu. Dzięki kopiom zapasowym operacyjnym możesz przywrócić wszystkie bloki blob w kontach magazynowych z skonfigurowaną kopią zapasową operacyjną lub podzbiór zawartości blobów do dowolnego momentu w czasie w zakresie przechowywania. Dzięki zabezpieczonym kopiom zapasowym możesz przywrócić dane przy użyciu punktu odzyskiwania utworzonego zgodnie z harmonogramem tworzenia kopii zapasowych.
Możesz również przywrócić obiekty blob platformy Azure za pomocą usługi Azure Backup przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, interfejsu API REST.
Ważne
Obsługa obiektów blob Azure jest dostępna od wersji Az 5.9.0.
Ważne
Przed kontynuowaniem przywracania obiektów blob platformy Azure przy użyciu usługi Azure Backup zobacz ważne kwestie.
W tym artykule dowiesz się, jak:
Przywróć Azure Blobs
Śledź status operacji przywracania
Użyjmy istniejącej skrytki kopii zapasowej TestBkpVault w grupie zasobów testBkpVaultRG w przykładach.
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault -ResourceGroupName "testBkpVaultRG"
Przywracanie blobów Azure w koncie magazynowym
Wybierz warstwę kopii zapasowej:
Uzyskaj prawidłowy zakres czasu dla przywracania
Ponieważ operacyjna kopia zapasowa dla blobów jest ciągła, nie ma żadnych wyraźnych punktów przywracania. Zamiast tego musimy pobrać prawidłowy zakres czasu, w którym można przywrócić obiekty blob do dowolnego punktu w czasie. W tym przykładzie sprawdźmy, czy istnieją prawidłowe zakresy czasu do przywracania w ciągu ostatnich 30 dni.
$startDate = (Get-Date).AddDays(-30)
$endDate = Get-Date
Najpierw pobierz wszystkie instancje za pomocą polecenia Get-AzDataProtectionBackupInstance i zidentyfikuj odpowiednią instancję.
$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name
Możesz także użyć Az.Resourcegraph i polecenia Search-AzDataProtectionBackupInstanceInAzGraph, aby przeszukiwać instancje w wielu skarbcach i subskrypcjach.
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -DatasourceType AzureBlob -ProtectionStatus ProtectionConfigured
Gdy instancja zostanie zidentyfikowana, pobierz odpowiedni zakres odzyskiwania za pomocą polecenia Find-AzDataProtectionRestorableTimeRange.
Find-AzDataProtectionRestorableTimeRange -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstanceName $AllInstances[2].BackupInstanceName -StartTime $startDate -endTime $endDate
EndTime : 2021-04-24T08:57:36.4149422Z
ObjectType : RestorableTimeRange
StartTime : 2021-03-25T14:27:31.0000000Z
$DesiredPIT = (Get-Date -Date "2021-04-23T02:47:02.9500000Z")
Przygotuj żądanie przywrócenia
Gdy moment w czasie, do którego ma zostać przeprowadzona przywracanie, zostanie ustalony, istnieje wiele opcji przywracania. Użyj polecenia Initialize-AzDataProtectionRestoreRequest, aby przygotować żądanie przywracania z wszystkimi odpowiednimi szczegółami.
Przywróć wszystkie blobsy do określonego momentu w czasie
Można przywrócić wszystkie bloby blokowe na koncie magazynowym, cofając je do wybranego punktu w czasie. Przywracanie kont magazynowych zawierających duże ilości danych lub podlegających wysokiemu wskaźnikowi rotacji danych może potrwać dłużej.
$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location -RestoreType OriginalLocation -PointInTime (Get-Date -Date "2021-04-23T02:47:02.9500000Z") -BackupInstance $AllInstances[2]
Przywróć wybrane kontenery
Możesz przeglądać i wybierać do 10 kontenerów do przywrócenia.
$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location -RestoreType OriginalLocation -PointInTime (Get-Date -Date "2021-04-23T02:47:02.9500000Z") -BackupInstance $AllInstances[2] -ItemLevelRecovery -ContainersList "abc","xyz"
Przywróć kontenery, używając dopasowania prefiksu
Możesz przywrócić podzbiór obiektów blob, używając dopasowania prefiksowego. Możesz określić do 10 zakresów leksykograficznych blobów w jednym kontenerze lub w kilku kontenerach, aby przywrócić te bloby do ich poprzedniego stanu w określonym momencie. Oto kilka rzeczy, które należy mieć na uwadze:
- Możesz użyć ukośnika (/) do oddzielenia nazwy kontenera od prefiksu blobu.
- Początek określonego zakresu jest włączający, jednakże sam zakres jest wyłączający.
Dowiedz się więcej o używaniu prefiksów do przywracania zakresów blobów.
$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location -RestoreType OriginalLocation -PointInTime (Get-Date -Date "2021-04-23T02:47:02.9500000Z") -BackupInstance $AllInstances[2] -ItemLevelRecovery -FromPrefixPattern "containerabc/aaa","containerabc/ccc" -ToPrefixPattern "containerabc/bbb","containerabc/ddd"
Uruchom przywracanie
Użyj polecenia Start-AzDataProtectionBackupInstanceRestore, aby uruchomić przywracanie za pomocą wcześniej przygotowanego żądania.
Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $AllInstances[2].BackupInstanceName -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Parameter $restorerequest
Śledź zadanie
Możesz śledzić wszystkie zadania za pomocą polecenia Get-AzDataProtectionJob. Możesz wymienić wszystkie zadania i pobrać szczegóły konkretnego zadania.
Możesz także użyć Az.ResourceGraph do śledzenia wszystkich zadań we wszystkich magazynach kopii zapasowych. Użyj polecenia Search-AzDataProtectionJobInAzGraph , aby uzyskać odpowiednie zadanie, które może znajdować się w dowolnym magazynie kopii zapasowych.
$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureBlob -Operation Restore