Sdílet prostřednictvím


Obnovení objektů blob Azure pomocí Azure PowerShellu

Tento článek popisuje, jak pomocí PowerShellu provést obnovení objektu blob Azure z provozních nebo trezorových záloh. Pomocí provozních záloh můžete obnovit všechny objekty blob bloku v účtech úložiště s nakonfigurovaným provozním zálohováním nebo podmnožinou obsahu objektů blob do libovolného bodu v čase v rozsahu uchovávání informací. S trezorovými zálohami můžete provést obnovení pomocí vytvořeného bodu obnovení na základě plánu zálohování.

Objekty blob Azure můžete obnovit také službou Azure Backup pomocí webu Azure Portal, Azure CLI, rozhraní REST API.

Důležité

Podpora objektů blob Azure je dostupná ve verzi Az 5.9.0.

Důležité

Než budete pokračovat v obnovení objektů blob Azure pomocí služby Azure Backup, přečtěte si důležité body.

V tomto článku se naučíte:

  • Obnovení objektů blob Azure

  • Sledování stavu operace obnovení

V příkladech použijeme existující trezor záloh TestBkpVault v rámci skupiny prostředků testBkpVaultRG .

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

Obnovení objektů blob Azure v rámci účtu úložiště

Zvolte úroveň zálohování:

Načtení platného časového rozsahu pro obnovení

Vzhledem k tomu, že provozní záloha objektů blob je nepřetržitá, neexistují žádné jedinečné body, ze které by bylo potřeba provést obnovení. Místo toho musíme načíst platný časový rozsah, pod kterým se objekty blob dají obnovit k určitému bodu v čase. V tomto příkladu zkontrolujeme platné časové rozsahy, které se mají obnovit během posledních 30 dnů.

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

Nejprve načtěte všechny instance pomocí příkazu Get-AzDataProtectionBackupInstance a identifikujte příslušnou instanci.

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

Pomocí příkazu Az.Resourcegraph a Search-AzDataProtectionBackupInstanceInAzGraph můžete také prohledávat instance v mnoha trezorech a předplatných.

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

Jakmile je instance identifikována, pomocí příkazu Find-AzDataProtectionRestorableTimeRange načtěte příslušný rozsah obnovení.

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

Příprava žádosti o obnovení

Jakmile je obnovení k určitému bodu v čase opravené, existuje několik možností, jak provést obnovení. Pomocí příkazu Initialize-AzDataProtectionRestoreRequest připravte žádost o obnovení se všemi relevantními podrobnostmi.

Obnovení všechobjektůch

Všechny objekty blob bloku v účtu úložiště můžete obnovit tak, že je vrátíte zpět k vybranému bodu v čase. Obnovení účtů úložiště obsahujících velké objemy dat nebo s vysokou četností změn může trvat delší dobu.

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

Obnovení vybraných kontejnerů

Můžete procházet a vybírat až 10 kontejnerů, které chcete obnovit.

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

Obnovení kontejnerů pomocí shody předpony

Podmnožinu objektů blob můžete obnovit pomocí shody předpony. Můžete zadat až 10 lexikografických rozsahů objektů blob v rámci jednoho kontejneru nebo napříč několika kontejnery, aby se tyto objekty blob v daném okamžiku vrátily do předchozího stavu. Tady je několik věcí, které je potřeba vzít v úvahu:

  • K označení názvu kontejneru z předpony objektu blob můžete použít lomítko (/).
  • Začátek zadaného rozsahu je inkluzivní, ale zadaný rozsah je výhradní.

Přečtěte si další informace o použití předpon k obnovení rozsahů objektů 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"

Aktivace obnovení

Pomocí příkazu Start-AzDataProtectionBackupInstanceRestore aktivujte obnovení pomocí výše uvedeného požadavku.

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

Sledování úlohy

Všechny úlohy můžete sledovat pomocí příkazu Get-AzDataProtectionJob . Můžete zobrazit seznam všech úloh a načíst konkrétní podrobnosti úlohy.

Pomocí az.ResourceGraph můžete také sledovat všechny úlohy napříč všemi trezory záloh. Pomocí příkazu Search-AzDataProtectionJobInAzGraph získejte příslušnou úlohu, která může být v libovolném trezoru záloh.

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

Další kroky

Přehled zálohování objektů blob v Azure