IP-переадресация
Простая настройка
Распределение пакетов
Выключаем?
КОРОТКО О ПРОДУКТЕ

Идеальная сбалансированность работы нескольких зеркальных серверов Internet, как правило, достигается путем долгой и планомерной работы. Новому продукту компании Cisco Systems для оптимизации загрузки серверов это удается так же легко, как Дэвиду Копперфилду вынимать из шляпы кроликов.

В общем, LocalDirector произвел на меня должное впечатление. Ему не хватает поддержки SNMP и средств управления по Telnet, но он предлагает эффективный метод рационального распределения нагрузки между серверами Internet.

Более всего этот продукт портит его цена - 32 тыс. долл. Однако владельцы узлов Internet с интенсивным трафиком, которым нужны возможности LocalDirector по распределению нагрузки, наверняка смогут выкроить требуемую сумму из своего бюджета.

На сегодняшний день большинство специалистов использует одну из двух возможностей распределения трафика Internet. Первый способ - это система именования доменов DNS (Domain Name System), которая может распределять запросы по нескольким серверам, не обращая внимания на их производительность. Второй - сделать каждый сервер доступным для пользователей по отдельным ссылкам, но и в этом случае пользователи не получают никакого представления о том, какой сервер обеспечивает наилучшую производительность. LocalDirector устраняет все проблемы, выбирая для каждого пользовательского запроса сервер с наивысшей на данный момент производительностью, автоматически распределяя нагрузку между разными серверами.

IP-переадресация

LocalDirector эмулирует один физический сервер, имеющий единый виртуальный IP-адрес. Когда запросы клиентов приходят по этому виртуальному IP-адресу, LocalDirector переадресует их на реальные серверы. Отслеживая время реакции каждого сервера, LocalDirector использует "алгоритм распределения сеансов" SDA (Session Distribution Algorithm) производства компании Cisco, чтобы направить последующие запросы на сервер с самым быстрым временем реакции.

По мере того как нагрузка на сервер растет, его время реакции ухудшается, и SDA начинает направлять пакеты к новому наиболее скоростному серверу.

Достоинство SDA в том, что его использование не приводит к дополнительной загрузке сети, типа PING-запросов или эха протокола User Datagram Protocol.

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

Пакеты, адресованные на виртуальный IP-адрес, направляются одному из реальных серверов; остальные пакеты подчиняются ограничениям шлюза.

Аппаратная часть LocalDirector, основанная на процессоре Pentium/166 МГц компании Intel и материнской плате Intel, включает в себя две сетевые платы Intel Express 10/100Base-TX, так что возможности его применения ограничиваются на сегодняшний день сетями Ethernet и Fast Ethernet.

Простая настройка

Я пришел к выводу, что LocalDirector достаточно прост в конфигурировании и использовании. Он предусматривает управление посредством терминала, к которому я получил доступ с помощью эмулятора терминала VT 100. Чтобы испытать LocalDirector, я установил три серверные системы в локальном сегменте, каждая из которых реализовывала Web-сервер и сервер FTP. Одна из систем дополнительно реализовывала еще и DNS. Я также установил два клиента на разные сегменты, и подсоединил эти сегменты к двум сетевым платам LocalDirector.

Конфигурируя LocalDirector, я определил преобразование между реальными IP-адресами и единым виртуальным IP-адресом. Затем создал две точки входа в мой DNS, один для Web-сервера и один для FTP-сервера, и сделал так, чтобы оба имени хостов относились к виртуальному IP-адресу, поддерживаемому LocalDirector. LocalDirector поддерживает 1024 реальных и 1024 виртуальных хоста и позволяет ставить в соответствие одному реальному хосту несколько виртуальных, а также ставить в соответствие виртуальным хостам разные порты на одной и той же машине.

Распределение пакетов

Когда я стал просматривать содержимое Web-сервера, LocalDirector, как и ожидалось, сначала направлял мои запросы каждому серверу по очереди, засекая распределение времени реагирования, а затем отсылал запросы серверу с наименьшим временем.

LocalDirector совершенно не влиял на производительность, и я мог, как и раньше, получить доступ к любому хосту непосредственно по его реальному IP-адресу.

SDA направляет запрос каждому серверу не реже одного раза в минуту, обновляя значения времени реакции для каждого сервера.

В случае соединений FTP это может вызвать проблемы, так как LocalDirector рассматривает каждый запрос на файл или список каталогов отдельно. Я подключился к FTP-серверу и стал просматривать его содержимое, - в итоге LocalDirector отослал меня к новому FTP-серверу, разорвав соединение, и FTP-клиент завис.

Для решения этой проблемы LocalDirector позволяет прикрепить специальный таймер, который действует таким образом, что один и тот же реальный сервер принимает запросы одних и тех же пользователей в течение установленного периода времени.

Итак, если вы ставите таймер, например на пять минут, а пользователь связан непосредственно с хостом, тогда LocalDirector будет в течение этих пяти минут продолжать направлять все его запросы на тот же сервер.

Выключаем?

Чтобы проверить реакцию LocalDirector на выключенный сервер, я установил с сервером сеанс, а затем отключил его от концентратора. Поскольку прикрепляемый таймер был активирован, LocalDirector продолжал направлять запросы на выключенный сервер, пока, после четырехкратного превышения лимита времени, не перенаправил запрос на другой сервер.

Более того, SDA продолжал посылать запросы на выключенный сервер раз в минуту, что приводило к дополнительным задержкам. Чтобы покончить с повторением запросов, я обозначил выключенный сервер как "нерабочий" в меню конфигурации LocalDirector.

В идеале, эту настройку лучше всего делать посредством SNMP, извещая системного администратора каждый раз, когда определенное количество запросов на сервер превышает временной лимит. Тогда администратор сможет быстро обратиться к LocalDirector через Telnet, чтобы прекратить запросы к серверу.

Однако LocalDirector сейчас не поддерживает управление через SNMP, так что вы не сможете установить связь с программой ни через SNMP, ни через Telnet. Компания Cisco заявляет, что версия, поддерживающая управление через SNMP и Telnet, должна появиться осенью.

К тому времени запланированы и другие усовершенствования, а именно управление на базе HTML и отказоустойчивость физического соединения, что позволит обеспечить бесперебойное функционирование дублированного LocalDirector.


КОРОТКО О ПРОДУКТЕ

Cisco LocalDirector
LocalDirector компании Cisco, аппаратно-ориентированный серверный распределитель нагрузки, рационально распределяет общую нагрузку, создаваемую клиентами Internet, по нескольким дублируемым серверам. Этот продукт просто незаменим на интенсивно используемых многосерверных узлах Internet.

Достоинства: Переадресовывает полный набор протоколов TCP/IP, включая HTTP, FTP (File Transfer Protocol) и Telnet; поддерживает непрерывную связь между серверами, несмотря на большую нагрузку и сбои серверов.

Недостатки: Не поддерживает управление на базе SNMP и доступ через Telnet.

Cisco Systems: http://www.cisco.com.

Цена: 32 тыс. долл.

Платформа: TCP/IP в сетях Ethernet и Fast Ethernet.

Поделитесь материалом с коллегами и друзьями