Система с Exchange 2000 Server среднего или большого размера требует для восстановительных операций наличия специального сервера. Сервер восстановления можно задействовать в качестве замены аппаратного обеспечения в случае сбоя работающего сервера, но чаще он используется для извлечения информации, удаленной из базы данных Exchange 2000 на каком-нибудь сервере. Чтобы воссоздать данные почтового ящика, потребуется настроить сервер с большим дисковым пространством и тем же программным обеспечением, что и на рабочих серверах Exchange 2000. В этой статье я расскажу о том, как создать сервер восстановления.

Использование сервера восстановления

Несколько примеров данных Exchange, которые может потребоваться восстановить:
  • удаленный по ошибке почтовый ящик (после того как истек срок восстановления удаленных элементов);
  • один или несколько почтовых ящиков или элементов (может понадобиться восстановить все сообщения за определенный период, т. е. придется использовать несколько резервных копий, чтобы не пропустить ни одного сообщения);
  • общая папка, которая была удалена;
  • специфичные элементы, которые были удалены и не могут быть восстановлены простыми средствами;
  • почтовые ящики вышедшего из строя сервера (чтобы сохранить данные в файле личных папок (PST), а затем загрузить их на восстановленном сервере).

Также можно использовать сервер восстановления для запуска утилит обслуживания баз данных на резервных копиях для проверки целостности данных и тестирования резервных копий. Например, в системном журнале событий приложений фиксируется ошибка 1018 (JET_errReadVerifyFailure). Обычно такая ошибка указывает на наличие аппаратных проблем с диском, на котором содержатся базы. Можно развернуть резервную копию на сервере восстановления и запустить утилиту Eseutil для проверки состояния базы данных. Если база данных в порядке, следует проверить аппаратное обеспечение, чтобы найти причину ошибки 1018. Если Eseutil показывает, что некоторые страницы содержат ошибки, такие, как нарушения контрольных сумм, это говорит о наличии серьезных проблем в базе данных, и замены аппаратного обеспечения не требуется. Необходимо использовать возможности Move Mailbox или утилиты ExMerge для перемещения почтовых ящиков и данных на другой сервер, прежде чем база данных перестанет работать.

Сервер восстановления дает возможность определить, насколько долго Eseutil обрабатывает базу (т. е. как долго рабочий сервер будет функционировать в автономном режиме, без обслуживания пользователей) и сколько места займет обработанная база. Также сервер восстановления позволяет тестировать дополнительные программные продукты, такие, как средства резервного копирования или антивирусы, без привлечения реального сервера. Многие продукты прекрасно работают в демонстрационной среде с ограниченными данными и начинают давать сбой на реальной системе в промышленной среде.

Аппаратная и программная среда

Прежде всего необходимо определиться с аппаратным обеспечением для сервера восстановления. Многопроцессорный сервер с высокопроизводительной дисковой подсистемой, аналогичный установленному в рабочей среде, не понадобится. Сервер восстановления должен соответствовать следующим требованиям:
  • иметь достаточно места на диске для размещения больших баз, которые может потребоваться восстановить. В качестве альтернативы можно рассматривать систему, в которую при необходимости добавляются диски;
  • использовать то же программное обеспечение для резервного копирования, что и на рабочем сервере. Это позволит читать ленты, созданные на рабочем сервере;
  • на сервере должны быть установлены те же версии (включая все исправления и пакеты обновлений) Windows и Exchange, что и на рабочих серверах.

Если потребуется восстанавливать файлы PST с вышедшего из строя диска, серверу может понадобиться много дискового пространства. Exchange 2000 не заставляет пользователей удалять сообщения из хранилищ PST, оставаясь в рамках квот. Поэтому пользователи обычно хранят свои сообщения в «Личных папках». Большое количество личных файлов затрудняет восстановление, так что не стоит рассматривать такую процедуру, как обязательную, в рамках регламента восстановительных работ.

Наличие подходящего сервера восстановления — только часть проблемы. Знать, как восстанавливать данные быстро и эффективно, — совсем другое дело.

Восстановление хранилища почтовых ящиков

Поскольку Exchange 2000 в большой степени зависит от Active Directory (AD), для почтовых ящиков и настроек необходимо выполнить действия, относящиеся к AD, прежде чем появится возможность доступа к почтовым ящикам, развернутым на сервере восстановления. Основные требования следующие: сервер восстановления должен находиться в отличном от исходного сервера лесу AD. Имена лесов могут различаться, и два леса могут разделять одну сеть. Сервер восстановления должен быть установлен в другую организацию Exchange, но с тем же именем. Нужно помнить, что лес может иметь только одну организацию Exchange. Поэтому установка сервера восстановления в другой лес позволяет избежать накладок с рабочими серверами. Также необходимо установить для пользователей запрет на вход на сервер восстановления и доступ к его данным, когда администратор сам проводит на нем работы. О том, как это сделать, рассказано в статье Тони Редмонда «Блокировка доступа пользователей к Exchange Server», опубликованной в предыдущем номере нашего журнала.

