Для повышения работоспособности многие организации объединяют внутренние серверы Exchange в кластеры. В данной статье мы рассмотрим два метода балансировки нагрузки внешних серверов для максимизации производительности и работоспособности.
Для большинства организаций Exchange-сервер является приманкой для покупки нового оборудования. Без электронной почты производительность падает и, в некоторых случаях, даже останавливается производственный процесс. Это справедливо в частности для удаленных пользователей, чья связь с офисом осуществляется посредством электронной почты. Внешние серверы становятся сильно перезагруженными, и с ростом популярности приложений для удаленного доступа, таких как OWA, OMA, RPC и EAS, для увеличения производительности и предоставления высокой работоспособности широкое распространение получает балансировка нагрузки внешних серверов.
У администраторов есть два способа для решения проблемы балансировки нагрузки Exchange-серверов, зависящих от установленной операционной системы.
Каждый из этих способов имеет свои плюсы и минусы. Мы рассмотрим оба метода для того, чтобы вы смогли выбрать наиболее вам подходящий.
DNS-карусель – самый простой из доступных методов балансировки нагрузки web-серверов. Exchange-сервер – это не более чем web-сервер, и потому DNS-карусель является простым решением для балансировки нагрузки внешних серверов. Работа DNS-карусели заключается в назначении нескольких IP-адресов к полностью определенному имени доменному имени (Fully Qualified Domain Name — FQDN) ресурса. IP-адреса чередуются так, чтобы один IP-адрес сервера выдавался первым, затем следующему запросу выдается следующий IP-адрес из списка. Такой процесс повторяется при каждом разрешении имен DNS до тех пор, пока не достигается конец списка IP-адресов, и затем все повторяется сначала. Преимуществом является то, что вам не нужно дополнительное аппаратное обеспечение: подойдет любая обычная сетевая карта.
На Рисунке 1 изображен примерная схема сети, куда входит DNS-сервер и три внешних Exchange-сервера.
Рисунок 1: Вариант с DNS-каруселью
Для настройки DNS-карусели для такого сценария откройте консоль управления DNS и щелкните правой кнопкой по DNS-серверу. Выберите Properties (Свойства). Выберите вкладку Advanced (Дополнительно) и отметьте параметр Enable Round Robin (Включить DNS-карусель) (см. Рисунок 2).
Рисунок 2: Включение DNS-карусели
Теперь откройте зону прямого просмотра и создайте запись узла (запись типа A) для каждого из внешних серверов с одним и тем же именем FQDN. В нашем примере я создал три записи типа A для имени owa.thelazyadmin.lab, каждая с IP-адресом одного из трех внешних серверов Exchange (см. Рисунок 3).
Рисунок 3: Запись типа A
Вот и все! DNS-карусель теперь распределяет запросы между тремя внешними Exchange-серверами. Если вы используете BIND DNS-серверы (версии 9.x), суть остается прежней: просто создаете несколько записей типа A для одного FQDN.
Прежде чем мы восхитимся простотой создания и всему тому хорошему, что мы получили в результате, следует ознакомиться с некоторыми моментами.
DNS-карусель не является отказоустойчивой. Если пользователь получает IP-адрес неработающего сервера, появится сообщение об ошибке. Обычно это решается простым обновлением, но может быть придется пройти дальше и очистить локальный кэш DNS для того, чтобы получить IP-адрес работающего сервера. Поэтому рекомендуется устанавливать малое значение времени жизни (TTL).
На всех внешних сервера должна быть установлена одна и та же операционная система, а также версия Exchange, включая все пакеты обновлений и исправления. Если вы предоставляете услуги OWA, вам необходимо настроить все внешние серверы одинаково.
Поскольку все управляется DNS, вам необходимо разработать метод проверки для извещения администраторов внешнего о неработающем узле внешней сети. В отличие от кластеров, в данной модели нет встроенной службы наблюдения, которая могла бы предупредить администратора о неполадках.
Балансировка нагрузки сети
Другим способом выравнивания нагрузки внешних серверов Exchange является балансировка нагрузки сети (Network Load Balancing – NLB). Балансировка нагрузки сети – это кластерная технология компании Microsoft, встроенная в систему Windows 2000 Advanced Server и все версии Windows Server 2003. NLB использует алгоритм для предоставления балансировки нагрузки и высокой работоспособности.
Обычно два узла не могут совместно использовать один IP-адрес. Если вы дадите двум компьютерам один и тот же IP-адрес, вы увидите, какие проблемы возникнут после этого. Служба NLB решает эту проблему путем переадресации трафика общего IP-адреса одному из узлов кластера. Также она проверяет состояние и нагрузку на каждом узле, разрешая отправку трафика на менее загруженный узел, пропуская все недоступные узлы.
Для внедрения кластера NLB вам необходима дополнительная сетевая карта на каждом из внешних серверов. NLB требует, чтобы у каждого узла в кластере было по два IP-адреса. Технически вы можете это сделать и на одной сетевой карте, но наличие второго адаптера значительно упрощает процесс. После установки двух сетевых интерфейсов на каждом из внешних серверов мы готовы к настройке. На Рисунке 4 изображена типичная схема внешнего кластера NLB. Она похожа на схему с DNS-каруселью с той лишь разницей, что у каждого внешнего сервера есть вторая сетевая карта и второй IP-адрес.
Рисунок 4: Схема NLB
И так же, как и ранее, на всех внешних сервера должна быть установлена одна и та же операционная система, а также версия Exchange, включая все пакеты обновлений и исправления, и если вы предоставляете услуги OWA, вам необходимо настроить все внешние серверы одинаково.
При создании кластера NLB для внешних серверов Exchange необходимо выполнить две задачи.
Для настройки NLB на каждом из внешних серверов откройте свойства сетевого адаптера, использующегося для кластера NLB. Отметьте параметр Network Load Balancing (Балансировка нагрузки сети) и после того, как опция станет активной, нажмите кнопку Properties (Свойства). На вкладке Cluster Parameters (Параметры кластера) введите уникальный IP-адрес кластера. Это будет тот IP-адрес, на который DNS будет направлять клиентов. Введите маску подсети и FQDN кластера. Оставьте кластер в режиме Unicast (Односторонний) и отключите удаленное управление (Рисунок 5).
Рисунок 5: Параметры кластера
Далее, на вкладке Host Parameters (Параметры узла) выберите Priority (Приоритет). Каждый узел в кластере NLB имеет свой приоритет, который находится в диапазоне от 1 до 32. Затем введите IP-адрес узла (уникальный IP-адрес NLB) и маску подсети. Оставьте значением поля Initial Host State (Начальный статус узла) Started (Запущен) (Рисунок 6).
Рисунок 6: Параметры узла
Если хотите, можете отметить опцию Retain suspended state after computer restarts (После перезагрузки переводить компьютер в режим «Приостановлен»). Если вы отметите эту опцию, вас придется каждый раз после загрузки включать узел. Нажмите OK и закройте свойства сетевой карты. Повторите эту процедуру на всех узлах кластера NLB, установив для каждого уникальный приоритет. После завершения протестируйте настройки пингом IP-адреса кластера.
Последний шаг: создание DNS-записи типа A для IP-адреса кластера. Откройте в консоли управления DNS зону прямого просмотра. Добавьте запись типа A, которая будет указывать на IP-адрес кластера, и дайте ей уникальное имя. Закройте консоль управления DNS и протестируйте настройки пингом FQDN.
Заключение
Вот и все, что касается балансировки нагрузки внешних серверов Exchange. Если можете, используйте NLB. Это более трудоемкий из двух методов, но он предоставляет высокую работоспособность, чего нельзя добиться с DNS-каруселью. Оба метода легко расширяемы: просто добавьте еще один сервер в группу и укажите его в списке DNS-карусели или в кластере NLB. Единственное ограничение состоит в том, что NLB поддерживает не более 32 узлов.
Источник http://www.msexchange.org