Посмотреть как работает DPM в связке с Exchange 2010

Практическая заметка, как используя сервис Data Protect Manager on Server 2012 R2 Std осуществлять резервное копирование почтовых баз данных почтового сервера Exchange 2010. Как восстанавливать базу, почтовые ящики, письма из почтовых ящиков.

План:

1) Server 2012 R2 (AD,DNS,DHCP)

Hostname: srv-dc.polygon.com

2) Развернуть на Server 2008 R2 Exchange 2010

Hostname: srv-mail.polygon.com

3) Server 2012 R2 Std (DPM)

Hostname: srv-backup.polygon.com

4) Server 2012 R2 Std (SQL Server)

Тестовый стенд базируется на гипервизоре Debian 10 + Proxmox 6

Создана сеть vmbr1:

Адресация: 10.90.90.0/24

Выход в интернет осуществляется через шлюз pfsense 2.4.4

На заметку: Читающим данную заметку следует сперва почитать всю имеющуюся в свободном доступе информацию по сервису и не один раз, что у меня — а только потом приступать к реализации у себя. Это чтобы у Вас сложилось понимание, что и как и зачем. По возникающим вопросам обращаться ко мне в Telegram: aka_ekzorchik или на почту support@ekzorchik.ru чем смогу тем помогу.

Приступим:

Шаг №1: Создана VM внутри с операционной системой Windows Server 2012 R2 Std (Version 6.3.9600) на которой развернут домен (polygon.com) контроллер + роли DNS, DHCP.

  • RAM = 4Gb
  • HDD = 50Gb
  • CPU = 2 (1 sockets, 2 cores)
  • IP: 10.90.90.3
  • Hostname: srv-dc.polygon.com

Шаг №2: Создана VM внутри с операционной системой Windows Server 2008 R2 Std (Version 6.1.7601) на которую устанавливаю почтовый сервер

  • RAM = 6Gb
  • HDD = 70Gb
  • CPU = 2 (1 sockets, 2 cores)
  • IP: = 10.90.90.10
  • Hostname: srv-mail.polygon.com

tips_server_2008_r2_exchange_2010_14_03_0123_003_v1.odt

Шаг №3: Настроен Exchange 2010 на обслуживание домена polygon.com

Шаг №4: На системе srv-backup

Шаг №5: Добавляю к VM srv-backup еще один диск размером в 100Gb и по заметке «Как добавить Storage в DPM 2012 R2»

добавляю его в DPM

Шаг №6: На srv-mail по заметке «Как устанавливается агент Data Protection Management» устанавливаю агент. Но при прохождении всех шагов на этапе установки агента получаю ошибку

Install protection agent on SRV-MAIL.polygon.com - Failed

Ошибка установки DPM агента на Windows Server 2008 R2

если перейти на вкладку Tasks то вижу что требуется:

Install protection agent on SRV-MAIL.polygon.com failed:

Error 33241: Microsoft .NET Framework 4 not installed on this computer.

Recommended action: Install Microsoft .NET Framework 4 and retry the operation.

Нужно на Server 2008 R2 установить .NET Framework 4

Требуется на Windows Server 2008 R2 Std установить пакет Microsoft .NET Framework 4

Проделываю необходимое, пакет именуется, как

dotNetFx40_Full_x86_64.exe

После перезагружаю систему.

Шаг №7: Возвращаюсь к «Шаг №6» по установке агента DPM на систему srv-mail.polygon.com и агент успешно устанавливается.

Шаг №8: Настраиваю в srv-backup оснастке System Center 2012 R2 DPM Administrator Console резервное копирование Exchange баз(ы).

Protection - New -

  • Select protection group type: Servers и нажимаю Next
  • Select group members: разворачиваю polygon.com - SRV-MAIL - Exchange 2010 Databases - и отмечаю почтовую базу DB01

см. скриншот для наглядного понимания

и нажимаю Next

Предопределяю базу которую нужно бекапировать

Select data protection method:

  • Protection group name: ExchangeDatabase
  • I want short-term protection using: Disk

и нажимаю Next

Выбираю метод резервного копирования

Specify exchange protection options:

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

и нажимаю Next

Метод проверки базы данных пока не указываю

Specify Exchange DAG protection:

Т.к. у меня нет DAG, то нажимаю Next

Т.к. у меня нет DAG, то нажимаю Next

Select short-term goals:

  • Retention range: 5 days
  • Synhronization frequency: Every 15 minutes (В продуктиве уже по своему усмотрению)
  • Express Full Backup: 20:00 Everyday

и нажимаю Next

Количество дней хранения резервной копии, как часто делать снимки

Review disk allocation:

  • Automatically grow the volumes: отмечаю галочкой

и нажимаю Next

Информацию о занимаемом месте бекапируемым

Choose replica creation method:

  • Automatically over the network: отмечаю
  • Now: отмечаю

