среда, 11 мая 2016 г.

Восстановление данных в хранилище MS Exchange 2010 при помощи базы данных восстановления из резервной копии Symantec Backup Exec

Не секрет, что, при наличии соответствующего агента, Symantec Backup Exec умеет точечно восстанавливать элементы почтовых ящиков при помощи технологии GRT (Granular Recovery Technology). Но, в случае необходимости восстановления довольно большого числа элементов из нескольких почтовых ящиков или же просто нескольких почтовых ящиков целиком, такое восстановление может быть сопряжено с определенными трудностями.
Например, в моей практике бывало, что периодически во время восстановления почтового беспричинно «падала» служба удаленного клиента Backup Exec. В результате задание восстановления аварийно завершалось с ошибкой и процесс восстановления приходилось начинать заново. А так как Symantec Backup Exec перед восстановлением отдельного почтового ящика фактически восстанавливает само хранилище целиком, то при значительном размере целевого хранилища этот подготовительный процесс занимает довольно длительное время.
В общем, как показала практика, в таком случае гораздо разумнее и быстрее воспользоваться механизмом создания из резервной копии базы данных восстановления, из которой затем вытащить нужные данные. Об этом и пойдет речь ниже.


Итак, начнем с восстановления хранилища из резервной копии.


Рис. 1 - Выбор данных для восстановления

Укажем параметры восстановления в альтернативное местоположение


Рис. 2 - Выбор альтернативного места восстановления

В соответствующем разделе снимаем галочку «Выполнить фиксацию после завершения восстановления»
Рис. 3 - Дополнительные параметры восстановления



И запускаем задание восстановления.
После завершения задания восстановления для упрощения дальнейшей работы переместим восстановленное хранилище в одну папку с восстановленными лог-файлами.
После восстановления хранилища, проверим его состояние командой, предварительно перейдя в папку с восстановленными файлами
Eseutil /mh DatabaseName
В нашем случае вывод результата команды показал, что восстановленное хранилище находится в состоянии Dirty Shutdown.
Рис. 4 - Состояние хранилища

Так как для работы с хранилищем нужно, чтобы оно было в состоянии Clean Shutdown, то выполним мягкое восстановление поврежденного хранилища. Для этого запускаем следующую команду:
Eseutil /R E02 /D
Ключ /R указывает на проведение процедуры «мягкого» восстановления
Ключ /D указан без пути, поэтому качестве пути к файлам базы данных будет использован текущий каталог
Параметр E02 указывает на префикс наших лог-файлов.

Рис. 5 - "Мягкое" восстановление хранилища

После отработки данной команды восстановленная база данных перешла в нужное для дальнейшей работы с ней состояние

Рис. 6 - Состояние хранилища после процедуры "мягкого" восстановления
Если процедура "мягкого" восстановления завершается ошибкой, можно попробовать провести восстановление командой Eseutil с ключем /P (подробнее)
После этого создадим базу данных восстановления при помощи командлета New-MailboxDatabase
New-MailboxDatabase –Recovery –Name RDB –Server MX02–EdbFilePath "D:\RecoveryDataBases\Exchange Server\CentralOfficeStorage.edb" –LogFolderPath "D:\RecoveryDataBases\Exchange Server\"
Иногда работа данной команды может прерваться такой ошибкой:
Рис. 7 - Ошибка команды

Происходит это в случае, когда команде приходится обрабатывать очень большой объем лог-файлов. Усечение объема лог-файлов происходит при выполнении процедуры резервного копирования, либо при использовании циклического логирования. В отдельных случаях можно удалить лог-файлы вручную (перед удалением вручную убедитесь, что все данные из лог-файлов помещены в хранилище). 
В нашем же случае достаточно создать пустую папку Logs, которую и указать в качестве целевой для поиска лог файлов:
New-MailboxDatabase –Recovery –Name RDB –Server MX02–EdbFilePath "D:\RecoveryDataBases\Exchange Server\CentralOfficeStorage.edb" –LogFolderPath "D:\RecoveryDataBases\Exchange Server\Logs\"
                Теперь команда отрабатывает корректно, попутно еще раз предупреждая о необходимости перевода базы данных в состояние Clean Shutdown перед дальнейшей работой с ней:
Рис.8 - Создание базы данных восстановления

После создания хранилища монтируем его командой
Mount-Database RDB
Теперь можно приступать к переносу данных из почтовых ящиков в базе данных восстановления (список ящиков в хранилище можно узнать, выполнив команду Get-MailboxStatistics -Database RDB) в рабочую базу данных. 
Для этого используется командлет New-MailboxRestoreRequest
New-MailboxRestoreRequest –SourceDatabase RDB –SourceStoreMailbox "Иванов Иван" –TargetMailbox ivanov@domain.com

Проверить состояние запросов восстановления можно выполнив команду:
Get-MailboxRestoreRequest | Get-MailboxRestoreRequestStatistics

Удалить завершенные запросы можно выполнив команду:
Get-MailboxRestoreRequest -Status Completed | Remove-MailboxRestoreRequest
          
После завершения процедуры восстановления отсоединяем базу данных восстановления выполнив команду:
Dismount-Database RDB
После чего удаляем ее:
Remove-MailboxDatabase RDB

Использованные источники:
https://www.windows-noob.com/forums/topic/3975-exchange-2010-and-symantec-backup-exec-restore-scenarios/
http://system-administrators.info/?p=6167
http://www.alexxhost.ru/2010/04/exchange-2010_18.html

Комментариев нет:

Отправить комментарий