Объяснение компенсации нагрузки веб серверов на ISA Server 2006

OSzone.net » Microsoft » ISA Server » Объяснение компенсации нагрузки веб серверов на ISA Server 2006
Автор: Марк Гроут
Иcточник: isadocs.ru
Опубликована: 24.04.2009

В этой статье я покажу, как распределять нагрузку между несколькими веб серверами с помощью возможностей компенсации нагрузки веб серверов в ISA Server 2006. Я также расскажу о некоторых основах NLB в ISA Server и Windows Server 2003, чтобы дополнить обзор возможностей компенсации нагрузки в ISA Server 2006 / Windows Server 2003.

Итак, начнем

ISA Server 2006 может распределять веб трафик на идентично настроенные веб серверы, что обычно является специальной функцией аппаратного компенсатора нагрузки (Hardware load balancer). Компенсация нагрузки веб сервера распределяет сетевой трафик на внутренние узлы во внутренней сети без использования классических функций NLB операционной системы Windows.

Можно публиковать аппаратное устройство компенсации нагрузки для распределения веб трафика на внутреннем веб сервере, но компенсация нагрузки в веб ферме ISA Server имеет ряд преимуществ (равно как и недостатков):

Некоторые аппаратные компенсаторы нагрузки используют исходные IP адреса для распределения веб запросов, но это решение может быть подходящим только в средах, где эти серверы не привязаны к NAT устройствам. ISA Server 2006 не направляет оригинальный IP адрес в стандартном сценарии публикации веб серверов. IP адрес с внешнего клиента будет всегда замаскирован под IP адрес сервера ISA Server. Если вы хотите иметь возможность передачи оригинального клиентского IP внешних клиентов, делающих запросы, публичные веб серверы должны иметь ISA Server в качестве своих основных шлюзов, что не подходит для некоторых сред.

Другим способом распределения трафика между веб серверами является использование интегрированного в Windows механизма компенсации нагрузки (Network Load Balancing (NLB)). NLB обеспечивает распределение сетевого трафика на основе правил портов. Все узлы в кластере NLB используют один виртуальный IP адрес (VIP), который используется сервером ISA Server для передачи трафика. Алгоритм NLB распределяет трафик среди всех членов кластера NLB.

Основы сетевой компенсации нагрузки

Очень коротко; NLB представляет собой тип кластерной технологии, которая не является эксклюзивной технологией для Microsoft Windows. NLB является частью семейства операционных систем Windows Server 200x и используется для распределения сетевого трафика между сетевыми узлами с поддержкой до 32 хостов. NLB использует распределенный алгоритм, который компенсирует нагрузку между всеми узлами кластера Windows NLB. Итак, NLB может использоваться для обеспечения возможностей обхода отказа и компенсации нагрузки.

Можно включать функцию NLB на каждой версии Windows Server 2003. На следующем рисунке показан диспетчер компенсации нагрузки Windows Server 2003 Network Load Balancing Manager с одним узлом NLB.

*
Увеличить

Рисунок 1: Диспетчер компенсации нагрузки Windows Network Load Balancing Manager

Как показано на рисунке 1, можно создавать правила портов, которые определяют, какой порт будет прослушиваться кластером NLB. Для настроенного правила порта механизм NLB распределяет трафик веб сервера между каждым узлом кластера NLB, но лишь на основе IP адресов и номеров портов.

*
Увеличить

Рисунок 2: Свойства кластера NLB ‘ Добавить/Изменить правило порта

Можно выбирать протокол TCP или UDP, HTTP или TCP, поэтому TCP будет лучшим вариантом для публикации веб серверов.

NLB в ISA Server 2006

Если вы планируете распределять нагрузку внутренних веб серверов с помощью функции NLB веб фермы ISA Server, следует также учитывать, что ISA Server может стать единственной точкой сбоя (SPOF), когда его нагрузка не компенсируется. ISA Server 2006 Enterprise использует NLB для распределения нагрузки серверов ISA. Можно использовать NLB в интегрированном режиме, предпочитаемом и рекомендуемом режиме для ISA Server 2006. Можно также использовать NLB в ISA Server 2006, но такой сценарий официально не поддерживается в Microsoft и имеет некоторые ограничения.

*
Увеличить

Рисунок 3: Конфигурация ISA NLB

Компенсация нагрузки в ферме веб серверов

Публикация фермы веб серверов очень схожа с обычной публикацией веб сервера. Запустите мастера публикации и нажмите на кнопку Опубликовать ферму серверов с компенсацией нагрузки веб серверов (Publish a Server Farm of load balanced Web servers).

*

Рисунок 4: Мастер создания нового правила веб публикации ‘ публикация фермы серверов

Одним из следующих шагов будет создание новой фермы веб серверов. Ферма веб серверов содержит все веб серверы, которые вы хотите включить в ферму компенсации нагрузки.

*

Рисунок 5: Рисунок 5: Приветственное окно мастера создания фермы серверов

Теперь нужно выбрать веб сервер для публикации с компенсацией нагрузки на основе Cookie или на основе IP источника.

