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


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

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

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

В этой статье вы узнаете, как:

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

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

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

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

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

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

Служба резервного хранилища использует управляемую идентификацию для получения доступа к другим ресурсам Azure. Чтобы выполнить восстановление из резервной копии, управляемому удостоверению хранилища 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

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