Восстановление управляемых дисков 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