После установки Exchange 2000 на сервере восстановления, прежде чем производить на нем регулярные процедуры восстановления, следует выполнить некоторые действия. Во-первых, нужно использовать Exchange System Manager (ESM) для изменения логических имен групп хранилищ и баз данных на сервере восстановления для совпадения этих имен с соответствующими именами на исходном сервере (имена требуются при создании групп хранилищ и баз данных). Имена должны совпадать полностью, включая имя исходного сервера, если оно упоминается в имени базы данных, а имена объектов на уровень ниже (например, mailbox.edb) могут отличаться. Использование простых имен для групп хранилищ и баз данных в организации уменьшает вероятность совершения ошибок. На Экране 1 показана часть окна ESM с логическими именами хранилищ и физическими именами файлов.

Экран 1. Логическое и физическое имя базы данных.

Во-вторых, нужно переписать базу на сервере восстановления базой данных с исходного сервера. Для этого с помощью ESM следует в свойствах целевой базы данных разрешить перезапись файлов при восстановлении (как показано на Экране 2). Если резервирование выполняется в автономном режиме, то данные копируются на определенный момент времени, и на сервере восстановления не требуется повторять транзакции из журналов для добавления всех изменений, произошедших после резервирования. Поэтому существующие базы данных и журналы можно удалить, а затем записать данные из комплекта резервной копии. Но установить возможность перезаписи в свойствах баз данных следует даже при использовании резервирования в автономном режиме.

Экран 2. Включение перезаписи базы данных.

В-третьих, прежде чем восстанавливать данные, нужно убедиться в том, что значение атрибута AD с именем legacyExchangeDN для административной группы и организации совпадает со значением этого атрибута на исходном сервере. Exchange 2000 использует атрибут legacyExchangeDN для идентификации объектов и гарантированной обратной совместимости элементов с предыдущими версиями, в том числе с Messaging API (MAPI). В случае с сервером восстановления успешность процедуры зависит от того, насколько хранилище соответствует AD, поскольку база данных при монтировании регистрируется в AD. Самый простой способ, гарантирующий совпадения значений для административной группы и организации, — назначить те же параметры исходного сервера при установке Exchange 2000 на сервере восстановления. Однако если в организации уже установлен сервер Exchange 2000 с другим значением legacyExchangeDN, можно использовать утилиту LegacyDN из папки utils oolsi386 комплекта Exchange 2000 Service Pack 1 (SP1) или старше для присвоения нужного значения перед процедурой восстановления данных. По существу, создается копия исходной системы. Необходимые изменения можно внести с помощью утилит Lightweight Directory Access Protocol (LDAP), таких, как ADSI Edit или Ldifde, но проще воспользоваться LegacyDN.

Не стоит запускать LegacyDN в рабочей среде. В этом случае легко допустить ошибку, которая может повлиять на организацию Exchange, после чего придется восстанавливать AD и все серверы Exchange 2000.

На Экране 3 показано, как работает утилита LegacyDN. В примере сервер восстановления — restoreserver в домене restoredomain.com. При запуске LegacyDN на сервере утилита сканирует AD и ищет существующие административные группы. Можно выбрать административную группу и изменить атрибут на то значение, которое необходимо для восстановления базы данных. Можно восстановить базу с ленты без изменения этих значений, но процесс Store не будет монтировать восстановленную базу, поскольку у нее legacyExchangeDN с текущим значением не совпадет.

В примере на Экране 3 показано, что база данных восстанавливается из административной группы NSIS European Messaging Team в организации Compaq. Для применения этих значений после их ввода в соответствующие поля следует нажать на Change Leg. После этого надо перезапустить процесс Store, для того чтобы эти изменения возымели действие. Атрибут legacyExchangeDN будет изменен с

/O=Compaq/OU=First Administrative Group

на

/O=Compaq/OU=NSIS European Messaging Team.

Экран 3. Использование утилиты LegacyDN.

Если значение атрибута legacyExchangeDN для административной группы на исходном сервере неизвестно, его можно прочитать с помощью утилиты ADSI Edit в конфигурационном контейнере Microsoft Exchange. На Экране 4 показан результат работы ADSI Edit при просмотре контекста AD в контейнере Services — Microsoft Exchange — организация. Каждая административная группа является подуровнем для контейнера организации. Следует выбрать административную группу, где расположен исходный сервер, и посмотреть ее свойства. Выбрав атрибут legacyExchangeDN из выпадающего списка, нужно записать полученное значение. В нашем примере значение равно

/O=Compaq/OU=NSIS European Messaging Team

