Dela via


Återställ Azure Blobbar med hjälp av Azure PowerShell

Den här artikeln beskriver hur man använder PowerShell för att genomföra återställningar för Azure Blob från operational eller vaulted backups. Med operativa säkerhetskopior kan du återställa alla blockblobbar i lagringskonton med konfigurerad operativ säkerhetskopia eller ett delmängd av blobbinnehållet till vilken tidsperiod som helst inom bevaringsintervallet. Med valvade säkerhetskopior kan du utföra återställningar med hjälp av en återställningspunkt som skapats baserat på ditt säkerhetskopieringsschema.

Du kan också återställa Azure Blobs via Azure Backup med hjälp av Azure-portalen, Azure CLI, REST API.

Viktigt

Stöd för Azure blobs är tillgängligt från version Az 5.9.0.

Viktigt

Innan du fortsätter med att återställa Azure-blobbar med hjälp av Azure Backup, se viktiga punkter.

I den här artikeln kommer du att lära dig hur du:

  • Återställ Azure Blobs

  • Spåra status för återställningsoperationen

Låt oss använda ett befintligt säkerhetskopieringsvalv TestBkpVault under resursgruppen testBkpVaultRG i exemplen.

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

Återställa Azure-blobar i ett lagringskonto

Välj en säkerhetskopieringsnivå:

Hämta det giltiga tidsintervallet för återställning

Eftersom den operativa säkerhetskopieringen för blobar är kontinuerlig finns det inga distinkta punkter att återställa från. Istället behöver vi hämta det giltiga tidsintervallet under vilket blobbar kan återställas till en godtycklig tidpunkt. I det här exemplet ska vi kontrollera giltiga tidsintervall för återställning inom de senaste 30 dagarna.

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

Hämta först alla instanser med kommandot Get-AzDataProtectionBackupInstance och identifiera den relevanta instansen.

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

Du kan också använda Az.Resourcegraph och kommandot Search-AzDataProtectionBackupInstanceInAzGraph för att söka över instanser i många valv och prenumerationer.

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

När instansen är identifierad, hämta det relevanta återställningsintervallet med hjälp av kommandot 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")

Förbered återställningsbegäran

När tidpunkten för återställning är fastställd, finns det flera alternativ för att återställa. Använd kommandot Initialize-AzDataProtectionRestoreRequest för att förbereda återställningsbegäran med alla relevanta detaljer.

Återställ alla blobbar till en viss tidpunkt

Du kan återställa alla blockblobbar i lagringskontot genom att återgå till den valda tidpunkten. Storagekonton som innehåller stora mängder data eller upplever hög omsättning kan ta längre tid att återställa.

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

Återställ valda behållare

Du kan bläddra och välja upp till 10 behållare att återställa.

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

Återställ behållare med en prefixmatchning

Du kan återställa en delmängd av blobbar genom att använda ett prefixmatchning. Du kan ange upp till 10 lexikografiska intervall av blobar inom en enda behållare eller över flera behållare för att återställa dessa blobar till deras tidigare tillstånd vid en given tidpunkt. Här är några saker att tänka på:

  • Du kan använda ett snedstreck (/) för att skilja mellan container-namnet och blob-prefixet.
  • Början av det angivna intervallet är inkluderande, men det angivna intervallet är exkluderande.

Läs mer om hur prefix används för att återställa blobområden.

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

Utlös återställningen

Använd kommandot Start-AzDataProtectionBackupInstanceRestore för att utlösa återställningen med den begäran som förbereddes ovan.

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

Spåra ett jobb

Du kan spåra alla jobben med kommandot Get-AzDataProtectionJob. Du kan lista alla jobb och hämta detaljer om ett specifikt jobb.

Du kan också använda Az.ResourceGraph för att spåra alla jobb i alla säkerhetskopieringsvalv. Använd kommandot Search-AzDataProtectionJobInAzGraph för att hitta det relevanta jobbet som kan finnas i någon backupsvalv.

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

Nästa steg

Översikt över säkerhetskopiering av Azure Blob