Поделиться через


Восстановление управляемых дисков Azure с помощью Azure PowerShell

В этой статье рассказывается, как восстанавливать Управляемые диски Azure с использованием точки восстановления, созданной службой Azure Backup.

На данный момент способ восстановления в исходном расположении (Original-Location Recovery, OLR), позволяющий выполнять восстановление путем замены существующего диска исходным диском, с которого были сделаны резервные копии, не поддерживается. Вы можете выполнить восстановление с использованием точки восстановления и создать еще один диск либо в той же группе ресурсов, в которой находится исходный диск, с которого были сделаны резервные копии, либо в любой другой группе ресурсов. Этот способ называется восстановлением в альтернативное расположение (Alternate-Location Recovery, ALR) и позволяет использовать как исходный, так и восстановленный (новый) диски.

В этой статье вы узнаете, как выполнять следующие задачи.

  • Восстановление для создания еще одного диска

  • Отслеживание состояния операции восстановления.

В примерах мы будем ссылаться на существующее хранилище резервных копий TestBkpVault в группе ресурсов testBkpVaultRG:

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

Восстановление для создания нового диска

Настройка разрешений

Хранилище резервных копий использует управляемое удостоверение для доступа к другим ресурсам Azure. Чтобы выполнить восстановление из резервной копии, управляемому удостоверению хранилища Azure Backup требуется набор разрешений для работы с группой ресурсов, в которой необходимо восстановить диск.

Хранилище Azure Backup использует назначенные системой управляемые удостоверения. У каждого ресурса может быть только одно такое удостоверение, которое привязано к жизненному циклу этого ресурса. Управляемому удостоверению можно предоставить разрешения, используя управление доступом на основе ролей Azure (Azure RBAC). Управляемое удостоверение является субъектом-службой специального типа, который может использоваться только с ресурсами Azure. Дополнительные сведения об управляемых удостоверениях см. здесь.

Назначьте соответствующие разрешения управляемому удостоверению хранилища, назначаемому системой, в целевой группе ресурсов, где будут восстановлены или созданы диски, как описано здесь.

Получение соответствующей точки восстановления

Получите все экземпляры с помощью команды Get-AzDataProtectionBackupInstance и найдите соответствующий экземпляр.

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

Для поиска по экземплярам во многих хранилищах и подписках можно также использовать Az.Resourcegraph и команду Search-AzDataProtectionBackupInstanceInAzGraph.

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

После обнаружения экземпляра получите соответствующую точку восстановления.

$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstanceName $AllInstances[2].BackupInstanceName

Подготовка запроса на восстановление

Создайте идентификатор ARM нового диска, создаваемого с помощью целевой группы ресурсов, для которой назначены разрешения, как описано выше, и необходимое имя диска. Например, можно присвоить диску имя PSTestDisk2 в группе ресурсов targetrg с использованием другой подписки.

$targetDiskId = /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.Compute/disks/PSTestDisk2

С помощью команды Initialize-AzDataProtectionRestoreRequest подготовьте запрос на восстановление со всеми необходимыми сведениями.

$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDisk -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location  -RestoreType AlternateLocation -TargetResourceId $targetDiskId -RecoveryPoint $rp[0].Name

Запуск процесса восстановления

Используйте команду Start-AzDataProtectionBackupInstanceRestore, чтобы активировать восстановление с помощью запроса, подготовленного выше.

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

Отслеживание заданий

Для отслеживания заданий используется команда Get-AzDataProtectionJob. Можно вывести список всех заданий и получить сведения о конкретном задании.

Для отслеживания всех заданий во всех хранилищах резервных копий можно также использовать команду Az.ResourceGraph. Используйте команду Search-AzDataProtectionJobInAzGraph для получения соответствующего задания, которое может находиться в любом из хранилищ резервных копий.

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

Дальнейшие шаги