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

Эта статья содержит сведения о резервном копировании управляемого диска Azure с помощью Azure PowerShell.

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

  • Создание хранилища службы архивации

  • создание политики архивации;

  • Настройка резервной копии диска Azure

  • Выполнение задания резервного копирования по запросу

Сведения о доступности регионов, поддерживаемых сценариях и ограничениях для резервного копирования дисков Azure см. в таблице поддержки.

Создание хранилища службы архивации

Хранилище службы архивации — это объект хранения Azure, который содержит данные резервных копий для различных рабочих нагрузок новых типов, поддерживаемых в Azure Backup, таких как серверы БД Azure для PostgreSQL и Диски Azure. Хранилища службы архивации упрощают организацию данных резервного копирования и одновременно снижают накладные затраты на управление. Хранилища резервных копий основаны на модели Azure Resource Manager в экосистеме Azure, которая предоставляет расширенные возможности для защиты данных, резервная копия которых создается.

Перед созданием хранилища службы архивации выберите избыточность хранилища данных в хранилище. Затем перейдите к созданию хранилища службы архивации с указанной избыточностью и расположением. В этой статье мы создадим хранилище службы архивации TestBkpVault в регионе westus в группе ресурсов testBkpVaultRG. Используйте команду New-AzDataProtectionBackupVault, чтобы создать хранилище службы архивации. Подробнее о создании хранилища службы архивации.

$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type LocallyRedundant/GeoRedundant -DataStoreType VaultStore
New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
$TestBKPVault | fl
ETag                :
Id                  : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault
Identity            : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppIdentityDetails
IdentityPrincipalId :
IdentityTenantId    :
IdentityType        :
Location            : westus
Name                : TestBkpVault
ProvisioningState   : Succeeded
StorageSetting      : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.StorageSetting}
SystemData          : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SystemData
Tag                 : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppTrackedResourceTags
Type                : Microsoft.DataProtection/backupVaults

После создания хранилища создадим политику резервного копирования для защиты дисков Azure.

Создание политики резервного копирования

Чтобы получить сведения о внутренних компонентах политики резервного копирования дисков Azure, извлеките шаблон политики с помощью команды Get-AzDataProtectionPolicyTemplate. Эта команда возвращает шаблон политики по умолчанию для заданного типа источника данных. Используйте этот шаблон политики для создания новой политики.

$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDisk
$policyDefn | fl


DatasourceType : {Microsoft.Compute/disks}
ObjectType     : BackupPolicy
PolicyRule     : {BackupHourly, Default}

$policyDefn.PolicyRule | fl


BackupParameter           : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType       : DataStoreInfoBase
DataStoreType             : OperationalStore
Name                      : BackupHourly
ObjectType                : AzureBackupRule
Trigger                   : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType         : ScheduleBasedTriggerContext

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name       : Default
ObjectType : AzureRetentionRule

Шаблон политики состоит из триггера (который определяет, что активирует резервное копирование) и жизненного цикла (который принимает решение об удалении, копировании и перемещении резервной копии). При резервном копировании диска Azure значение триггера по умолчанию — запланированная ежечасная активация каждые 4 часа (PT4H) и хранение каждой резервной копии в течение 7 дней.

 $policyDefn.PolicyRule[0].Trigger | fl


ObjectType                    : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2020-04-05T13:00:00+00:00/PT4H}
TaggingCriterion              : {Default}
$policyDefn.PolicyRule[1].Lifecycle | fl


DeleteAfterDuration        : P7D
DeleteAfterObjectType      : AbsoluteDeleteOption
SourceDataStoreObjectType  : DataStoreInfoBase
SourceDataStoreType        : OperationalStore
TargetDataStoreCopySetting :

Резервное копирование дисков Azure предлагает создавать резервные копии несколько раз в день. Если необходимо выполнять резервное копирование чаще, выберите частоту резервного копирования Ежечасно, после чего можно будет выбрать промежутки между резервным копированием в 4, 6, 8 или 12 часов. Резервное копирование добавляется в расписание в соответствии с выбранным в поле Время интервалом. Например, если выбрать Каждые 4 часа, то резервные копии будут создаваться с промежутками приблизительно в 4 часа, так что моменты резервного копирования будут равномерно распределены по длительности суток. Если резервного копирования один раз в день будет достаточно, выберите частоту резервного копирования Ежедневно. В случае ежедневного резервного копирования можно указать время суток, в которое будут создаваться резервные копии. Важно отметить, что указываемое время суток обозначает время запуска резервного копирования, а не время, когда создание резервной копии будет завершено. Время, требуемое для завершения операции резервного копирования, зависит от различных факторов, включая размер диска и отток между последовательными резервными копиями. Однако резервное копирование дисков Azure — это безагентное резервное копирование, использующее добавочные моментальные снимки, которые не влияют на производительность приложения в рабочей среде.

Примечание

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

Дополнительные сведения о создании политик см. в документе Политика резервного копирования дисков Azure.

