Новости

Back to the future: відновлюємо Exchange з архівів

Стандартна процедура резервного копіювання передбачає відновлення оперативних даних Стандартна процедура резервного копіювання передбачає відновлення оперативних даних. Якщо ж надходить запит на відновлення архівних даних, то завдання ускладнюється. Пов'язано це з тим, що крім самих даних необхідно відновити / відтворити інфраструктуру актуальну на момент створення резервної копії.

Завдання - відновити деякі поштові ящики з архіву, в які поміщена резервна копія поштової бази, зроблена чотири роки тому.

Відправна точка - визначення актуальної версій Exchange на момент створення резервної копії баз. Для цього можна подивитися білд будь-якого бінарного файлу, наприклад store.exe, з резервної копії. За номером билда визначається версія, сервіс пак і пакет накопичувальних оновлень згідно з таблицею звідси .

Після цього приступаємо до розгортання віртуальної середовища, що копіює корпоративну на момент зняття архівної резервної копії. При відтворенні важливі такі моменти:

  • DNS / Netbios імена домену, в якому буде знаходиться відновлюваний Exchange, повинні збігатися з реальними іменами, які були на момент зняття резервної копії
  • Ім'я нової розгортається організації Exchange має збігатися з ім'ям організації Exchange на момент зняття резервної копії

Виконання цих двох умов досить для успішного відновлення. Щоб не плутатися можна так само:

  • Ім'я контролера домену взяти той же, що було у одного з контролерів домену на момент зняття резервної копії
  • Ім'я сервера Exchange взяти той же, що і у одного з серверів, на яких знаходилися бази на момент зняття резервної копії

У моєму випадку знадобилося 3 віртуальні машини:

  • контролер домену
  • Сервер Exchange 2007
  • Клієнт з встановленим Outlook 2007

Необхідність використання третьої віртуальної машини пов'язана з тим, що використання командлет Export-Mailbox -PSTFolderPath неможливо на сервері Exchange. Необхідний клієнт з встановленим Outlook 2003 sp2 і старше.

Варіант з побудовою інфраструктури з нуля в віртуальному середовищі менш трудомісткий в порівнянні з відновленням з резервної копії контролера домену та сервера Exchange, так як таке відновлення тягне за собою необхідність вичищати з AD ті контролери домену, які ми не стали відновлювати. Ця процедура при наявності декількох контролерів домену, кількох доменів, окремих дерев може бути дуже трудомісткою і зайняти багато часу. Набагато простіше побудувати в віртуальному середовищі все з нуля з виконанням умов зазначених вище.

Отже. У нас має новий ліс, чиє dns-ім'я збігається з реальним лісом 4 роки тому. У нас встановлено сервер Exchange з білдом актуальним 4 роки тому і ім'я поштової організації збігається з тим, яке було 4 роки тому. Крім цього з резервної копії відновлені edb-файли і логи. Що далі?

Далі, використовуючи Recovery Storage Group (RGS) / Recovery Database, ми підключаємо відновлені бази, відновлюємо з них потрібний поштовий ящик і вивантажуємо його в pst-файл.

Для різних версій Exchange кроки будуть трохи відрізнятися:

Exchange 2003

  1. Створюємо RGS + поштову базу в ній
  2. Підміняємо файл бази файлом з резервної копії
  3. Відновлюємо ящик в будь-який новий ящик, створений у віртуальному середовищі
  4. Вивантажуємо ящик в pst за допомогою утиліти ExMerge

Exchange 2007

  1. Створюємо RGS + поштову базу в ній
  2. Підміняємо файл бази файлом з резервної копії
  3. Відновлюємо ящик в будь-який новий ящик, створений у віртуальному середовищі
  4. Вивантажуємо ящик в pst за допомогою командлета Export-Mailbox

Exchange 2010

  1. Створюємо Rrecovery Database (RD)
  2. Підміняємо файл бази файлом з резервної копії
  3. Відновлюємо ящик в будь-який новий ящик, створений у віртуальному середовищі
  4. Вивантажуємо ящик в pst за допомогою командлета New-MailboxExportRequest

Кроки для всіх версій схожі - відрізняється лише спосіб вивантаження ящика в pst-файл. Крім цього, перед початком відновлення необхідно перевести бази в стан Clean Shutdown, інакше їх не вийде подмонтировать. Робиться це за допомогою утиліти eseutil. Файли ese.dll, eseback2.dll, esebcli2.dll і eseutil.exe має сенс скопіювати в папку де зберігаються логи і відновлювана база.

