DPM 2010 - Резервное копирование БД Exchange Server 2010 в группе DAG

imageРассмотрим использование 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

image

В данный момент мы видим, что все БД по умолчанию считаются активными на сервере 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

image

После того как мы разобрались с распределением нагрузки между серверами Mailbox, настало время настроить резервное копирование БД в группе DAG.


Для начала нам необходимо установить агентов DPM на сервера с ролью Mailbox. Для этого открываем консоль DPM 2010 Administrator Console, переходим на закладку Management > Agents и пунктом меню Actions – Install запускаем мастер установки агентов - Protection Agent Installation Wizard:

image

На шаге выбора компьютеров выбираем любой Mailbox сервер из группы DAG:

image

После этого DPM может определить то, что выбранный сервер является членом кластерного экземпляра группы DAG и в этой группе помимо этого сервера есть ещё другие сервера, которые так же будет предложено включить в процедуру установки агентов DPM. Обратите внимание на то, что если не установить агента на второй сервер, то активные копии БД, размещённые на нём, не будут доступны для резервного копирования через DPM. В нашем случае мы используем для хранения активных экземпляров БД оба сервера, соответственно и агента мы должны поставить на оба сервера.

image

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

image

После того как мастер успешно завершит процедуру установки агентов на сервера KOM-AD01-CM01 и KOM-AD01-CM02, мы выполним поочерёдную их перезагрузку с использованием механизма Switchover.

Теперь настало время настроить задание резервного копирования в DPM. Для этого вернёмся в консоль DPM 2010 Administrator Console и на закладке Protection в меню Actions выберем пункт Create protection group.. В открывшемся мастере создания Protection Group выберем тип создаваемой группы защиты – Servers

image

На следующем шаге мастера в окне Available members развернём группу DAG и выберем интересующие нас базы данных Exchange. При этом, если агенты стоят на обоих серверах в DAG несущих копии БД, то не важно на каком сервере мы будем выбирать копию БД. Выбор источника копии БД в данном случае может зависеть от ваших предпочтений с точки зрения распределения нагрузки на сервера Exchange в процессе процедуры резервного копирования. В своём примере мы выбрали те копии БД, которые по умолчанию являются активными экземплярами.

image

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

image

Далее нам будет предложено выбрать параметры проверки резервной копии с помощью утилиты Eseutil, входящей в состав Exchange Server. Для серверов входящих в DAG (и особенно имеющих большие объёмы файла БД) рекомендуемой опцией является проверка только логов:

image

Для того чтобы DPM смог выполнять такую проверку, нам необходимо скопировать файлы eseutil.exe и ese.dll из каталога установки Exchange Server в папку исполняемых файлов DPM (по умолчанию C:\Program Files\Microsoft\Exchange Server\V14\Bin).

image

При этом если на DPM сервере уже выполняется резервное копирование Exchange Server 2007, такие файлы в каталоге DPM уже имеются и нам просто нужно будет их переписать, заменив на версию, входящую в состав Exchange Server 2010.

На следующем шаге нам будет предложено определиться с тем, каким образом DPM будет выполнять резервное копирование той или иной копии БД, то есть здесь подразумевается ,что Backup БД может быть выполнен как полноценный Backup с усечением логов (Full Backup) или же как Backup копии (Copy Backup). Так как мы хотим, чтобы логи наших БД не разрастались, мы выбираем вариант Full Backup для всех экземпляров БД:

image

На следующем шаге мы задаем параметры расписания выполнения резервного копирования (в нашем случае это параметры Full Backup)

image

Затем на шаге Review Disk Allocation определяемся с размерами томов DPM для хранения резервных копий БД, при этом механизм авто-расширения томов желательно оставлять включённым:

image

На следующем шаге Choose replica creation method мы можем отложить время создания первой резервной копии – реплики. В нашем случае Exchange сервера нагружены незначительно и поэтому мы выбираем Now

image

Затем на шаге Choose consistency check options определяемся с параметрами проверки консистентности реплики…

image

Дожидаемся когда DPM создаст новую Protection Group с заданными нами параметрами…

image

После этого в консоли DPM 2010 Administrator Console и на закладке Protection наблюдаем за текущим статусом резервных копий БД Exchange Server

image

