Condividi tramite


Ripristinare BLOB di Azure con Azure PowerShell

Questo articolo descrive come usare PowerShell per eseguire ripristini per Azure Blob da backup operativi o archiviati. Con i backup operativi, è possibile ripristinare tutti i BLOB in blocchi in account di archiviazione che abbiano il backup operativo configurato oppure in un subset di contenuti BLOB a un momento qualsiasi all'interno dell'intervallo di conservazione. Con i backup archiviati, è possibile eseguire ripristini usando un punto di ripristino creato in base alla pianificazione del backup.

È anche possibile ripristinare i BLOB di Azure tramite Backup di Azure usando il portale di Azure, l'interfaccia della riga di comando di Azure, l'API REST.

Importante

Il supporto per i BLOB di Azure è disponibile dalla versione Az 5.9.0.

Importante

Prima di ripristinare BLOB di Azure usando Backup di Azure, vedere i punti importanti.

In questo articolo si apprenderà come:

  • Ripristinare i BLOB di Azure

  • Tenere traccia dello stato dell'operazione di ripristino

Usare un insieme di credenziali di backup esistente TestBkpVault nel gruppo di risorse testBkpVaultRG negli esempi.

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

Ripristinare i BLOB di Azure in un account di archiviazione

Scegliere un livello di backup:

Ottieni l'intervallo di tempo valido per il ripristino

Poiché il backup operativo per i BLOB è continuo, non esistono punti distinti da cui eseguire il ripristino. È invece necessario recuperare l'intervallo temporale valido in cui i blob possono essere ripristinati ad un punto temporale qualsiasi. In questo esempio, verifichiamo la presenza di fasce orarie valide da ripristinare negli ultimi 30 giorni.

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

Recuperare innanzitutto tutte le istanze usando il comando Get-AzDataProtectionBackupInstance e identificare l'istanza pertinente.

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

È inoltre possibile usare Az.Resourcegraph e il comando Search-AzDataProtectionBackupInstanceInAzGraph per eseguire la ricerca tra le istanze in molti insiemi di credenziali e sottoscrizioni.

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

Dopo aver identificato l'istanza, recuperare l'intervallo di recupero pertinente usando il comando 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")

Preparare la richiesta di ripristino

Una volta stabilito il momento a cui eseguire il ripristino, sono disponibili più opzioni per il ripristino. Usare il comando Initialize-AzDataProtectionRestoreRequest per preparare la richiesta di ripristino con tutti i dettagli pertinenti.

Ripristinare tutti i BLOB a un momento specifico

È possibile ripristinare tutti i BLOB in blocchi nell'account di archiviazione eseguendone il rollback al momento specifico selezionato. Gli account di archiviazione contenenti grandi quantità di dati o con una varianza elevata possono richiedere più tempo per il ripristino.

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

Ripristina i contenitori selezionati

È possibile esplorare e selezionare fino a 10 contenitori da ripristinare.

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

Ripristinare i contenitori usando una corrispondenza del prefisso

È possibile ripristinare un sottoinsieme di BLOB usando una corrispondenza del prefisso. È possibile specificare fino a 10 intervalli lessicografici di BLOB all'interno di un singolo contenitore o in più contenitori per riportare tali BLOB allo stato che avevano in precedenza in un determinato momento. Ecco alcuni aspetti da tenere presenti:

  • È possibile usare una barra (/) per separare il nome del contenitore dal prefisso del BLOB.
  • L'inizio dell'intervallo specificato è inclusivo, ma l'intervallo specificato è esclusivo.

Ulteriori informazioni sull'uso dei prefissi per il ripristino degli intervalli di 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"

Attivare il processo di ripristino

Usare il comando Start-AzDataProtectionBackupInstanceRestore per attivare il ripristino con la richiesta preparata in precedenza.

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

Monitorare un lavoro

È possibile tenere traccia di tutti i processi usando il comando Get-AzDataProtectionJob. È possibile elencare tutti i lavori e ottenere un dettaglio specifico del lavoro.

È possibile anche utilizzare Az.ResourceGraph per tenere traccia di tutti i processi in tutti gli archivi di backup. Usare il comando Search-AzDataProtectionJobInAzGraph per recuperare il processo pertinente, che può trovarsi in qualunque insieme di credenziali di backup.

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

Passaggi successivi

Panoramica del backup dei BLOB di Azure.