Далі описується процедура відновлення бази для Exchange 2007.

0. Підготовка відновленої бази

Для початку дивимося чи дійсно база знаходиться в стані Dirty Shutdown:

eseutil.exe / MH MailboxDatabase.edb

У висновку утиліти цікавить наступний шматок:

dbtime: 204 (0xcc) State: Dirty Shutdown Log Required: 98865-98883 (0x18231-0x18243)

До запуску процедури відновлення перевіряємо так само стан балок для це бази:

eseutil.exe / ML EXX

Тут EXX - загальний шістнадцятковий префікс лог-файлів. Утиліта перевірить лог-файли і якщо не знайде помилок - ми можемо приступати до подальшого відновлення:

eseutil.exe / R EXX

Якщо якісь лог-файли будуть відсутні, то команда поверне помилку JET_errCommittedLogFilesMissing. Щоб запустити переклад бази в Clean Shutdown, не звертаючи на втрату логів, використовуємо ключ / I:

eseutil.exe / R EXX / I

По завершенні база буде готова для підміни в RGS / RD:

eseutil.exe / MH MailboxDatabase.edb ... dbtime: 204 (0xcc) State: Clean Shutdown Log Required: 98865-98883 (0x18231-0x18243)

1. Створення RGS і бази в ній

В Exchange 2007 бази можна створити через EMS. Процедура виглядає наступним чином :

New-StorageGroup -Server MBX -LogFolderPath E: RGS -Name RGS -SystemFolderPath E: RGS -Recovery New-MailboxDatabase -MailboxDatabaseToRecover MailboxDatabase -StorageGroup MBXRSG -EDBFilePath E: RGSMailboxDatabase.edb

Важливо створити базу з тим же ім'ям, що і база з резервної копії. Тоді не доведеться змінювати в конфігурації бази шляху до імен файлів.

Set-MailboxDatabase -Identity MBXRSGMailboxDatabase -AllowFileRestore: $ True

Процедуру так само можна проводити через Troubleshooting Assistant .

RGS і база створені. База поки не подмонтіровать. Ми готові до помене файлу бази на файли з резервної копії.

2. Підміна файлу бази

Файл бази підміняється файлом з резервної копії через будь-який файловий менеджер. Після цього база монтується:

Mount-Database -Identity MBXRSGMailboxDatabase

Якщо база з резервної копії переведена в стан Clean Shutdown, у властивостях бази з RGS дозволена її перезапис при відновленні і імена баз збігаються, то база повинна подмонтіровать без будь-яких проблем.

3. Відновлення ящика

Процедура відновлення передбачає, що ми створили поштову скриньку, в який буде розвантажуватися інформація з резервної копії. Якщо ящик не створений - необхідно його створити. Далі запускаємо процедуру відновлення:

Restore-Mailbox -RSGMailbox OldMailbox -RSGDatabase MBX4RSGMailboxDatabase -Identity NewMailbox -TargetFolder "Recovered data"

Тут OldMailbox - ящик, який ми відновлюємо, NewMailbox - новий ящик, який ми тільки що створили, а Recovered Data - папка в корені NewMailbox - куди буде відновлена ​​інформація з ящика OldMailbox.

4. Вивантаження ящика в PST- файл

В Exchange 2007 процедура вивантаження в PST вимагає бінарних файлів Outlook. Тому необхідний клієнт на якому будуть встановлений Exchange Management Shell і Outlook 2003 sp2 або старше. Вивантаження в PST робиться за допомогою такої команди:

Export-Mailbox -Identity NewMailbox -PSTFolderPath E: PST

Не забуваємо, що для Restore / Export-Mailbox існує ключ BadItemLimit, який може стати в нагоді, якщо нам попадуться биті елементи.

Так, мало не забув. Для зовсім ледачих існує спеціальне програмне забезпечення для вивантаження ящиків з edb-файлів прямо в pst. Наприклад, OnTrack PowerControls.

Корисні посилання :
Exchange Server and Update Rollups Build Numbers
Why Exchange Databases Might Remain Dirty After ESEUTIL / R Recovery
How to Recover a Mailbox by Using a Recovery Storage Group
Working with Recovery Storage Groups in Exchange 2007
How to Export and Import mailboxes to PST files in Exchange 2007 SP1

Що далі?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

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