и нажимаю Next

Когда делать реплику или начать делать

Choose consistency check options:

  • Run a consistency check if a replica becomes inconsistent: отмечаю

и нажимаю Next

Автоматическая проверка консистентности

Summary:

Проверяю результирующие настройки сделанные выше и если все нормально, то нажимаем «Create Group»

См. результирующие настройки если все хорошо, то нажимаем создать Create Group

Status:

итог созданной группы должен быть Success

и нажимаю Close

Итог создания группы

и с учетом моих настроек сейчас происходит резервное копирование, ожидаю…

Ожидаю создания первого снимка базы

Создание резервное копии завершилось успешно:

Успешно

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

Содержимое в забекапленном

Шаг №9: Чтобы восстановить из резервной копии DPM нужно на почтовом сервере srv-mail.polygon.com создать специализированную базу данных Exchange (Recovery Mailbox Database (RDB)).

Создаю на логическом диске D:\ каталог RDB и внутри него еще один с именем Logs.

На заметку: Если есть возможность, то создаем отдельный LUN и цепляем его на почтовый сервер где создаем каталог с данной базой данных. Важно чтобы место было больше чем размер каждой почтовой базы. Если это VM то из пула дискового места добавляем еще один диск. Короче, просто нужен отдельный диск под это дело (операцию восстановления)

Шаг №10: Создаем базу данных либо через GUI консоль Exchange Management Console:

Microsoft Exchange - Microsoft Exchange On-Premisses (srv-mail.polygon.com) - Organization Configuration - Mailbox — вкладка Database Management - New Mailbox Database

  • Mailbox database name: RDB
  • Server name: Browse - выбираю почтовый сервер srv-mail и нажимаю OK окна "Select Mailbox Server", потом Next мастера, теперь указываю месторасположение файла базы данных и его лог файла от дефолтного с учетом пункта 1:
  • Database file path: D:\RDB\RDB.edb
  • Log folder path: D:\RDB\Logs
  • Mount this database: не отмечаю галочкой

Нажимаю Next, New, Finish

Затем открываю свойства Properties созданной почтовой базы и на вкладке Maintenance отмечаю галочкой:

  • This database can be overwritten by a restore: отмечаю галочкой

после нажимаю Apply, OK окна «RDB Properties»

либо через Exchange Management Shell

12345[PS] C:\Windows\system32> New-MailboxDatabase -Recovery -name RDB -Server SRV-MAIL -EdbFilePath ‘D:\RDB\RDB.edb’ -LogFolderPath ‘D:\RDB\Logs’ [PS] C:\Windows\system32> Set-MailboxDatabase -Identity ‘RDB’ -AllowFileRestore $true. WARNING: The command competed successfully but no settings of ‘RDB’ have been modified.

База создана, но находится в режиме Dismounted так и должно быть когда восстанавливаем из бекапа.

На заметку: от 09.07.2020 Нужно создавать базу через консоль тогда отрабатывает восстановление из DPM.

Шаг №11: Переходим на сервер с сервисом DPM (srv-backup.polygon.com), авторизуюсь с административной учетной записью (Login: ekzorchik), запускаю консоль System Center 2012 R2 DPM Administrator Console - Recovery, выбираю базу которая бекапируется, отмечаю дату и слепок на который хочу восстановить, затем указываю что восстанавливать, я хочу восстановить почтовый ящик alektest2 на 01.04.2020 20:23

Производим восстаноление ящика

Выделяю (Recoverable item) alektest2 и нажимаю Recover, далее запускается мастер «Recovery Wizard»

Review recovery selection: нажимаю Next

  • Select recovery type: отмечаю Recover mailbox to an Exchange server database

На заметку: Но можно указать сетевой путь куда развернуть «Copy to a network folder» базу Exchange, а после ее уже средствами Exchange смонтировать.

и нажимаю Next

  • Exchange Server: Browse - polygon.com отмечаю SRV-MAIL и нажимаю OK окна "Specify Alternate Recovery Destination"
  • Database name: RDB

и нажимаю Next

на шаге Specify recovery options если есть возможно можно указать послать email уведомление о завершении операции

и нажимаю Next

на шаге Summary ознакамливаюсь с результирующей по выбору выше

Результирующая процесса восстановления

и нажимаю Recovery

На заметку:

Если галочка, что перезаписывать почтовую базу не стоит при восстановлении Вы получите ошибку: An unexpected error occurred while the job was running. (ID 104)

Вот только процесс восстановления завершается ошибкой:

Recovery failed for Exchange Mailbox Database DB01 on srv-mail.polygon.com as the specified database is not a recovery database. (ID 32624)

У базы RDB нет отметки что ее перезаписывать

Решение ошибки: Это ошибка возникает тогда если при создании базы RDB вы поставили галочку смонтировать ее.

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

Если возникает ошибка:

