В этой статье я расскажу вам об основных службах ядра (Basic core services) в Exchange Server 2003 и о том, как они работают вместе.
Начнем
Exchange Server 2003 – это сложная система по обмену сообщениями (messaging system) с нескольким основными компонентами и службами Exchange, которые совместно работают для обеспечения эффективной почтовой системы. Exchange Server 2003 сильно зависит от Microsoft Active Directory и правильно функционирующей системы DNS, но их описание выходит за рамки этой статьи.
На следующем рисунке показаны основные службы Exchange Server 2003, но существуют также зависимые службы Exchange типа:
- WWW Publishing Service (служба публикаций)
- SMTP Service
- IIS Admin Service
- Windows Management Instrumentation (инструментарий управления)
Примечание: Служба Microsoft Exchange Quota Service, Microsoft Identity Integration Server и служба Microsoft iSCSI Initiator Service на рисунке 1 не относятся к Exchange.
Зависимости служб (Service dependencies)
Большинство служб Exchange зависимы от других служб Exchange. Мы говорим здесь о других службах, которые зависят от этой специфической службы, и о других службах, от которых эта служба зависима. Вы можете увидеть зависимости в свойствах специфических служб или в реестре Registry в ключе под названием HKEY_LOCAL_MACHINESystemCurrentControlSet\Services\Servicename.
На следующем рисунке показаны зависимости службы Microsoft Exchange System Attendant Service, одной из основных служб сервера Exchange Server. Служба Microsoft Exchange System Attendant Services зависит от служб, показанных на рисунке 2 и двух других служб – Microsoft Exchange Information Store и Microsoft Exchange MTA Stacks.
Web службы и Exchange 2003
Exchange 2003 использует инфраструктуру Windows Server 2003 Internet Information Services Infrastructure для нескольких служб Exchange типа Outlook Web Access (OWA), Outlook Mobile Access (OMA) и служб типа POP3, IMAP4 и SMTP и расширяет несколько служб и функций с помощью специальных функций Exchange.
Как вы можете видеть на рисунке 3, Exchange использует некоторые резервы приложения IIS Application pools и служб сообщений (messaging services) вроде SMTPSVC и IMAPSVC под управлением INETINFO.EXE. Все службы контролируются HTTP.SYS, компонентом уровня ядра (kernel Mode component), который является новым для IIS 6.0.
Как вы можете увидеть на рисунке 4, существует несколько зависимостей между службами Exchange Services и Windows Services. В качестве примера, служба Microsoft Exchange System Attendant зависит от нескольких служб Windows, но также некоторые службы Exchange зависят от службы Exchange System Attendant Service.
Большая картина – совместная работа всех служб Exchange Services
Следующий рисунок представляет собой хороший обзор всех служб Exchange и того, как они работают совместно. Как вы может увидеть, существуют уровневые службы, все под управлением IIS 6.0, трафик которых проходит через драйвер Exchange Store Driver (DRVIIS.DLL) и службу Exchange Epoxy Service, объяснение которой будет представлено ниже в этой статье. Затем, хранилище Exchange Store (Store.exe) предоставляет этим клиентам и службам доступ к базе данных Exchange Databases с помощью ESE (Extensible Storage Engine).
EXIFS
EXIFS или Exchange Server 2003 installable file system (устанавливаемая файловая система) – это драйвер уровня ядра (kernel-mode driver), используемый в ExIFS.sys, который IIS может использовать для чтения и записи элементов из и в базы данных Exchange. Драйвер ExIFS взаимодействует с хранилищем сервера Exchange Server store. Это достигается с помощью расширения хранилища (store extension ExWin32.Dll) и оболочки режима ядра (user-mode wrapper Ifsproxy.dll). Хранилище сервера Exchange Server store использует ESE для доступа к базе данных Exchange (ESE и STM файлы).
Примечание: ExIFS – это единственный компонент ядра (kernel-mode component) в Exchange Server 2003.
Самая большая картина – Как все они работают вместе
Следующая картина слишком сложна для того, чтобы объяснить каждую службу и ее зависимости в этой статье, но эта картина позволяет показать вам совместную работу всех этих служб. Вам придется потратить немного времени, для того чтобы понять этот рисунок.
Системный контроль (System Attendant)
Служба Microsoft Exchange Server System Attendant – это основная служба сервера Exchange Server, которая контролирует несколько других служб Exchange. Эти службы включают в себя:
- DSAccess (DSAccess.dll) – Обеспечивает доступ Exchange к Active Directory
- DSProxy (DSProxy.dll) – Обеспечивает поиск Directory Service Lookup старых клиентов Outlook
- Server Monitor Component – Мониторинг ресурсов сервера
- Free/Busy Component (Madfb.dll) – Управляет информацией Свободен/Занят
- Mailbox Manager Component – Управляет метабазой почтовых ящиков
- Metabase update service – Копирование параметров из Active Directory в метабазу IIS
- Metabase update service – Копирование параметров из Active Directory в IIS
- Recipient Update Service – Применение политик получателя и формирование адресов proxy
- System Attendant Component – Проверяет конфигурацию учетной записи компьютера
DSProxy
Служба Directory Service Proxy (DSProxy) – это компонент Exchange Server 2003, которые предоставляет службу адресной книги (address book service) для клиентов Microsoft Outlook. DSProxy реализован в DSProxy.dll. DSProxy имеет две функции:
- Эмуляция службы адресной книги MAPI address book service
- Запросы от Proxy к серверу Active Directory
DSProxy предоставляет службы proxy и referral. Клиенты MAPI, работающие на Outlook 2002 Service Release 1 и более ранних версиях, используют функциональность прокси потому, что эти клиенты спроектированы для использования сервера Exchange в качестве службы директорий (Directory Service). Это было верно для Microsoft Exchange Server с 4.0 по 5.5 версии, но начиная с Exchange Server 2000, Microsoft Active Directory забирает часть служб Exchange Directory services. DSProxy эмулирует службу директорий (directory service), поэтому более ранние клиенты по-прежнему могут работать. Exchange Server 2003 передает запросы Active Directory.
Более поздние версии Outlook, такие как Outlook 2000 с SR-2 и Outlook 2002/2003, спроектированы с предположением, что Exchange Server 2003 не имеет своей собственной службы директорий (directory service). Если DSProxy ссылается на один из этих поздних клиентов на сервер глобального каталога (global catalog server), клиенты взаимодействуют напрямую с Active Directory.
DSProxy получает свой список работающих серверов с глобальным каталогом (global catalog servers) с помощью DSAccess. DSAccess обрабатывает только запросы LDAP. Однако, DSProxy полностью полагается на DSAccess для обеспечения поддержки глобального каталога.
Операции DSProxy
DSProxy выполняет следующие операции:
Он собирает список работающих серверов глобальных каталогов (global catalog Servers) с DSAccess и выбирает только сервера глобального каталога, которые на сайте локального сервера Active Directory.
Он фильтрует запросы MAPI от ранних клиентов Outlook для оставшихся серверов глобальных каталогов. Механизм, который используется для перенаправления клиентов Outlook на один из оставшихся серверов глобального каталога, называется круговым механизмом Робина.
DSProxy изначально запускается в одном потоке и может поддерживать до 512 клиентских соединений. DSProxy автоматически создает дополнительный поток для каждых 512 клиентских соединений. В отличие от DSAccess, DSProxy не имеет механизма кэширования (caching mechanism). Каждый MAPI запрос, обработанный на DSProxy, посылается на сервер глобального каталога (Global Catalog Server).
DSAccess
Службы Exchange 2003 имеют доступ к информации, которая хранится в Active Directory, и записывают информацию в Active Directory. Если бы это взаимодействие происходило напрямую между каждой службой и Active Directory, то Exchange 2003 мог бы перегрузить контроллер домена Active Directory запросами на соединение. DSAccess – это компонент, который контролирует взаимодействие между запросами Exchange и Active Directory.
DSAccess – это общий API, который использует несколько компонентов в Exchange 2003 для обращений к Active Directory и получения информации о конфигурации и отправителе. DSAccess реализован в DSAccess.dll, которая загружается компонентами Exchange и не-Exchange. Эти компоненты:
- System Attendant
- Message Transfer Agent (MTA)
- Microsoft Exchange Information Store
- Exchange Management Service
- Internet Information Services (IIS)
- Windows Management Instrumentation (WMI)
DSAccess открывает топологию Active Directory, определяет контролеры домена и сервера глобального каталога (Global Catalog), поддерживает список правильных серверов директорий (directory servers), которые подходят для использования компонентами Exchange. Дополнительно, DSAccess поддерживает кэш, который используется для минимизации загрузки Active Directory путем снижения количества запросов Lightweight Directory Access Protocol (LDAP), которые отдельные компоненты посылают на сервера Active Directory. Кэш DSAccess можно настроить с помощью специальных ключей реестра (Registry Keys).
RUS – Recipient Update Service
Служба Exchange Recipient Update Service (служба обновления получателя) – это компонент Exchange, который отвечает за управление адресами Exchange Server Proxy E-Mail addresses и за создание и обновление адресов электронной почты для получателей сервера Exchange и основных компонентов Exchange. Существует одна служба RUS в каждом домене, где установлен Exchange, и одна служба Exchange Recipient Update Service для корпоративной конфигурации (Enterprise Configuration) (всей структуры Exchange).
Служба DS2MB – Служюа каталогов для метабазы
Функция службы DS2MB заключается в копировании информации о конфигурации из Active Directory в локальную метабазу IIS.
DS2MB реализована в виде процесса в файле DS2MB.dll и ее основная функция – это синхронизация нескольких конфигурационных параметров в Active Directory с их копиями в метабазе IIS metabase. DS2MB – это однонаправленный процесс. Только от Active Directory к IIS Metabase. Вы можете просмотреть IIS Metabase с помощью Metabase Explorer, который входит в состав пакета IIS 6 Resource Kit, и некоторых других средств.
Обновление метабазы – это подпроцесс, который запускается тогда, когда запущен системный служитель (System Attendant). Операции с SMTP, POP3, IMAP4, Outlook Web Access и OMA все зависят от копирования с помощью DS2MB. DS2MB регистрируется в конфигурационном контролере домена после загрузки, позволяя контролеру домена (domain controller) уведомлять DS2MB о происходящих изменениях, которые произошли в конфигурации Exchange. Это уведомление приходит в течение 15 секунд после изменения.
Служба Microsoft Exchange MTA Stacks service (EMSMTA.exe)
Служба Microsoft Exchange MTA Stacks service (MTA) переправляет сообщения через X.400 и разъемы шлюза (gateway connectors) на не-Exchange системы обмена сообщениями (messaging systems). В смешанной среде (mixed environment) с серверами, работающими на Exchange Server 5.5 в локальных группах, MTA также используется для передачи сообщений между Exchange Server 2003 и Exchange Server 5.5. Это происходит потому, что Exchange Server 5.5 MTA взаимодействует друг с другом на локальном сайте напрямую через RPC. Exchange Server 2003 должен полагаться на этот метод взаимодействия для поддержания обратной совместимости (backward compatibility).
Исполняемый файл службы Microsoft Exchange MTA Stacks - EMSMTA.exe, который размещается в директории \Program Files\Exchsrvr\bin directory. Эта служба зависит от System Attendant и поддерживает свои собственные очереди сообщений за пределами хранилища Exchange в директории \Program Files\Exchsrvr\Mtadata.
Ключ реестра: HKEY_LOCAL_MACHINE \System\CurrentControlSet\Services\MSExchangeMTA
Служба Routing Engine (RESvc.dll)
Служба Exchange Routing Engine обеспечивает топологию и информацию о маршрутизации (routing information) для серверов, которые работают с Exchange Server 2003. Продвинутый механизм очередей (advanced queuing engine - AQE) внутри транспортной подсистемы SMTP использует эту службу для предоставления информации при маршрутизации сообщений внутри структуры Exchange. Служба Routing Engine зависит от службы IIS Admin и работает в рамках процесса Inetinfo.exe. Эта служба реализована в файле под названием RESvc.dll, который размещается в директории \Program Files\Exchsrvr\Bin.
Ключ реестра - HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\RESvc
Служба IIS Admin
Служба IIS Admin (IIS Admin) управляет метабазой IIS Metabase и обновляет реестр для нужд следующих служб:
- WWW служба
- FTP служба
- SMTP служба
- POP3 служба
- IMAP4 служба
- NNTP служба
Служба IIS Admin также предоставляет доступ к информации о конфигурации IIS для других приложений, таких как служба обновления метабазы (metabase update service), которая является внутренним компонентом службы System Attendant.
Ключ реестра для службы IIS Admin - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISAdmin.
Служба IIS Admin зависит от службы удаленного вызова процедур (Remote Procedure Call - RPC) и службы Security Accounts Manager (SAM).
Заключение
В этой статье я попытался предоставить вам некоторую полезную информацию об основных службах сервера Exchange и об их совместной работе. Эта статья не даст вам полной информации о “Большой картине” для сервера Exchange и всех его компонентов. Существует гораздо больше зависимостей и служб в Exchange Server 2003 и Windows Server Active Directory и DNS (Domain Name System), которые я не объяснял в своей статье.