Если необходимо изменить почасовую частоту или период хранения, используйте команды Edit-AzDataProtectionPolicyTriggerClientObject и (или) Edit-AzDataProtectionPolicyRetentionRuleClientObject. Когда объект политики получит все необходимые значения, перейдите к созданию новой политики из объекта политики с помощью команды New-AzDataProtectionBackupPolicy.

New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name diskBkpPolicy -Policy $policyDefn

Name                   Type
----                   ----
diskBkpPolicy       Microsoft.DataProtection/backupVaults/backupPolicies

$diskBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "diskBkpPolicy"

Настройка резервного копирования

После создания хранилища и политики пользователю следует принять во внимание 3 важных пункта, касающиеся защиты диска Azure.

Используемые ключевые сущности

Защищаемый диск

Получите идентификатор ARM для защищаемого диска. Он будет служить идентификатором диска. В качестве примера мы будем использовать диск с именем PSTestDisk в группе ресурсов diskrg в другой подписке.

$DiskId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/PSTestDisk"

Группа ресурсов моментальных снимков

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

$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/snapshotrg"

Хранилище службы архивации

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

Назначение разрешений

Пользователю необходимо назначить несколько разрешений через RBAC хранилищу (представленному MSI хранилища), а также соответствующему диску и (или) диску RG. Эту операцию можно выполнить на портале или с помощью PowerShell.

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

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

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

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

    1. Перейдите на диск, резервную копию которого необходимо создавать.

    2. Перейдите в раздел Управление доступом (IAM) и выберите Добавить назначение ролей.

    3. На панели контекста справа выберите Читатель резервных копий диска в раскрывающемся списке Роль.

    4. Выберите управляемое удостоверение хранилища Azure Backup и щелкните Сохранить.

      Совет

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

    Снимок экрана: процесс назначения роли

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

    1. Перейдите в группу ресурсов. Например, здесь группа ресурсов — SnapshotRG, которая расположена в той же подписке, что и диск, резервные копии которого будут создаваться.

    2. Перейдите в раздел Управление доступом (IAM) и выберите Добавить назначение ролей.

    3. На правой панели контекста выберите в раскрывающемся списке Роль вариант Участник моментальных снимков дисков.

    4. Выберите управляемое удостоверение хранилища Azure Backup и щелкните Сохранить.

      Совет

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

    Снимок экрана: процесс назначения роли участник моментальных снимков диска управляемому удостоверению хранилища резервных копий в группе ресурсов.

  • Убедитесь, что управляемое удостоверение хранилища резервных копий имеет правильный набор назначений ролей относительно исходного диска и группы ресурсов, которая служит хранилищем данных моментальных снимков.

    1. Перейдите в раздел Хранилище резервного копирования -> Удостоверение и выберите пункт Назначения ролей Azure.

      Снимок экрана: выбор назначений ролей Azure.

    2. Убедитесь, что роль, имя и тип ресурса указаны правильно.

      Снимок экрана: проверка роли, имени ресурса и типа ресурса.

Примечание

На портале назначения ролей сразу будут отображаться правильно, но на применение разрешений к управляемому удостоверению хранилища Azure Backup потребуется приблизительно 15–30 минут.

Подготовка запроса

После установки всех соответствующих разрешений выполняется конфигурация резервного копирования, состоящая из 2 этапов. Сначала мы готовим соответствующий запрос с помощью соответствующей группы ресурсов хранилища, политики, диска и моментального снимка путем выполнения команды Initialize-AzDataProtectionBackupInstance. Затем мы отправляем запрос на защиту диска с помощью команды New-AzDataProtectionBackupInstance.

$instance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureDisk -DatasourceLocation $TestBkpvault.Location -PolicyId $diskBkpPol[0].Id -DatasourceId $DiskId 
$instance.Property.PolicyInfo.PolicyParameter.DataStoreParametersList[0].ResourceGroupId = $snapshotrg
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $instance

Name                                                       Type                                                  BackupInstanceName
----                                                       ----                                                  ------------------
diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166 Microsoft.DataProtection/backupVaults/backupInstances diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166

Выполнение резервного копирования по запросу

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

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "BackupInstanceName"

При активации резервного копирования можно указать правило хранения. Чтобы просмотреть правила хранения в политике, перейдите к правилам хранения в составе объекта политики. В приведенном ниже примере отображается правило с именем default, которое будет использоваться для резервного копирования по запросу.

$policyDefn.PolicyRule | fl


BackupParameter           : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType       : DataStoreInfoBase
DataStoreType             : OperationalStore
Name                      : BackupHourly
ObjectType                : AzureBackupRule
Trigger                   : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType         : ScheduleBasedTriggerContext

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name       : Default
ObjectType : AzureRetentionRule

Активируйте резервное копирование по запросу с помощью команды Backup-AzDataProtectionBackupInstanceAdhoc.

$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name
Backup-AzDataProtectionBackupInstanceAdhoc -BackupInstanceName $AllInstances[0].Name -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupRuleOptionRuleName "Default"

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

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

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

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

Дальнейшие действия