После окончания создания первой резервной копии БД Exchange (наполнения реплики DPM) мы можем проверить на сервере Exchange размер папки, в которой хранятся логи БД чтобы удостовериться в том, что в процессе резервного копирования они действительно были усечены.


Пример процедуры восстановления данных из DPM

Рассмотрим процедуру восстановления со следующими исходными данными:
На Mailbox сервер Exchange Server 2010 в группе DAG есть БД с именем KOM-AD01-DA1-DB04. В этой БД есть почтовый ящик пользователя Артур Пирожков. Предположим, что пользователь удалил из своего почтового клиента важное для него почтовое сообщение и после этого истёк срок хранения удалённых объектов в почтовом ящике для этого письма, то есть пользователь своими силами не может восстановить удалённое сообщение и это придётся сделать нам. На скриншоте показано письмо с темой «Деловое предложение», которое было утрачено пользователем:

image

Для восстановления утраченного пользователем письма нам нужно будет восстановить из резервной копии 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"

image

Теперь перейдём в консоли DPM 2010 Administrator Console на закладку Recovery, выберем Mailbox сервер, с которого выполнялось резервное копирование БД KOM-AD01-DAG1-DB04, затем выберем интересующую нас БД, где находятся нужные нам почтовые ящики, выберем дату и время последней точки восстановления

image

При выборе БД мы увидим информацию о входящих в неё почтовых ящиках, можем выбрать любой интересующий нас ящик и вызвать мастер восстановления действием Recover:

image

В открывшемся мастере мы увидим информацию о том объекте, который собрались восстановить

image

На шаге выбора типа восстановления выберем пункт восстановления в базу данных Exchange Server:

image

Затем укажем FQDN имя Exchange сервера, на котором мы создали базу данных восстановления RDB и имя БД восстановления (в нашем случае это KOM-AD01-RecoveryDB).

image

На следующем шаге настройки можно в большинстве случаев оставить по умолчанию…

image

Стартуем процедуру восстановления и дожидаемся её успешного завершения…

image

В процессе восстановления БД восстановления будет автоматически смонтирована и в неё будут помещены восстановленные из резервной копии данные.

Обратите внимание на то, что если база восстановления RDB уже использовалась для процедуры восстановления через DPM с последующим извлечением из неё данных, в свойствах этой БД происходит сброс флага разрешающего её перезапись, что может привести в результате попытки повторного восстановления в эту БД к следующей ошибке в DPM:

image

Чтобы избежать этой ситуации нам нужно установить соответствующий признак в свойствах RecoveryDB. В Exchange Management Console в разделе Organization Configuration > Mailbox на закладке Database Management выбираем базу данных восстановления, открываем её свойства и на закладке Maintenance включаем соответствующий флаг:

image

Итак, БД восстановления наполнена из резервной копии DPM и теперь мы попробуем восстановить письмо из БД восстановления в действующий почтовый ящик пользователя (создав в нём отдельную папку) с помощью Exchange Management Shell и командлета Restore-Mailbox:

Restore-Mailbox -Identity "Артур Пирожков" -RecoveryDatabase "KOM-AD01-RecoveryDB" -RecoveryMailbox "Артур Пирожков" -TargetFolder "Recovery" -SubjectKeywords "предложение"

image

После того, как командлет отработает, откроем почтовый клиент от имени многострадального пользователя и убедимся в том, что появилась папка Recoverу, в которой в подпапке Входящие восстановлено нужное нам удалённое письмо:

image

После того как восстановленное письмо перенесено пользователем в нужную ему папку, можно удалить папку 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"

 

Дополнительная информация:

Всего комментариев: 4 Комментировать

  1. Обратная ссылка: Защита Exchange 2010 DAG с помощью DPM 2010 « Точка восстановления /

  2. Алексей Максимов /

    Ряд полезных замечаний к этой заметке в своём блоге описал Егор Старцев:
    http://ystartsev.wordpress.com/2011/02/28/exchange-2010-dag-protection-dpm-2010/

  3. Gagarin /

    Исчерпывающий Howto. Спасибо!

  4. Алексей /

    Спасибо за заметку. Есть замечание к этому:

    Помимо этого можно выполнить восстановление всего содержимого удалённого ящика (и даже уже не существующего в 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"

Добавить комментарий