Recovery failed for Exchange Mailbox Database DB01 because the overwrite flag is not set for RDB on srv-mail.polygon.com. (ID 30174)

Решение ошибки: Установить на базе RDB галочку что можно перезаписывать и убедиться, что база не примонтирована.

Шаг №12: Итак почтовый ящик восстановлен из резервной копии в базу RDB. Теперь его нужно восстановить в созданную папку исходного почтового ящика где сейчас находится почтовый ящик, т.е. DB01. Действия проделываю на почтовом сервере где нужно запустить Exchange Management Shell.

Проверяю содержимое в восстановленного в почтовую базу RDB: (вот только база должна быть смонтирована)

1[PS] C:\Windows\system32> Get-MailboxStatistics -Database RDB
Содержимое восстановленного в базе RDB

А для восстановления база RDB должна быть не смонтирована:

123456789[PS] C:\Windows\system32> Restore-Mailbox -Identity ‘alektest2’ -RecoveryDatabase “RDB” -RecoveryMailbox “alektest2” -TargetFolder “Recovery” Confirm Are you sure you want to perform this action? Recovering mailbox content from mailbox ‘alektest2’ in the recovery database ‘RDB’ to the mailbox for ‘alektest2 <alektest2@polygon.com>’. This operation may tak a long time to complete. [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is “Y”): A

Шаг №13: Чтобы проверить, а действительно ли было восстановление, можно на текущую систему srv-mail.polygon.com установить браузер Google Chrome, затем опираясь на заметку «Полный доступ к почтовому ящику на Exchange 2010«дать полные права на почтовый ящик alektest2 доменной учетной записи ekzorchik и открыв URL (https://srv-mail/owa/alektest2@polygon.com) в строке браузера увидеть содержимое почтового ящика alektest2@polygon.com

Ниже наглядный скриншот того, что создана папка и в нее произведено полное восстановление из базы RDB почтового ящика на 01/04/2020

Восстановленный почтовый ящик в оригинальный, как папка с содержимым

Шаг №14: Допустим нужно восстановить конкретное письмо где наименование письма содержит слово «test«:

a) База RDB должна быть создана, поставлена галочка что перезаписывать и не смонтирована

б) восстанавливаем на нужную дату и время бекап

в) производим

1[PS] C:\Windows\system32> Restore-Mailbox -Identity ‘alektest2’ -RecoveryDatabase “RDB” -RecoveryMailbox “alektest2” -TargetFolder “RecoveryMessage” -SubjectKeywords “test”

Результат:

Восстановленное письмо

Шаг №15: Допустим нужно восстановить конкретное письмо где наименование письма содержит слово «test«, содержимое письма содержит слово test и каталоги.

-SubjectKeywords "test" -ContentKeywords "test" -IncludeFolders \Inbox,\Calendar

Шаг №16: Если есть почтовый ящик, к примеру alektest3 и в него нужно выполнить полное восстановление всего почтового ящика alektest2@polygon.com

RDB - Mounted: Mounted

1[PS] C:\Windows\system32> Restore-Mailbox “alektest3” -RecoveryDatabase “RDB” -RecoveryMailbox “alektest2” -TargetFolder “Full recovery”
Восстановленный ящик в другой ящик

Шаг №17: Массовое восстановление всех почтовых ящиков в базе данных почтовых ящиков DB01

1[PS] C:\Windows\system32> Get-Mailbox -Database DB01 | Restore-Mailbox -RecoveryDatabase RDB

вот только у меня она что-то не отрабатывает в тестовых условиях пишет:

Массовое восстановление не отрабатывает

Шаг №18: Если почтовый ящик был отключен от пользователя alektest2, то как его восстановить из бекапа, т.е. выполнить полное слияние резервной копии всего почтового ящика с имеющимся. Нужно подключить к нему ящик из списка отключенных:

Exchange Management Console - Recipient Configuration - Disconnected Mailbox — находим ящик alektest2 затем через правый клик мышью на нем выбираю Connect и указываю доменную учетную запись и алиас (alektest2) и все ящик подключен. Теперь заменяю содержимое подключенного ящика на тот что из бекапа:

RDB - Mounted: Mounted

1[PS] C:\Windows\system32> Restore-Mailbox -Identity alektest2 -RecoveryDatabase “RDB”

Шаг №19: В самом конце процедуры восстановления нужно: Размонтировать и удалить Database: RDB

123[PS] C:\Windows\system32> Dismount-Database “RDB” [PS] C:\Windows\system32> Remove-MailboxDatabase “RDB”

Итого я задокумментировал для себя, как работает DPM по бекапированию почтовых баз и как происходит процедура восстановления. Если у меня будут какие-либо нюансы от этой заметки я буду ее дополнять или же отдельной заметкой описывать их.

На этом у меня всё, с уважением, автор блога Олло Александр aka ekzorchik.