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

Microsoft Exchange 2000 Server — второе поколение Exchange, он включает в себя огромное количество изменений со времени выхода предыдущих версий (от Exchange Server 4.0 до Exchange Server 5.5). Подсистема хранения (Store) теперь организована в виде разделов; основанный на стандарте X.400 почтовый агент Message Transfer Agent (MTA) заменен COM-компонентом SMTP Routing Engine; поддержка служб выполняется на уровне Active Directory (AD). Пакеты обновлений Exchange 2000 Service Pack 1 (SP1) и SP2 последовательно совершенствовали качество продукта за счет устранения ошибок, выявленных в процессе его использования, добавляли новые функции, например Mailbox Manager в SP1 и заново переписанный компонент доступа Directory Access (DSAccess) в SP2.

В конце июля 2002 г. Microsoft выпустила очередной пакет обновлений Exchange 2000 SP3 (загрузить который можно по адресу: http://www.microsoft.com/ exchange/ downloads/ 2000/ sp3/ default.asp), но не нужно ждать от него множества новых функций. Вместо этого, разработчики Microsoft надеются, что SP3 повысит качество и стабильность программного продукта за счет большого числа тщательно проработанных изменений, появившихся со времени выхода SP2. В то же время SP3 рассматривается Microsoft как платформа для следующей версии Exchange (кодовое название — Titanium), которая должна быть выпущена в середине 2003 г. С SP2 или SP1 перейти на Titanium не удастся.

Далее, хотя Microsoft не поддерживает работу Exchange 2000 SP3 на Windows .NET Server (Win.NET Server) 2003, SP3 обеспечивает некоторую начальную поддержку для самого первого развертывания Win.NET Server, позволяя задействовать контроллеры домена на базе Win.NET Server. Вместе с тем, поддержка Win.NET Server — не самый главный приоритет для SP3, поскольку в Microsoft не ожидают, что новая операционная система получит широкое распространение до того, как начнется поставка Titanium.

Экран 1. Сервер Exchange 2000 с установленным SP3.
Единственное свидетельство того, что сервер обновлен до SP3, — новый номер сборки (build number). На Экране 1 номер сборки показан так, как он выглядит в консоли Exchange System Manager (ESM). Обращаю внимание читателей на то, что номер сборки shipping release — 6249.4, а не 6249.1, как это видно из Экрана 1, поскольку Microsoft внесла пару-тройку исправлений в самую последнюю минуту вскоре после того, как данная статья была написана. В Microsoft считают, что Exchange 2000 — это версия 6 Exchange, а Titanium — версия 6.5, так что мы являемся свидетелями скорее эволюционных обновлений Exchange, а не кардинальных изменений, как вроде бы явствует из названия Exchange 2000.

Поскольку в состав SP3 не была включена ни одна новая функция, кому-то может показаться, что его можно попросту пропустить. Но это было бы неразумно: в SP3, наряду с исправлениями ошибок, включено несколько важных обновлений для системы безопасности Exchange. Кроме того, обновление SP3 просто необходимо для перехода в дальнейшем на Titanium. Надеюсь, обзор содержимого SP3 поможет принять решение о развертывании нового пакета обновлений.

Уменьшение требований к сети

Компонент SP2 DSAccess предоставляет новые алгоритмы для выбора контроллеров домена (DC) и глобальных каталогов (Global Catalog, GC) и для управления процессом восстановления после сбоя при выключении DC. При проектировании SP3 использовались новые подходы, основанные на снижении трафика между серверами Exchange и DC, размещении в кэш огромных массивов данных об объектах AD, таких, как почтовые учетные записи Mail-Enabled Account и контакты Contact. Кроме того, SP3 позволил уменьшить число запросов по Lightweight Directory Access Protocol (LDAP), когда службы маршрутизации проверяют адреса в заголовках сообщений.

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

С другой стороны, если сервер Exchange всегда размещать в непосредственной сетевой близости с серверами GC (т. е. серверы Exchange и GC всегда, когда возможно, находятся на одном сегменте LAN), изменения в работе, вызванные SP3, минимальны. Я всегда с удовлетворением отмечаю снижение требований к сетевому трафику у Exchange, поскольку далеко не во всех организациях используются качественные высокоскоростные соединения.

В SP3 обновлен компонент DS2MB (составная часть System Attendant, которая отвечает за синхронизацию метабазы Microsoft IIS и настроек Exchange, хранящихся в структуре контекста именования AD), в результате чего требуется меньшее число LDAP-вызовов в AD. В метабазе IIS хранятся конфигурационные данные о большом числе служб, которые Exchange использует в своей работе, в том числе о стеках протоколов (HTTP, POP3, IMAP4) и виртуальных серверах SMTP. DS2MB гарантирует, что любые изменения, произведенные в метабазе или AD (через ESM), будут синхронизированы. Необходимость синхронизации может показаться странной, но это побочный эффект тех изменений в Exchange, в силу которых он теперь взаимодействует со службами IIS, а не сам реализует поддержку протоколов Internet, как это было в версии Exchange 5.5.

Усовершенствованное управление памятью

Управление виртуальной памятью было переработано самым тщательным образом в связи с использованием серверов Exchange в промышленных кластерных конфигурациях и необходимостью обслуживания тысяч клиентских подключений одновременно. До настоящего времени больше всего проблем возникало с MAPI-клиентами, но те же самые симптомы стали наблюдаться и для других протоколов в условиях обслуживания нескольких тысяч клиентов. Проблемы появлялись при нехватке непрерывной виртуальной памяти при перемещении групп хранения и баз данных на другой узел кластера.

По мере того как хранилище Store захватывает и освобождает виртуальную память для обработки клиентских запросов, память все более и более фрагментируется (по аналогии с тяжело загруженным жестким диском). Если в этих условиях возникает кластерный переход, а Store на другом узле не имеет в достаточном объеме непрерывного блока виртуальной памяти для монтирования баз данных, то пользователи не смогут получить доступ к своим почтовым ящикам. Эта проблема накладывает ограничение на число одновременно подключенных клиентов, которое узел кластера в состоянии поддерживать в конфигурации active-active (активный-активный). Разработчики Microsoft постепенно совершенствовали управление памятью, и число поддерживаемых соединений возросло с 1000 в оригинальной версии Exchange 2000 до 1900 в SP2. Тестирование SP3 еще не закончено, чтобы можно было назвать окончательное число максимальных соединений, но ожидается, что оно еще увеличится, поскольку разработчики приложили очень большие усилия для совершенствования внутренних алгоритмов Store. Последние результаты тестирования приведены на сайте Microsoft.

При проектировании и работе с кластером следует принять во внимание ограничение на поддерживаемое число клиентов. В каждом конкретном случае нужно будет учитывать смесь типов клиентов, загрузку, которую они генерируют, программное обеспечение, работающее на сервере, а также время работы сервера с момента последней перезагрузки. Обращаю внимание читателей, что на число клиентов в кластере в конфигурации active-passive (активный-пассивный) нет никаких ограничений, так же как нет никаких формальных ограничений на число одновременно подключенных клиентов для автономного сервера (Standalone Server).

Однако на автономных серверах промышленного класса (high-end), которые обслуживают тысячи одновременных подключений, также иногда могут возникать проблемы с фрагментацией памяти. В статье Microsoft «XGEN: The Exchange 2000 Information Store Reports an Event ID 327 Warning Message and Virtual Memory May Be Fragmented» (http://support.microsoft.com/ default.aspx?scid=kb;en-us;q319682) объясняется, каким образом фрагментация памяти может помешать серверу SMTP отсылать или получать сообщения (операции, для выполнения которых необходимо тесное взаимодействие со Store). Можно перезапустить службу SMTP или сервер для решения названной в статье Microsoft проблемы, но SP3 переводит такие ситуации в разряд очень редких. В другой статье Microsoft «XADM: Monitoring for Exchange 2000 Memory Fragmentation» (http://support.microsoft.com/ default.aspx?scid=kb;en-us;q296073) показано, каким образом следует выполнять мониторинг Exchange для обнаружения чрезмерной фрагментации виртуальной памяти.

Стабильность

Повышение стабильности программного обеспечения наступает при уменьшении числа ошибок и написании более надежного кода, и это стало основной целью Microsoft при создании SP3. Данный пакет обновлений объединяет более 400 отдельных исправлений, причем некоторые из них существуют как заплатки для SP2 и более ранних версий. Статья Microsoft «XGEN: List of Bugs Fixed by Exchange 2000 Server Service Packs» (http://support.microsoft.com/default.aspx?scid=kb;en-us;q311456) дает подробное описание содержимого пакетов обновлений Exchange 2000.

Число исправлений, содержащихся в SP3, может кого-то удивить, но Exchange насчитывает так много различных компонентов и устанавливается в столь многочисленных конфигурациях, что проблемы могут проявиться в самых разных местах — от работы справочника до аварийной остановки сервера. Проблемы в таких важных сферах, как обеспечение безопасности работы и управление памятью, — лишь малая часть общего числа ошибок. Разработчики Microsoft не вникают в детальный разбор всех исправлений, выпущенных в SP3, особенно там, где речь идет о безопасности, и тем не менее в Таблице 1 приводится описание некоторых основных исправлений.

Развертывание SP3

Предположим, что сервер — это Windows 2000 SP2, в таком случае установка SP3 для Exchange не займет много времени. Будем исходить из того, что модернизируется сервер с одним процессором 1 ГГц или ниже — что-то около 30 мин, и даже в случае крупного кластера — час или два.

SP3 — кумулятивный пакет обновлений, и это означает, что его можно «наложить» на SP1, SP2 или на оригинальную версию Exchange 2000. Совсем не обязательно устанавливать предыдущие пакеты обновлений перед развертыванием SP3. Также нет необходимости обновлять схему AD до установки SP3 — очередное обновление схемы AD для Exchange ожидается в версии Titanium.

Специалисты Microsoft рекомендуют, чтобы в первую очередь SP3 развертывался на серверах, на которых установлена Active Directory (AD), во многом из-за того, что в таком случае эти серверы сразу получают преимущества при организации взаимодействия сервера Exchange и контроллеров домена AD. Коммуникационные серверы (протокольные proxy-серверы), где установлен только SP2, не смогут получить доступ к серверам приложений, на которых в той же административной группе установлен SP3, поэтому обновление proxy-серверов до SP3 следует провести до обновления серверов приложений.

Как и в случае с Exchange 2000, установить SP3 можно, лишь обладая полномочиями Exchange Administrator и будучи членом локальной административной группы. Необходимо иметь права Exchange Full Administrator для проведения обновления кластера или сервера с установленной службой Exchange Key Management Service (KMS).

Собственно, процесс установки SP3 — это только часть необходимых мероприятий. Обязательно следует выполнить полное резервное копирование до и после обновления. Создание резервной копии абсолютно необходимо, поскольку SP3 обновляет компоненты Extensible Storage Engine (ESE), а значит, невозможно будет повторно провести транзакции системы Exchange+SP3 на резервные копии баз данных Exchange+SP2, поскольку сигнатуры баз данных не будут соответствовать друг другу.

SP3 свойственна та же проблема, которая была описана в документе Microsoft «XADM: Exchange 2000 SP2 Does Not Allow You to Restore Exchange 2000 or Exchange 2000 SP1» (http://support.microsoft.com/ default.aspx?scid=kb;en-us;q316794). Так или иначе, создавать резервные копии до обновления критически важных приложений очень желательно, про резервное копирование после обновления можно сказать то же самое — всегда должна быть возможность вернуться к состоянию до SP3 в случае возникновения неожиданных проблем в работе приложений.

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

Дополнительное программное обеспечение

На большинстве серверов Exchange работает дополнительное программное обеспечение, в том числе программы резервного копирования, почтовые коннекторы (messaging connector), антивирусное программное обеспечение. После того как будет установлен SP3, необходимо убедиться, что все эти программы продолжают нормально работать и процесс их обновления протекает как обычно. Некоторые продукты, такие, как, скажем, Sybari Software Antigen, напрямую зависят от используемой версии Store и ряда других компонентов Exchange, которые после установки SP3 будут обновлены. В этом случае указанное дополнительное программное обеспечение не будет функционировать, как положено, до тех пор, пока для него не установят обновление, совместимое с SP3. И, конечно же, хорошо было бы протестировать SP3 и все зависимые программы на тестовом, а не на промышленном сервере.

Настройки разрешений и реестра

Есть один недостаток, проявляющийся при установке SP3: для всех объектов Exchange 2000 (для объекта «сервер», например), на которые с момента последнего обновления Exchange 2000 разрешения изменялись вручную, происходит сброс в состояние по умолчанию. Разработчики Microsoft рекомендуют записывать все изменения в системе разрешений, выполненные вручную (а это не всегда просто сделать), чтобы после развертывания SP3 все переустановить заново. Кроме того, SP3 переписывает все сделанные ранее изменения в реестре.

Я могу понять, почему SP3 таким образом «лечит» реестр — измененное значение может негативно повлиять на работу сервера, но вот почему SP3 сбрасывает настройки разрешений, объяснить трудно. Однако и в будущем можно столкнуться с подобным «поведением» при развертывании пакетов обновлений. Поэтому еще раз подчеркну, что необходимо полностью документировать все изменения настроек, выполняемые в системе и в работающих на сервере приложениях.

Win.NET Server

Как уже указывалось ранее, нельзя запустить SP3 на системе под управлением Win.NET Server (по крайней мере, официальной поддержки от Microsoft ожидать нечего), но развернуть SP3 на серверах Windows 2000, работающих в лесу, в котором есть такие серверы (Win.NET Server), можно. Проделав эту работу, мы получим преимущества при использовании кода SP3 и некоторых новых свойствах AD в системах Win.NET Server. Однако SP3 не позволит воспользоваться одной важной новой функцией Win.NET Server AD — возможностью переименовывать домены и контроллеры домена.

Exchange 2000 использует AD как место хранения конфигурационных данных, в том числе данных о серверах и коннекторах. Когда Exchange 2000 присутствует в лесу Win.NET Server, переименовать домены и контроллеры домена невозможно. Причина проста: переименование вводит понятие периода нестабильности в домене, пока не будет выполнено реплицирование. В небольшом домене или в сети с высокоскоростными каналами, объединяющими все DC, такой период может быть очень коротким, но вот для сильно распределенных доменов или в доменах, в которых используются низкоскоростные каналы связи, предсказать эффект от переименования очень и очень трудно. Если администратор решается на переименование доменов или контроллеров домена, следует помнить о том риске, которому подвергается вся почтовая инфраструктура, — вероятна потеря возможности прокладывать маршрут сообщений. Разработчики Microsoft еще не определились в вопросе, каким образом реализовать в AD переименование домена и не потерять целостность почтовой системы. Итак, до поры до времени не стоит заниматься переименованием, если Exchange присутствует в лесу Win.NET Server.

ESM на рабочих станциях

В SP3 обновлена версия консоли ESM, которая существенно улучшила визуализацию очереди сообщений. Установить обновленную версию ESM можно на другие серверы и рабочие станции Windows 2000 для выполнения мониторинга и обслуживания серверов Exchange с удаленных компьютеров, но, если ESM уже установлена, развертывать SP3 необязательно. К сожалению, Microsoft не поддерживает установку ESM на рабочие станции Windows XP Professional. Это упущение скорее из разряда недоразумений, и я надеюсь, что Microsoft вскоре предоставит недостающие компоненты для запуска консоли ESM на XP Professional.

CDO

Изменения в обеспечении безопасности, реализованные в SP3, устраняют возможность широкого доступа и права читать данные из метабазы IIS. В результате существующие приложения, работающие в рамках SP2 и использующие Collaboration Data Objects for Exchange Management (CDOEXM) или Collaboration Data Objects for Windows 2000 (CDOSYS) для отправления SMTP-сообщений, могут перестать нормально работать. Хотя последствия этого для некоторых заказчиков могут быть разрушительными, в Microsoft утверждают, что в конечном счете пользователь получит более безопасную систему.

Общий тип приложений, которые пострадают от только что упомянутого эффекта, характеризуется тем, что в них отсутствует аутентификация самих себя в Windows или же они не используют почтовые ящики Exchange. Пример — Web-приложение, которое позволяет посетителям сайта создавать и отправлять почтовые сообщения для обратной связи. Если применяется именно такой тип приложения, нужно будет внести изменения в код приложения, чтобы обеспечить его необходимыми полномочиями для использования почтового ящика Exchange и отправки сообщений. Я обнаружил не так много подобных приложений, поэтому мне кажется, что Microsoft вправе потребовать столь незначительную плату за более безопасную работу Exchange. Тем не менее необходимо внимательно проанализировать работу используемых приложений в свете подобных эффектов при планировании перехода на SP3.

Как быстро следует развертывать SP3? Собственно, установка обновления много времени не займет и не потребует длительных подготовительных мероприятий. SP3 стабилен в работе и повышает устойчивость Exchange как почтового приложения, благодаря таким характеристикам, как усовершенствованное управление памятью, исправление ошибок, усиление безопасности, сокращение сетевого трафика. Мой совет — протестировать SP3 и приступить к развертыванию при первом же удобном случае.

ТОНИ РЕДМОНД — редактор Windows 2000 Magazine, вице-президент в Compaq Global Services. С ним можно связаться по электронной почте: exchguru@win2000mag.com.