Udostępnij za pomocą


Przywracanie obiektów blob Azure za pomocą Azure PowerShell

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

Dalsze kroki

Przegląd kopii zapasowej blobów Azure