Развертывание резервного копирования в Azure для серверов Data Protection Manager (DPM) и управление им с помощью PowerShell
В этой статье описывается, как с помощью PowerShell настроить Azure Backup на сервере DPM и управлять резервным копированием и восстановлением.
Настройка среды PowerShell
Прежде чем использовать PowerShell для управления резервными копиями Data Protection Manager в Azure, необходимо настроить подходящую среду в PowerShell. В начале сеанса PowerShell обязательно выполните следующую команду для импорта необходимых модулей, которая также позволяет правильно ссылаться на командлеты DPM:
& "C:\Program Files\Microsoft System Center 2012 R2\DPM\DPM\bin\DpmCliInitScript.ps1"
Welcome to the DPM Management Shell!
Full list of cmdlets: Get-Command
Only DPM cmdlets: Get-DPMCommand
Get general help: help
Get help for a cmdlet: help <cmdlet-name> or <cmdlet-name> -?
Get definition of a cmdlet: Get-Command <cmdlet-name> -Syntax
Sample DPM scripts: Get-DPMSampleScript
Настройка и регистрация
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Чтобы начать, загрузите последнюю версию Azure PowerShell.
С помощью PowerShell можно автоматизировать указанные ниже задачи по настройке и регистрации.
- Создание хранилища Служб восстановления
- Установка агента службы архивации Azure.
- Регистрация в службе архивации Azure
- Параметры сети
- Параметры шифрования
Создание хранилища Служб восстановления
Чтобы создать хранилище служб восстановления, выполните описанные ниже действия. Хранилище служб восстановления отличается от хранилища службы архивации.
Если вы используете Azure Backup впервые, выполните командлет Register-AzResourceProvider, чтобы зарегистрировать поставщика службы восстановления Azure в своей подписке.
Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
Хранилище служб восстановления представляет собой ресурс ARM, поэтому вам потребуется разместить его в группе ресурсов. Вы можете выбрать существующую группу ресурсов или создать новую. При создании группы ресурсов укажите ее имя и расположение.
New-AzResourceGroup –Name "test-rg" –Location "West US"
Выполните командлет New-AzRecoveryServicesVault, чтобы создать хранилище. Разместите хранилище там же, где находится группа ресурсов.
New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "West US"
Укажите необходимый тип избыточности хранилища: Вы можете использовать Локально избыточное хранилище (LRS), Геоизбыточное хранилище (GRS) или хранилище, избыточное между зонами (ZRS). В следующем примере показано, что для параметра BackupStorageRedundancy для testVault задано значение GeoRedundant.
Совет
Для многих командлетов службы архивации Azure требуется объект хранилища служб восстановления в качестве входных данных. По этой причине объект хранилища Служб восстановления резервных копий удобно хранить в переменной.
$vault1 = Get-AzRecoveryServicesVault –Name "testVault" Set-AzRecoveryServicesBackupProperties -vault $vault1 -BackupStorageRedundancy GeoRedundant
Просмотр хранилищ в подписке
Чтобы получить список всех хранилищ в текущей подписке, используйте командлет Get-AzRecoveryServicesVault. Он позволяет убедиться в том, что хранилище создано, и увидеть, какие хранилища доступны в подписке.
Выполнив команду Get-AzRecoveryServicesVault, вы получите список всех хранилищ в подписке.
Get-AzRecoveryServicesVault
Name : Contoso-vault
ID : /subscriptions/1234
Type : Microsoft.RecoveryServices/vaults
Location : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId : 1234-567f-8910-abc
Properties : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties
Установка агента службы архивации Azure на сервер DPM
Прежде чем устанавливать агент службы архивации Azure, необходимо загрузить установщик и разместить его в системе Windows Server. Последнюю версию установщика можно загрузить в центре загрузки Майкрософт или на странице панели мониторинга для хранилища служб восстановления. Сохраните установщик в удобном для вас месте, например в папке C:\Downloads\*
.
Чтобы установить агент, в консоли PowerShell с повышенными привилегиями на сервере DPMвыполните следующую команду:
MARSAgentInstaller.exe /q
Агент будет установлен с параметрами по умолчанию. Установка займет всего несколько минут и пройдет в фоновом режиме. Если параметр /nu не будет вами указан, в конце установки откроется окно Обновления Windows для проверки наличия обновлений.
Агент появится в списке установленных программ. Чтобы просмотреть список установленных программ, выберите Панель управления>Программы>Программы и компоненты.
Варианты установки
Чтобы просмотреть все доступные в командной строке параметры, используйте следующую команду:
MARSAgentInstaller.exe /?
Доступны следующие параметры.
Вариант | Details | По умолчанию. |
---|---|---|
/q | Позволяет выполнить тихую установку. | - |
/p:"расположение" | Путь к папке установки для агента архивации Azure. | C:\Program Files\Microsoft Azure Recovery Services Agent |
/s:"расположение" | Путь к папке кэша для агента архивации Azure. | C:\Program Files\Microsoft Azure Recovery Services Agent\Scratch |
/m | Позволяет явно согласиться на использование Центра обновления Майкрософт. | - |
/nu | Позволяет отказаться от проверки наличия обновлений после завершения установки. | - |
/d | Удаляет агент служб восстановления Microsoft Azure. | - |
/ph | Адрес узла прокси-сервера. | - |
/po | Номер порта узла прокси-сервера. | - |
/pu | Имя пользователя узла прокси-сервера. | - |
/pw | Пароль прокси-сервера. | - |
Регистрация DPM в хранилище служб восстановления
После создания хранилища служб восстановления скачайте последнюю версию агента и учетные данные хранилища и сохраните их в удобном расположении, например C:\Downloads.
$credspath = "C:\downloads"
$credsfilename = Get-AzRecoveryServicesVaultSettingsFile -Backup -Vault $vault1 -Path $credspath
$credsfilename
C:\downloads\testvault\_Sun Apr 10 2016.VaultCredentials
На сервере DPM запустите командлет Start-OBRegistration , чтобы зарегистрировать компьютер в хранилище.
$cred = $credspath + $credsfilename
Start-OBRegistration-VaultCredentials $cred -Confirm:$false
CertThumbprint :7a2ef2caa2e74b6ed1222a5e89288ddad438df2
SubscriptionID : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
ServiceResourceName: testvault
Region :West US
Machine registration succeeded.
Исходные параметры конфигурации
Зарегистрированный в хранилище служб восстановления сервер DPM запускается с параметрами подписки, используемыми по умолчанию. Эти параметры подписки включают настройки сети, шифрования и промежуточной области. Чтобы изменить параметры подписки, сначала получите дескриптор существующих параметров (по умолчанию) с помощью командлета Get-DPMCloudSubscriptionSetting :
$setting = Get-DPMCloudSubscriptionSetting -DPMServerName "TestingServer"
Все изменения вносятся в локальный объект PowerShell $setting
, а затем полный объект фиксируется в DPM и Azure Backup с помощью командлета Set-DPMCloudSubscriptionSetting. Чтобы гарантировать, что изменения будут сохранены, необходимо использовать флаг –Commit
. Эти параметры не будут применяться и использоваться службой архивации Azure, если не будут зафиксированы.
Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -Commit
Сеть
Если компьютер DPM подключен к службе архивации Azure в Интернете через прокси-сервер, для успешного резервного копирования следует указать параметры прокси-сервера. Для этого используются параметры -ProxyServer
, -ProxyPort
, -ProxyUsername
и ProxyPassword
для командлета Set-DPMCloudSubscriptionSetting. В этом примере нет прокси-сервера, поэтому мы явно очищаем любую информацию, связанную с прокси.
Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -NoProxy
Управлять использованием пропускной способности для выбранных дней недели можно с помощью параметров -WorkHourBandwidth
и -NonWorkHourBandwidth
В данном примере мы не будем настраивать регулирование.
Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -NoThrottle
Настройка промежуточной области
Для агента службы архивации Azure, работающего на сервере DPM, необходимо предоставить временное хранилище для восстановленных из облака данных (локальная промежуточная область). Настройте промежуточную область с помощью командлета Set-DPMCloudSubscriptionSetting с параметром -StagingAreaPath
.
Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -StagingAreaPath "C:\StagingArea"
В примере выше задается промежуточная область C:\StagingArea в объекте PowerShell $setting
. Убедитесь, что указанная папка уже существует, иначе финальная фиксация параметров подписки завершится ошибкой.
Параметры шифрования
Для защиты конфиденциальности данных резервные копии данных, отправляемые в службу архивации Azure, зашифровываются. Используемая для шифрования парольная фраза является "паролем" для расшифровки данных во время их восстановления. После установки важно сохранить эту информацию в безопасности.
В следующем примере первая команда преобразует строку passphrase123456789
в защищенную строку и присваивает ее переменной $Passphrase
. Вторая команда задает безопасную строку в $Passphrase
качестве пароля для шифрования резервных копий.
$Passphrase = ConvertTo-SecureString -string "passphrase123456789" -AsPlainText -Force
Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -EncryptionPassphrase $Passphrase
Внимание
Храните информацию о парольной фразе в надежном и безопасном месте после ее установки. Вы не сможете восстановить данные из Azure без этой парольной фразы.
На этом этапе следует внести все необходимые изменения в объект $setting
. Не забудьте зафиксировать изменения.
Set-DPMCloudSubscriptionSetting -DPMServerName "TestingServer" -SubscriptionSetting $setting -Commit
Защита данных в службе архивации Azure
В этом разделе вы добавите рабочий сервер в DPM, а также защитите данные в локальном хранилище DPM, а затем в службе архивации Azure. В примерах мы продемонстрируем, как создавать резервные копии файлов и папок. Логику можно легко расширить для резервного копирования любого источника данных, поддерживаемого DPM. Все резервные копии DPM находятся под управлением группы защиты (ГЗ), которая состоит из четырех частей.
- Члены группы защиты — это список всех защищаемых объектов (также называемых источниками данных в DPM), которые вы хотите защитить в рамках одной группы защиты. Например, вы можете защитить рабочие виртуальные машины в одной группе защиты, а базы данных SQL Server — в другой группе защиты, так как у них могут быть разные требования к резервному копированию. Перед созданием резервных копий данных на рабочем сервере убедитесь, что на рабочем сервере установлен агент DPM, который управляется с помощью DPM. Выполните шаги по установке агента DPM и связыванию его с соответствующим сервером DPM.
- Метод защиты данных — определяет расположения резервных копий (магнитная лента, диск и облако). В нашем примере мы будем защищать данные на локальном диске и в облаке.
- Расписание резервного копирования — указывает, когда необходимо выполнять резервное копирование и как часто следует синхронизировать данные между сервером DPM и рабочим сервером.
- Расписание хранения — определяет период хранения точек восстановления в Azure.
Создание группы защиты
Начните с создания новой группы защиты с помощью командлета New-DPMProtectionGroup .
$PG = New-DPMProtectionGroup -DPMServerName " TestingServer " -Name "ProtectGroup01"
Указанный выше командлет создает группу защиты с именем ProtectGroup01. Существующую группу защиты можно изменить позднее, чтобы добавить резервную копию в облако Azure. Тем не менее, чтобы получить возможность вносить изменения в группу защиты (новую или существующую), необходимо получить дескриптор изменяемого объекта с помощью командлета Get-DPMModifiableProtectionGroup .
$MPG = Get-ModifiableProtectionGroup $PG
Добавление участников группы в группу защиты
Каждый агент DPM знает список источников данных на сервере, на котором он установлен. Чтобы добавить источник данных в группу защиты, агент DPM должен сначала отправить список источников данных обратно на сервер DPM. Затем выбирается один или несколько источников данных, которые добавляются в группу защиты. Ниже представлены действия, которые необходимо выполнить в PowerShell.
- Получите список всех серверов, управляемых DPM через агент DPM.
- Выберите определенный сервер.
- Получите список всех источников данных на сервере.
- Выберите один или несколько источников данных и добавьте их в группу защиты.
Чтобы получить список серверов, на которых установлен агент DPM и которые управляются сервером DPM, воспользуйтесь командлетом Get-DPMProductionServer . В этом примере мы отфильтруем и настроим PowerShell только с именем productionserver01 для резервного копирования.
$server = Get-ProductionServer -DPMServerName "TestingServer" | Where-Object {($_.servername) –contains "productionserver01"}
Теперь получим список источников данных на $server
с помощью командлета Get-DPMDatasource. В этом примере мы фильтруем том D:\
, который хотим настроить для резервного копирования. Затем этот источник данных добавляется в группу защиты с помощью командлета Add-DPMChildDatasource. Не забывайте использовать изменяемый объект группы защиты $MPG
, чтобы вносить дополнения.
$DS = Get-Datasource -ProductionServer $server -Inquire | Where-Object { $_.Name -contains "D:\" }
Add-DPMChildDatasource -ProtectionGroup $MPG -ChildDatasource $DS
Повторите этот шаг столько раз, сколько потребуется, пока вы не добавите все выбранные источники данных в группу защиты. Для начала можно выполнить рабочий процесс создания группы защиты только для одного источника данных, а затем позже добавить в эту группу дополнительные источники данных.
Выбор метода защиты данных
После добавления в группу защиты источников данных необходимо указать метод защиты, воспользовавшись для этого командлетом Set-DPMProtectionType . В этом примере группа защиты настраивается для локального диска и облачного резервного копирования. Необходимо также с помощью командлета Add-DPMChildDatasource с флагом -Online указать источник данных, который нужно защитить в облаке.
Set-DPMProtectionType -ProtectionGroup $MPG -ShortTerm Disk –LongTerm Online
Add-DPMChildDatasource -ProtectionGroup $MPG -ChildDatasource $DS –Online
Установка диапазона хранения
Задайте период хранения для точек резервного копирования с помощью командлета Set-DPMPolicyObjective . Несмотря на то что задание периода хранения до определения расписания резервного копирования может показаться странным, командлет Set-DPMPolicyObjective
автоматически задает расписание резервного копирования по умолчанию, которое в последствии можно изменить. Всегда можно сначала установить расписание резервного копирования, а затем — политику хранения.
В примере ниже командлет задает параметры хранения для резервного копирования на диск. Резервные копии будут храниться 10 дней, а данные будут синхронизироваться между рабочим сервером и сервером DPM каждые 6 часов. SynchronizationFrequencyMinutes
определяет не частоту создания точек резервного копирования, а частоту копирования данных на сервер DPM. Это предотвращает создание слишком крупных резервных копий.
Set-DPMPolicyObjective –ProtectionGroup $MPG -RetentionRangeInDays 10 -SynchronizationFrequencyMinutes 360
Для резервных копий, сохраняемых в Azure (в DPM это называется Online Backup), диапазоны хранения можно настроить для долгосрочного хранения с использованием трехуровневой схемы (GFS). То есть можно определить политику объединенного хранения, включающую политики ежедневного, еженедельного, ежемесячного и ежегодного хранения. В этом примере мы создаем массив, представляющий сложную схему хранения, которая нам необходима, а затем настраиваем диапазон хранения с помощью командлета Set-DPMPolicyObjective .
$RRlist = @()
$RRList += (New-Object -TypeName Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.RetentionRange -ArgumentList 180, Days)
$RRList += (New-Object -TypeName Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.RetentionRange -ArgumentList 104, Weeks)
$RRList += (New-Object -TypeName Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.RetentionRange -ArgumentList 60, Month)
$RRList += (New-Object -TypeName Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.RetentionRange -ArgumentList 10, Years)
Set-DPMPolicyObjective –ProtectionGroup $MPG -OnlineRetentionRangeList $RRlist
Настройка расписания резервного копирования
При указании цели защиты с помощью командлета Set-DPMPolicyObjective
DPM автоматически задаст расписание резервного копирования по умолчанию. Для изменения расписания по умолчанию используйте командлет Get DPMPolicySchedule, а затем командлет Set-DPMPolicySchedule.
$onlineSch = Get-DPMPolicySchedule -ProtectionGroup $mpg -LongTerm Online
Set-DPMPolicySchedule -ProtectionGroup $MPG -Schedule $onlineSch[0] -TimesOfDay 02:00
Set-DPMPolicySchedule -ProtectionGroup $MPG -Schedule $onlineSch[1] -TimesOfDay 02:00 -DaysOfWeek Sa,Su –Interval 1
Set-DPMPolicySchedule -ProtectionGroup $MPG -Schedule $onlineSch[2] -TimesOfDay 02:00 -RelativeIntervals First,Third –DaysOfWeek Sa
Set-DPMPolicySchedule -ProtectionGroup $MPG -Schedule $onlineSch[3] -TimesOfDay 02:00 -DaysOfMonth 2,5,8,9 -Months Jan,Jul
Set-DPMProtectionGroup -ProtectionGroup $MPG
В приведенном выше примере $onlineSch
является массивом с четырьмя элементами, содержащий существующее расписание оперативной защиты для группы защиты в схеме GFS:
$onlineSch[0]
содержит ежедневное расписание.$onlineSch[1]
содержит еженедельное расписание.$onlineSch[2]
содержит ежемесячное расписание.$onlineSch[3]
содержит ежегодное расписание.
Поэтому если необходимо изменить еженедельное расписание, необходимо ссылаться на $onlineSch[1]
.
Начальное резервное копирование
При первом резервном копировании источника данных DPM необходимо создать начальную реплика, которая создает полную копию источника данных для защиты на томе DPM реплика. Это действие можно запланировать на определенное время или выполнить вручную с помощью командлета Set-DPMReplicaCreationMethod с параметром -NOW
.
Set-DPMReplicaCreationMethod -ProtectionGroup $MPG -NOW
Изменение размера тома реплики DPM и точки восстановления
Кроме того, можно изменить размер тома реплики DPM и тома теневых копий с помощью командлета Set-DPMDatasourceDiskAllocation , как показано в следующем примере: Get-DatasourceDiskAllocation -Datasource $DS Set-DatasourceDiskAllocation -Datasource $DS -ProtectionGroup $MPG -manual -ReplicaArea (2gb) -ShadowCopyArea (2gb).
Фиксация изменений в группе защиты
Наконец, необходимо зафиксировать изменения до того, как DPM выполнит резервное копирование в соответствии с новой конфигурацией группы защиты. Для этого воспользуйтесь командлетом Set-DPMProtectionGroup .
Set-DPMProtectionGroup -ProtectionGroup $MPG
Просмотр точек резервного копирования
Чтобы получить список всех точек восстановления для источника данных, можно использовать командлет Get-DPMRecoveryPoint . В этом примере мы:
- выгрузим данные из всех групп защиты на сервер DPM, которые будут храниться в массиве
$PG
- получим источники данных, соответствующие
$PG[0]
- получим все точки восстановления для источника данных.
$PG = Get-DPMProtectionGroup –DPMServerName "TestingServer"
$DS = Get-DPMDatasource -ProtectionGroup $PG[0]
$RecoveryPoints = Get-DPMRecoverypoint -Datasource $DS[0] -Online
Восстановление данных, защищенных в Azure
Восстановление данных представляет собой сочетание объектов RecoverableItem
и RecoveryOption
. В предыдущем разделе мы получили список точек резервного копирования для источника данных.
В примере ниже демонстрируется восстановление виртуальной машины Hyper-V из службы архивации Azure путем объединения резервных точек с целевым объектом для восстановления. В этом примере мы:
- Создадим параметр восстановления, используя командлет New-DPMRecoveryOption.
- Выполним выборку массива точек резервного копирования с помощью командлета
Get-DPMRecoveryPoint
. - Выберем точку резервного копирования для восстановления.
$RecoveryOption = New-DPMRecoveryOption -HyperVDatasource -TargetServer "HVDCenter02" -RecoveryLocation AlternateHyperVServer -RecoveryType Recover -TargetLocation "C:\VMRecovery"
$PG = Get-DPMProtectionGroup –DPMServerName "TestingServer"
$DS = Get-DPMDatasource -ProtectionGroup $PG[0]
$RecoveryPoints = Get-DPMRecoverypoint -Datasource $DS[0] -Online
Restore-DPMRecoverableItem -RecoverableItem $RecoveryPoints[0] -RecoveryOption $RecoveryOption
Команды можно с легкостью расширить для любого типа источника данных.
Следующие шаги
- Дополнительные сведения о службе архивации Azure для DPM см. в статье Подготовка к архивированию рабочих нагрузок в Azure с помощью DPM.