Можно увидеть, что атрибуты Exchange 2000 сохраняют совместимость с Exchange Server 5.5, где за именем организации также следует имя узла.

После назначения соответствующего legacyExchangeDN можно приступать к восстановлению базы данных. Сначала следует размонтировать базу данных на сервере восстановления и воссоздать резервную копию исходного сервера, перезаписав файлы баз данных на диске.

Далее необходимо проверить журнал Application и убедиться, что утилита восстановления или Extensible Storage Engine (ESE) справилась со своей задачей, и восстановленная база была смонтирована. Часто происходит сбой, когда имя базы из резервной копии отличается от имени целевой базы или когда Store не может смонтировать базу данных после успешного восстановления из-за несовпадения значения legacyExchangeDN в восстановленной и целевой базах.

В этом случае Store регистрирует в журнале Application событие с ID 1088: «The information store could not be loaded because the distinguished name-DN-of message database /O=old_org_name/OU=old_site_name/ CN=RECIPIENTS/CN= does not match the DN of directory /O=new_org_name/OU=new_site_ name/CN=RECIPIENTS/CN=.»

Соответствие учетных записей и почтовых ящиков

Если нужно подключить базу с ящиками, к которым необходим доступ, сначала следует ассоциировать их с учетными записями AD, а затем открыть с помощью программного обеспечения клиента и получить доступ к информации. Нужно помнить, что почтовые ящики имеют атрибуты, принадлежащие только учетной записи AD. Без ассоциации с учетной записью AD почтовые ящики будут видны в ESM, но к ним невозможно будет получить доступ из клиентских программ.

Необходимо выполнить и ряд шагов по связи почтовых ящиков и учетных записей. Во-первых, надо создать учетную запись AD (имя может не совпадать с оригинальным).

Во-вторых, следует подключить новую учетную запись к почтовому ящику в восстановленной базе. Самый простой способ ассоциации почтового ящика — использовать Mailbox Cleanup Agent в ESM. Для вызова агента нужно открыть хранилище почтовых ящиков, выбрать Mailboxes, вызвать контекстное меню и указать Run Cleanup Agent. Mailbox Cleanup Agent сканирует хранилище почтовых ящиков, находит почтовые ящики, не имеющие связи с учетной записью, и отмечает их красным кружком с крестиком.

На Экране 5 показан результат работы агента. Все почтовые ящики видны, но некоторые помечены как не имеющие соответствия с учетной записью, что отражено в колонке Last Logged on By. В результате работы Mailbox Cleanup Agent можно увидеть SID, соответствующий учетной записи AD, с которой последний раз обращались к почтовому ящику и которой нет в текущей базе AD.

Можно правой кнопкой щелкнуть на ящике и выбрать пункт Reconnect для связи с учетной записью AD. Если нужно подключить несколько почтовых ящиков, можно использовать утилиту Mbconn из каталога supportutilsi386 диска Exchange 2000 (дополнительная информация о Mbconn приведена в статье Microsoft «XADM: How to Use the Mbconn Utility to Generate Active Directory Accounts for Information Store Mailboxes», http://support.microsoft.

com/?kbid=271886). Mbconn определяет почтовые ящики в хранилище, которые не ассоциированы с AD, и генерирует в формате LDAP Data Interchange Format (LDIF) файл с подробностями о несоответствиях. Можно использовать утилиту Ldifde для обработки файла LDIF и создания учетных записей, а затем снова запустить Mbconn для подключения учетных записей к почтовым ящикам.

Восстановление данных

После подключения учетной записи к почтовому ящику для доступа к содержимому можно использовать программу почтового клиента. По умолчанию система разрешений Exchange 2000 блокирует администратору доступ к почтовым ящикам. Поэтому, если есть необходимость использовать свою учетную запись, требуется сначала изменить разрешения на почтовом ящике для обеспечения соответствующих прав доступа. Если нужно восстановить информацию для пользователя, можно все выделить и скопировать в файл PST. Можно использовать утилиту ExMerge для восстановления данных нескольких почтовых ящиков в один момент времени.

Время для восстановления

Суммарное время, необходимое для выполнения всех шагов восстановления и получения доступа к хранилищу почтовых ящиков, зависит от размера базы данных, технологии резервного копирования и данных, которые надо получить после восстановления. В Таблице 1 показано примерное время, но нужно помнить, что реальные значения зависят от конкретной информационной среды. Список статей и ссылок на статьи Microsoft о резервировании и восстановлении Exchange 2000 приведен во врезке «Статьи по теме» (см. Таблицу 2).

Восстановление базы данных на другом сервере — сложная задача, требующая наличия соответствующего аппаратного и программного обеспечения.

Тони Редмонд — редактор Windows 2000 Magazine, вице-президент в Compaq Global Servises. С ним можно связаться по адресу: exchguru@win2000mag.com.