Привязка на основе Cookie

Привязка на основе сеансов или Cookie обычно используется для публикации Outlook Web Access (OWA) на сайтах/службах Exchange Server 200x или Microsoft SharePoint. Не следует использовать эту привязку, если вы хотите опубликовать RPC по HTTP(S). RPC по HTTP(S) используется для предоставления клиентам Outlook полного доступа к серверу Exchange Server из интернета. Трафик RPC будет туннелироваться по HTTPS. В Outlook нельзя использовать привязку на основе Cookie.

IP привязка

В IP привязке трафик веб серверов распределяется на основе IP для всех членов веб фермы. Если один из серверов перестает отвечать, трафик будет отправлен другому участнику веб фермы.

Не следует использовать IP привязку, если удаленные клиенты расположены за NAT сервером, поскольку ферма веб серверов будет видеть только IP адрес сервера ISA Server. Если это так, следует использовать сеансовую привязку, если это возможно.

IP привязка полезна в сценарии Exchange RPC по HTTP(S), где сеансовая привязка не может использоваться или в ситуации Exchange Active Sync публикации, где клиент не полностью понимает HTTP 1.1 (что необходимо для привязки на основе cookie).

*

Рисунок 6: Выбор фермы веб серверов для публикации

Пришло время создать ферму веб серверов. Выберите серверы, которые хотите включить в ферму.

*

Рисунок 7: Выбор серверов для фермы

Мониторинг статуса фермы веб серверов

Если вы хотите знать, как член фермы веб серверов доступен, а какой нет, ISA Server автоматически создает верификаторы соединения, когда вы создаете веб ферму. Верификатор подключения проверяет статус члена фермы и предоставляет отчет об этом событии в конфигурации оповещений ISA Server, который создает оповещения, как например e-mail сообщения, записи в журнале регистрации событий и т.д.

Серверы в веб ферме могут иметь пять различных состояний:

Активный

Это нормальное состояние веб сервера в ферме и оно указывает на то, что сервер доступен и может принимать запросы.

Не обслуживается (Out-of-service)

Это состояние указывает на то, что сервер не ответил верификатору подключения в течение определенного промежутка времени. На этот сервер не отправляются запросы.

Освобождение (Draining)

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

Удален (Removed)

Это состояние указывает на то, что веб сервер был удален из фермы, и более не принимает запросы.

Невозможно проверить (Unable to verify)

Это говорит о том, что состояние сервера не может быть проверено.

В зависимости от типа опубликованного сервера можно создавать различные верификаторы подключений. Для сеансовой (cookie) привязки используйте верификатор URL подключения, для IP привязки - PING запрос или верификатор подключения порта.

*

Рисунок 8: Мониторинг подключения фермы серверов

Можно проверять статус членов фермы в закладке «Верификаторы подключений» (Connectivity Verifiers) вкладки мониторинга в консоли управления ISA Server 2006 MMC.

Чтобы использовать верификатор подключения, необходимо создать правило, которое будет разрешать HTTP или HTTPS к указанному адресу назначения (ферме веб серверов). ISA Server автоматически создает это правило.

*

Рисунок 9: Включение верификации HTTP подключения

После того, как мастер закончит создание нового правила публикации веб сервера, вы найдете это правило в закладке Политики брандмауэра (Firewall Policy) консоли ISA Server MMC. Специальный символ в правиле веб публикации указывает на то, что ферма веб серверов была опубликована.

*

Рисунок 10: Новое правило политики брандмауэра

Если вы откроете правило публикации веб серверов, вы найдете там закладку под названием Веб ферма (Web Farm), которая будет новой закладкой после публикации фермы веб серверов. В этой закладке можно изменять конфигурацию фермы веб серверов.

*

Рисунок 11: Свойства конфигурации веб фермы

Нажмите Изменить, чтобы отобразить свойства фермы веб серверов.

*

Рисунок 12: Свойства подключения фермы веб серверов

Перейдите к закладке Серверы и еще раз нажмите Изменить (Edit), чтобы изменить свойства сервера или разместить один сервер вручную в режиме обслуживания, если вы нажмете кнопку Освободить (Drain). При сеансовой привязке сервер будет продолжать обрабатывать текущие сеансы, но не будет принимать новые подключения. Если вы используете IP привязку, освобожденный сервер перестанет принимать запросы, но существующие подключения к этому серверу будут обрабатываться.

Заключение

В этой статье я попытался предоставить вам пошаговое руководство для того, как включать компенсацию нагрузки веб серверов на ISA Server для распределения веб трафика между несколькими внутренними серверами, не используя классический аппаратный компенсатор нагрузки или решение NLB (Network Load Balancing) на базе Windows Server 2003. На мой взгляд, функция компенсации нагрузки веб серверов в ISA Server 2006 является отличной функцией для ограниченного количества веб серверов с базовой функциональностью. Традиционный аппаратный компенсатор нагрузки, однако, имеет несколько дополнительных расширенных функций.

Дополнительные ссылки


Ссылка: http://www.oszone.net/9201/ISA_Server_2006