Рассмотрим использование DPM 2010 в качестве системы резервного копирования баз данных роли Mailbox Exchange Server 2010 на конкретном примере. В качестве исходных данных будем считать, что мы имеем два сервера Exchange Server 2010 с ролью Mailbox объединённых в группу Database Availability Group (DAG), на которых расположено шесть баз данных почтовых ящиков. Параллельно поставим перед собой задачу распределить нагрузку по двум серверам Mailbox.
В нашем случае, для распределения нагрузки между серверами в группе DAG мы можем сделать так, чтобы на каждом из двух серверов Mailbox было активно по три базы данных. Активировать копию БД на другом сервере можно с помощью Exchange Management Shell и командлета Move-ActiveMailboxDatabase:
Move-ActiveMailboxDatabase "KOM-AD01-DAG1-DB04" -ActivateOnServer "KOM-AD01-CM02" -MountDialOverride:None
При распределении нагрузки мы должны помнить, что в ресурсы каждого сервера Mailbox в группе DAG должны быть рассчитаны исходя из ситуации, когда на этом сервере будут активированы все экземпляры имеющихся в DAG баз данных.
Помимо активации трёх копий БД на втором сервере, нам не помешает изменить порядок приоритезации размещения активной копии БД в DAG. Посмотреть текущую настройку для каждой БД можно с помощью Exchange Management Shell и командлета Get-MailboxDatabase:
Get-MailboxDatabase | Format-List Identity,ActivationPreference
В данный момент мы видим, что все БД по умолчанию считаются активными на сервере KOM-AD01-CM01. Чтобы задать в качестве приоритетного сервера для трёх БД сервер KOM-AD01-CM02 воспользуемся Exchange Management Shell и командлетом Set-MailboxDatabaseCopy:
Set-MailboxDatabaseCopy -Identity "KOM-AD01-DAG1-DB04\KOM-AD01-CM02" -ActivationPreference 1 Set-MailboxDatabaseCopy -Identity "KOM-AD01-DAG1-DB05\KOM-AD01-CM02" -ActivationPreference 1 Set-MailboxDatabaseCopy -Identity "KOM-AD01-DAG1-DB06\KOM-AD01-CM02" -ActivationPreference 1
После этого, ещё раз проверяем установленные значения:
Get-MailboxDatabase | Format-Table Identity,ActivationPreference –auto
После того как мы разобрались с распределением нагрузки между серверами Mailbox, настало время настроить резервное копирование БД в группе DAG.
Для начала нам необходимо установить агентов DPM на сервера с ролью Mailbox. Для этого открываем консоль DPM 2010 Administrator Console, переходим на закладку Management > Agents и пунктом меню Actions – Install запускаем мастер установки агентов - Protection Agent Installation Wizard:
На шаге выбора компьютеров выбираем любой Mailbox сервер из группы DAG:
После этого DPM может определить то, что выбранный сервер является членом кластерного экземпляра группы DAG и в этой группе помимо этого сервера есть ещё другие сервера, которые так же будет предложено включить в процедуру установки агентов DPM. Обратите внимание на то, что если не установить агента на второй сервер, то активные копии БД, размещённые на нём, не будут доступны для резервного копирования через DPM. В нашем случае мы используем для хранения активных экземпляров БД оба сервера, соответственно и агента мы должны поставить на оба сервера.
на следующем шаге мастера установки мы можем отказаться от автоматической перезагрузки серверов для того чтобы сделать это позже самостоятельно таким образом, чтобы клиенты не потеряли доступность служб Exchange
После того как мастер успешно завершит процедуру установки агентов на сервера KOM-AD01-CM01 и KOM-AD01-CM02, мы выполним поочерёдную их перезагрузку с использованием механизма Switchover.
Теперь настало время настроить задание резервного копирования в DPM. Для этого вернёмся в консоль DPM 2010 Administrator Console и на закладке Protection в меню Actions выберем пункт Create protection group.. В открывшемся мастере создания Protection Group выберем тип создаваемой группы защиты – Servers
На следующем шаге мастера в окне Available members развернём группу DAG и выберем интересующие нас базы данных Exchange. При этом, если агенты стоят на обоих серверах в DAG несущих копии БД, то не важно на каком сервере мы будем выбирать копию БД. Выбор источника копии БД в данном случае может зависеть от ваших предпочтений с точки зрения распределения нагрузки на сервера Exchange в процессе процедуры резервного копирования. В своём примере мы выбрали те копии БД, которые по умолчанию являются активными экземплярами.
После указания источника данных определяемся с методами резервного копирования. В нашем случае это будет только оперативное резервное копирование на дисковый пул DPM
Далее нам будет предложено выбрать параметры проверки резервной копии с помощью утилиты Eseutil, входящей в состав Exchange Server. Для серверов входящих в DAG (и особенно имеющих большие объёмы файла БД) рекомендуемой опцией является проверка только логов:
Для того чтобы DPM смог выполнять такую проверку, нам необходимо скопировать файлы eseutil.exe и ese.dll из каталога установки Exchange Server в папку исполняемых файлов DPM (по умолчанию C:\Program Files\Microsoft\Exchange Server\V14\Bin).
При этом если на DPM сервере уже выполняется резервное копирование Exchange Server 2007, такие файлы в каталоге DPM уже имеются и нам просто нужно будет их переписать, заменив на версию, входящую в состав Exchange Server 2010.
На следующем шаге нам будет предложено определиться с тем, каким образом DPM будет выполнять резервное копирование той или иной копии БД, то есть здесь подразумевается ,что Backup БД может быть выполнен как полноценный Backup с усечением логов (Full Backup) или же как Backup копии (Copy Backup). Так как мы хотим, чтобы логи наших БД не разрастались, мы выбираем вариант Full Backup для всех экземпляров БД:
На следующем шаге мы задаем параметры расписания выполнения резервного копирования (в нашем случае это параметры Full Backup)
Затем на шаге Review Disk Allocation определяемся с размерами томов DPM для хранения резервных копий БД, при этом механизм авто-расширения томов желательно оставлять включённым:
На следующем шаге Choose replica creation method мы можем отложить время создания первой резервной копии – реплики. В нашем случае Exchange сервера нагружены незначительно и поэтому мы выбираем Now
Затем на шаге Choose consistency check options определяемся с параметрами проверки консистентности реплики…
Дожидаемся когда DPM создаст новую Protection Group с заданными нами параметрами…
После этого в консоли DPM 2010 Administrator Console и на закладке Protection наблюдаем за текущим статусом резервных копий БД Exchange Server
После окончания создания первой резервной копии БД Exchange (наполнения реплики DPM) мы можем проверить на сервере Exchange размер папки, в которой хранятся логи БД чтобы удостовериться в том, что в процессе резервного копирования они действительно были усечены.
Пример процедуры восстановления данных из DPM
Рассмотрим процедуру восстановления со следующими исходными данными:
На Mailbox сервер Exchange Server 2010 в группе DAG есть БД с именем KOM-AD01-DA1-DB04. В этой БД есть почтовый ящик пользователя Артур Пирожков. Предположим, что пользователь удалил из своего почтового клиента важное для него почтовое сообщение и после этого истёк срок хранения удалённых объектов в почтовом ящике для этого письма, то есть пользователь своими силами не может восстановить удалённое сообщение и это придётся сделать нам. На скриншоте показано письмо с темой «Деловое предложение», которое было утрачено пользователем:
Для восстановления утраченного пользователем письма нам нужно будет восстановить из резервной копии DPM почтовый ящик этого пользователя в специально созданную БД восстановления Exchange Server и оттуда уже извлечь нужное нам письмо в действующий почтовый ящик этого пользователя.
Итак, приступим…
Для процедуры восстановления из резервной копии DPM, нам понадобится создать специальную базу данных Exchange – Recovery Mailbox Database (RDB). Для этого на сервере с ролью Mailbox (в нашем случае это будет сервер KOM-AD01-CM02) создадим подкаталог, в котором будет создана RDB, учитывая при этом то, что каталог этот должен быть расположен на таком диске, на котором будет достаточно места для выполнения операции восстановления.
Далее, в Exchange Management Shell выполняем команду создания RDB в созданном нами каталоге:
New-MailboxDatabase -Recovery -Name "KOM-AD01-RecoveryDB" -Server "KOM-AD01-CM02" -EdbFilePath "G:\KOM-AD01-RecoveryDB\DB\RecoveryDB.EDB" -LogFolderPath "G:\KOM-AD01-RecoveryDB\Log"
Теперь перейдём в консоли DPM 2010 Administrator Console на закладку Recovery, выберем Mailbox сервер, с которого выполнялось резервное копирование БД KOM-AD01-DAG1-DB04, затем выберем интересующую нас БД, где находятся нужные нам почтовые ящики, выберем дату и время последней точки восстановления
При выборе БД мы увидим информацию о входящих в неё почтовых ящиках, можем выбрать любой интересующий нас ящик и вызвать мастер восстановления действием Recover:
В открывшемся мастере мы увидим информацию о том объекте, который собрались восстановить
На шаге выбора типа восстановления выберем пункт восстановления в базу данных Exchange Server:
Затем укажем FQDN имя Exchange сервера, на котором мы создали базу данных восстановления RDB и имя БД восстановления (в нашем случае это KOM-AD01-RecoveryDB).
На следующем шаге настройки можно в большинстве случаев оставить по умолчанию…
Стартуем процедуру восстановления и дожидаемся её успешного завершения…
В процессе восстановления БД восстановления будет автоматически смонтирована и в неё будут помещены восстановленные из резервной копии данные.
Обратите внимание на то, что если база восстановления RDB уже использовалась для процедуры восстановления через DPM с последующим извлечением из неё данных, в свойствах этой БД происходит сброс флага разрешающего её перезапись, что может привести в результате попытки повторного восстановления в эту БД к следующей ошибке в DPM:
Чтобы избежать этой ситуации нам нужно установить соответствующий признак в свойствах RecoveryDB. В Exchange Management Console в разделе Organization Configuration > Mailbox на закладке Database Management выбираем базу данных восстановления, открываем её свойства и на закладке Maintenance включаем соответствующий флаг:
Итак, БД восстановления наполнена из резервной копии DPM и теперь мы попробуем восстановить письмо из БД восстановления в действующий почтовый ящик пользователя (создав в нём отдельную папку) с помощью Exchange Management Shell и командлета Restore-Mailbox:
Restore-Mailbox -Identity "Артур Пирожков" -RecoveryDatabase "KOM-AD01-RecoveryDB" -RecoveryMailbox "Артур Пирожков" -TargetFolder "Recovery" -SubjectKeywords "предложение"
После того, как командлет отработает, откроем почтовый клиент от имени многострадального пользователя и убедимся в том, что появилась папка Recoverу, в которой в подпапке Входящие восстановлено нужное нам удалённое письмо:
После того как восстановленное письмо перенесено пользователем в нужную ему папку, можно удалить папку Recover, созданную нами в процессе восстановления.
В случае если мы хотим произвести полное слияние резервной копии всего почтового ящика с имеющимся в данный момент почтовым ящиком можно воспользоваться командой:
Restore-Mailbox -Identity "Артур Пирожков" -RecoveryDatabase "KOM-AD01-RecoveryDB"
Помимо этого можно выполнить восстановление всего содержимого удалённого ящика (и даже уже не существующего в Exchange) в отдельную папку другого существующего ящика примерно следующей командой:
Restore-Mailbox "Артур Пирожков" -RecoveryDatabase "KOM-AD01-RecoveryDB" -RecoveryMailbox "Какой-то другой ящик" -TargetFolder "Full recovery"
После окончания процедуры восстановления можно размонтировать и удалить БД восстановления командами:
Dismount-Database "KOM-AD01-RecoveryDB" Remove-MailboxDatabase "KOM-AD01-RecoveryDB"
<
p class="MsoNormal" style="margin: 0px; line-height: normal">
Дополнительная информация:
- Exchange Server TechCenter - Understanding Backup, Restore and Disaster Recovery
- Exchange Server TechCenter - Restore Data Using a Recovery Database
- Exchange Server TechCenter - Recovery Databases - Difference between a Mailbox Database and a Recovery Database
- Exchange Server TechCenter - Create a Recovery Database
- System Center Data Protection Manager: Protect Exchange
How to protect Exchange with DPM 2010 whitepaper - MSExchange.org - Eliminating Traditional Backups using native Exchange 2010 Functionality (Part 4)
- Exchangeserverpro.com - How to Restore an Individual Exchange 2010 Mailbox with Windows Server Backup
Обратная ссылка: Защита Exchange 2010 DAG с помощью DPM 2010 « Точка восстановления /
Ряд полезных замечаний к этой заметке в своём блоге описал Егор Старцев:
http://ystartsev.wordpress.com/2011/02/28/exchange-2010-dag-protection-dpm-2010/
Исчерпывающий Howto. Спасибо!
Спасибо за заметку. Есть замечание к этому:
Помимо этого можно выполнить восстановление всего содержимого удалённого ящика (и даже уже не существующего в Exchange) в отдельную папку другого существующего ящика примерно следующей командой:
Restore-Mailbox "Артур Пирожков" -RecoveryDatabase "KOM-AD01-RecoveryDB" -RecoveryMailbox "Какой-то другой ящик" -TargetFolder "Full recovery"
Правильная команда будет такой:
[PS] C:\Windows\system32>Restore-Mailbox -Identity "Петрова Екатерина Сергеевна" -RecoveryDatabase "RecoveryDB" -RecoveryMailbox "Петров Иван Олегович" -TargetFolder "Recovery",
то есть нет -Identity и нужно поменять местами исходный почтовый ящик, восстанавливаемый из базы восстановления, и ящик назначения в уже имеющейся базе почтовых ящиков:
Restore-Mailbox -Identity "Какой-то другой ящик" -RecoveryDatabase "KOM-AD01-RecoveryDB" -RecoveryMailbox "Артур Пирожков" -TargetFolder "Full recovery"
Привет. А фича с восстановлением одного ящика так и не работает. DPM тащит в рекавери всю базу. Обновился уже до 2016 версии, там также дела обстоят(