Windows - статьи

       

БАЛАНСИРОВКА СЕТЕВОЙ НАГРУЗКИ


Служба Network Load Balancing (NLB - балансировка сетевой нагрузки) операционной системы Windows 2000, известная под названием Windows NT Load Balancing Service (WLBS) в NT Server 4.0 и NTS/E, в сущности, представляет собой IP-балансировщик нагрузки. NLB распределяет входящие запросы IP между несколькими узлами с NLB-программами, обеспечивая масштабируемость и готовность. Для внешнего мира узлы имеют один IP-адрес. Чтобы удовлетворить растущий пользовательский спрос на сетевые ресурсы, достаточно просто увеличить число узлов NLB-кластера.

На Рисунке 5 показан внешний NLB-интерфейс критически важного для работы предприятия сервера, такого как SQL Server или Microsoft Exchange 2000 Server, работающий на кластере. Внешний NLB-интерфейс выполняет значительную часть операций связи, которые в противном случае были бы возложены на кластер SQL Server или Exchange 2000. Помимо балансировки нагрузки повышается и готовность, поскольку NLB-кластер направляет клиентские запросы на сервер. Если один NLB-узел отказывает, то нагрузка будет незамедлительно передана на другие узлы, и пользователь не заметит перерыва в обслуживании.


Рис. 5

Базовое программное обеспечение NLB - NDIS-драйвер, расположенный между сетевым контроллером и TCP/IP. Драйвер устанавливается на каждом сервере NLB-кластера. Все NLB-узлы - или серверы - имеют общий виртуальный IP-адрес (VIP, зарегистрированный в службе DNS), который представляет требуемый сетевой ресурс. Все NLB-серверы принимают пользовательские запросы, но отвечает лишь один. Для определения сервера, откликающегося на запрос, используется метод балансировки нагрузки, основанный на алгоритме быстрого хеширования, учитывающий клиентский IP-адрес, номер порта или оба эти параметра. Указав аффинность, можно распределить трафик между серверами (то есть на одни серверы придется более интенсивный трафик, чем на другие). Благодаря периодическому обмену контрольными сообщениями, все NLB-узлы быстро оповещаются о любых изменениях в кластере, таких как отказ или добавление узла. В случае изменений, NLB начинает процедуру конвергенции, автоматически согласовывая изменения и прозрачно перераспределяя входящую нагрузку.

В отличие от кластерной службы, NLB - кластерное решение, в котором не используется информация о состоянии. Это означает, что в случае отказа состояние пользователя и приложения не сохраняется. Обычно такой кластер без сохранения информации о состоянии, как NLB, используется для распределения нагрузки между несколькими Web-серверами. Однако в NLB есть функции восстановления состояния пользователя, необходимые для некоторых типов приложений на Web-серверах, например, для электронных магазинов. Служба NLB реализована в Datacenter и Windows 2000 AS.



Содержание раздела