Bagikan melalui


Memulihkan Azure Blobs menggunakan Azure PowerShell

Artikel ini menjelaskan cara menggunakan PowerShell untuk melakukan pemulihan Azure Blob dari cadangan operasional atau vaulted. Dengan pencadangan operasional, Anda dapat memulihkan semua blob blok di akun penyimpanan dengan cadangan operasional yang dikonfigurasi atau subset konten blob ke titik waktu apa pun dalam rentang retensi. Dengan cadangan terproteksi, Anda dapat melakukan pemulihan menggunakan titik pemulihan yang telah dibuat, sesuai dengan jadwal pencadangan Anda.

Anda juga dapat memulihkan Azure Blobs oleh Azure Backup menggunakan portal Microsoft Azure, Azure CLI, REST API.

Penting

Dukungan untuk blob Azure tersedia dari versi Az 5.9.0.

Penting

Sebelum melanjutkan memulihkan blob Azure menggunakan Azure Backup, lihat poin penting.

Dalam artikel ini, Anda akan mempelajari cara:

  • Pulihkan Azure Blobs

  • Melacak status operasi pemulihan

Mari kita gunakan vault cadangan testBkpVault yang ada di bawah grup sumber daya testBkpVaultRG dalam contoh.

$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault -ResourceGroupName "testBkpVaultRG"

Memulihkan blob Azure dalam akun penyimpanan

Pilih tingkat cadangan:

Ambil rentang waktu yang valid untuk pemulihan

Karena cadangan operasional untuk blob berlangsung secara kontinu, maka tidak ada titik pemulihan yang spesifik. Sebagai gantinya, kita perlu mengambil rentang waktu yang valid yang dapat memulihkan blob ke titik waktu. Dalam contoh ini, mari periksa rentang waktu yang valid untuk pemulihan dalam 30 hari terakhir.

$startDate = (Get-Date).AddDays(-30)
$endDate = Get-Date

Pertama-tama ambil semua instans menggunakan perintah Get-AzDataProtectionBackupInstance dan identifikasi instans yang relevan.

$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name

Anda juga dapat menggunakan Az.Resourcegraph dan perintah Search-AzDataProtectionBackupInstanceInAzGraph untuk mencari di berbagai instans pada banyak penyimpanan dan langganan.

$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -DatasourceType AzureBlob -ProtectionStatus ProtectionConfigured

Setelah instans diidentifikasi, ambil rentang pemulihan yang relevan menggunakan perintah 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")

Menyiapkan permintaan pemulihan

Setelah titik waktu pemulihan diperbaiki, akan ada beberapa opsi untuk memulihkan. Gunakan perintah Initialize-AzDataProtectionRestoreRequest untuk menyiapkan permintaan pemulihan dengan semua detail yang relevan.

Memulihkan semua blob ke titik waktu tertentu

Anda dapat memulihkan semua blob blok di akun penyimpanan dengan menggulungnya kembali ke titik waktu yang dipilih. Akun penyimpanan yang berisi data dalam jumlah besar atau menyaksikan churn tinggi mungkin membutuhkan waktu lebih lama untuk dipulihkan.

$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]

Pulihkan kontainer yang dipilih

Anda dapat menelusuri dan memilih hingga 10 kontainer untuk dipulihkan.

$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"

Memulihkan kontainer menggunakan kecocokan awalan

Anda dapat memulihkan subset blob menggunakan kecocokan awalan. Anda dapat menentukan hingga 10 rentang leksikografis blob dalam satu wadah atau di beberapa kontainer untuk mengembalikan blob ke kondisi sebelumnya pada titik waktu tertentu. Berikut beberapa hal yang perlu diperhatikan:

  • Anda dapat menggunakan garis miring (/) untuk memisahkan nama kontainer dari prefix blob
  • Awal rentang yang ditentukan bersifat inklusif, namun rentang yang ditentukan bersifat eksklusif.

Pelajari selengkapnya tentang menggunakan awalan untuk memulihkan rentang blob.

$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"

Memicu pemulihan

Gunakan perintah Start-AzDataProtectionBackupInstanceRestore untuk memicu pemulihan dengan permintaan yang disiapkan di atas.

Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $AllInstances[2].BackupInstanceName -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Parameter $restorerequest

Melacak pekerjaan

Anda dapat melacak semua pekerjaan menggunakan perintah Get-AzDataProtectionJob . Anda dapat mencantumkan semua pekerjaan dan mengambil detail pekerjaan tertentu.

Anda juga dapat menggunakan Az.ResourceGraph untuk melacak semua pekerjaan di semua brankas cadangan. Gunakan perintah Search-AzDataProtectionJobInAzGraph untuk mendapatkan pekerjaan yang relevan yang bisa ditemukan di dalam gudang cadangan mana pun.

$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureBlob -Operation Restore

Langkah berikutnya

Gambaran sekilas pencadangan blob Azure