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


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

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

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

Создание хранилища резервных копий

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

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

$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, относящихся к номерам SKU для стандартных HDD, стандартных SSD и премиум SSD, можно определить расписание резервного копирования с почасовой (1, 2, 4, 6, 8 или 12 часов) и ежедневной частотой.
  • Для дисков Azure, принадлежащих номерам SKU уровня "Премиум" версии 2 и "Ультра", можно определить расписание резервного копирования с почасовой частотой только 12 часов и ежедневной частотой.

Дополнительные сведения о создании политик см. в документе Политика резервного копирования дисков 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 хранилища), а также для соответствующего диска и/или группы ресурсов диска. Эту операцию можно выполнить на портале или с помощью PowerShell.

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

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

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

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

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

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

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

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

      Совет

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

    Скриншот, показывающий процесс назначения роли

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

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

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

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

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

      Совет

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

    Снимок экрана, показывающий процесс назначения роли

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

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

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

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

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

Примечание.

Распределение ролей на портале будет сразу корректно отображаться, но для применения разрешений к управляемому удостоверению хранилища резервных копий потребуется приблизительно 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

Следующие шаги