Введение
Серверы Exchange Server 2007 (RTM и SP1) Hub Transport гибкие по умолчанию. Это означает, что если вы устанавливаете более одного сервера Hub Transport на сайт Active Directory (AD), и один из них дает сбой, другой или другие будут продолжать принимать соединение. К тому же, когда у вас установлено более одного сервера Hub Transport на сайте AD, соединения будут автоматически сбалансированы между этими серверами. Есть лишь одно исключение в этом правиле, и оно применимо в том случае, когда роль сервера Hub Transport установлена на сервер с ролью почтового сервера (Mailbox server). В этом конкретном случае сервер Hub Transport, установленный на почтовом сервере, всегда будет иметь более высокий приоритет перед другими серверами Hub Transport на сайте AD.
Гибкое поведение, которое по умолчанию встроено в серверы Hub Transport, отлично работает для многих организаций, но существуют ситуации, когда вы, как администратор или консультант почтовой службы Exchange, например, имеете приложение для линии производства (LOB), Microsoft Office SharePoint Server 2007 (MOSS 2007) портал или, возможно, решение по управлению сервисами System Center Operations Manager 2007 (SCOM 2007), которое для того, чтобы подписывать сообщения для Exchange организации, должно использовать SMTP ретранслятор (поскольку эти приложения не могут регистрироваться в почтовом ящике, используя MAPI), и только потом отправлять сообщения из этого ящика.
Так какие же у вас есть варианты в таких ситуациях? Exchange Server 2007 RTM версии не поддерживал балансирование нагрузки серверов Hub Transport с помощью технологии Windows Network Load Balancing (WNLB). Это означало, что если у вас было приложение, которое требовало использования почтового окружения Exchange 2007 для ретрансляции сообщений, вам либо приходилось указывать два SMTP сервера в приложении (что часто невозможно), использовать DNS циклический алгоритм (не так умно, как NLB) или MX записи (недоступные, если приложение позволяет только определение смарт-хоста).
Как уже говорилось балансировка нагрузки между серверами Hub Transport не поддерживалась в Exchange 2007 RTM версии, но теперь Exchange Server 2007 Service Pack 1 (SP1) был выпущен, угадайте с чем? Да, правильно, теперь он поддерживает балансировку нагрузки между серверами Hub Transport, используя компенсатор нагрузки оборудования или стандартную WNLB технологию. Хотя сейчас можно настраивать серверы Hub Transport в NLB, пожалуйста, обратите внимание, что поддержка компенсации нагрузки соединений между серверами Hub Transport в вашей внутренней производственной сети с помощью этого метода отсутствует. Вы можете использовать технологию NLB только для балансирования нагрузки входящих SMTP соединений с приложений (таких как LOB приложения, MOSS и SCOM 2007, и т.д.) и прочих non-Exchange источников, а также клиентских соединений (для отправки сообщений, POP и IMAP клиенты используют стандартный Коннектор адресата на Hub Transport сервере).
В этой серии статей я дам вам пошаговую инструкцию о том, как настраивать Hub Transport серверы в NLB с помощью технологии WNLB. Мы также проверим настройки на предмет их корректной работы и посмотрим, как отказоустойчивость и компенсация нагрузки работает для потока исходящих сообщений (сообщений отправляемых с Exchange организации).
Окружение, используемое в этой статье
Если вы хотите развернуть и протестировать решение, описываемое в этой серии статей в собственном окружении (конечно же следует начинать с лабораторного окружения), вам понадобиться следующее:
- 1 x Windows 2003 Server SP2 контроллер домена и глобальный каталог (DC01)
- 1 x Windows 2003 Server SP2 с ролями Exchange 2007 SP1 Mailbox и Client Access Server (Mailbox01)
- 2 x Windows 2003 Server SP2 с ролью Exchange 2007 SP1 Hub Transport (HT01 и HT02)
Заметка: Поскольку используемый в этой статье кластер NLB настроен в режиме индивидуальной рассылки (unicast mode), вам нужно установить два сетевых адаптера (NIC), по одному на каждый сервер Hub Transport.
Создание имен (FQDN) для кластера NLB в DNS
Когда окружение создано и запущено, первое, что вам нужно сделать, это создать запись A-record для имени кластера NLB в DNS. Для этого войдите на контроллер домена в области Active Directory, затем откройте менеджера DNS, нажав меню Пуск > Выполнить, в строке вписываете dnsmgmt.msc.
Теперь разверните вкладку Зоны прямого просмотра и правой клавишей нажмите на соответствующей зоне прямого просмотра (forward lookup zone) для вашей Active Directory. В контекстном меню выберите Новый хост (A), введите имя, которое вы хотите использовать. Как видно на рисунке 1.1, я использовал имя MAIL для этой установки. Затем введите IP адрес, который вы хотите использовать в качестве IP адреса для кластера Windows NLB (это должен быть IP адрес в той же подсети, что и входящие в NLB серверы).
Теперь нажмите Добавить хост (рисунок 1.2) затем OK и Готово. Закройте DNS менеджера.
Настройка сетевых параметров для каждого узла кластера NLB
Хотя это и не обязательно (как я говорил ранее), мы будем использовать режим индивидуальной рассылки с двумя сетевыми адаптерами, установленными в нашем окружении (это дает самую оптимальную производительность). Для настройки второго сетевого адаптера на каждом сервере Exchange 2007 Hub Transport откройте Сетевые подключения и задайте каждому LAN соединению значимое название, как показано на рисунке 1.3.
Теперь откройте страницу свойств для NLB адаптера и настройте параметры TCP/IP, как показано на рисунке 1.4. Как вы видите, нужно указать только IP адрес и маску подсети. Когда все готово, нажмите OK.
Активация балансирования сетевой нагрузки на первом сервере Hub Transport
Итак, пришло время активировать NLB на первом сервере Hub Transport в нашем окружении. Это можно сделать на странице свойств сетевого адаптера, или используя менеджера Network Load Balancing Manager. Я буду делать это с помощью страницы свойств сетевого адаптера, а затем в следующем разделе добавлю второй сервер Hub Transport в кластер NLB. Итак, открываем страницу свойств адаптера NLB LAN и отмечаем Балансирование сетевой нагрузки, как показано на рисунке 1.5. Когда опция «Балансирование сетевой нагрузки» выбрана, нажимаем кнопку Свойства.
Во вкладке Параметры кластера (рисунок 1.6) вводим IP адрес, маску подсети и полное Интернет имя кластера NLB. Далее смотрим, что индивидуальная рассылка выбрана в опциях Режим работы кластера.
Теперь жмем по вкладке Параметры хоста и вводим IP адрес и маску посети, заданные для сетевого адаптера (рисунок 1.7). Остальные параметры оставляем по умолчанию.
Жмем по вкладке Правила порта, выбираем правило порта по умолчанию и жмем Удалить.
Теперь нам нужно добавить правило порта для каждого из портов, на которые кластер NLB будет принимать клиентские запросы. Для этого жмем кнопку Добавить, затем вводим соответствующий порт из Списка портов (рисунок 1.8). Также смотрим, чтобы для опции Родственность (Affinity) был установлен параметр Один. Наконец жмем OK, чтобы добавить правило порта.
Проделайте эту процедуру для каждого требуемого порта, чтобы у вас получился список правил, подобный тому, что показан на рисунке 1.9, в зависимости от того, какие службы клиентского доступа вы хотите разрешить в своей организации.
Жмем OK, еще раз OK в информационных окнах, которые появляются (рисунок 1.10).
Теперь добавляем новый виртуальный IP адрес кластера на странице свойств TCP/IP сетевого адаптера, как показано на рисунке 1.11.
Наконец жмем Добавить, а затем OK. Теперь мы настроили кластер Windows NLB с одним сервером, входящим в его состав.
Добавление второго сервера Hub Transport в кластер NLB
Чего хорошего в кластере NLB с одним сервером в его составе? Правильно, практически ничего. Поэтому давайте добавим второй сервер Exchange 2007 Client Access в этот кластер. Для этого открываем Менеджера балансировки сетевой нагрузки нажатием меню Пуск > Выполнить и вписываем NLBMGR.EXE (или нажимаем Администрирование > Менеджер балансировки сетевой нагрузки). После этого открывается менеджер Network Load Balancing Manager, как показано на рисунке 1.12.
Чтобы добавить второй сервер в кластер NLB, в меню выбираем Кластер, затем жмем Добавить хост. В появившемся окне вводим имя второго сервера Hub Transport и нажимаем Соединить (рисунок 1.13). Выбираем соответствующий кластер и жмем Закончить.
Далее вводим IP адрес и маску подсети для сетевого адаптера, который должен ассоциироваться с кластером NLB и нажимаем Закончить (рисунок 1.14).
Теперь немного ждем, чтобы сервер был добавлен и настроен соответственно (рисунок 1.15).
Закрываем менеджера Network Load Balancing Manager. Теперь мы сбалансировали нагрузку серверов Hub Transport в нашем лабораторном окружении, но у нас все еще осталась пара моментов, которые нужно настроить.
Итак, закончим с этой частью серии статей, ожидайте следующей части в ближайшее время. Всего доброго!