Грамотные сетевые администраторы используют ПО с открытым кодом для организации новых недорогих виртуальных серверов. Это подстегивает экспоненциальный рост числа серверных кластеров, серверных ферм и Web-приложений. Однако простое добавление в имеющуюся систему новых серверов — не слишком эффективный способ повышения вычислительных мощностей. По-настоящему эффективная организация предполагает, что нагрузки должным образом распределяются между имеющимися ресурсами, и здесь не обойтись без средств их балансировки. Такие средства сокращают время ожидания, повышают пропускную способность и помогают избежать “узких мест”.
Компания Coyote Point Systems производит аппаратные решения для балансировки нагрузки. Предлагаемые ею четыре системы различаются отдельными параметрами, но во всех них используется одна и та же консоль управления и имеются одни и те же базовые функции. Я протестировал одно из этих устройств, E650GX (V8.6), относящееся к верхней ценовой категории, прежде всего обращая внимание на функциональность, простоту использования и соответствие поставленной задаче.
Рекомендованная производителем цена E650GX ($14 395) включает год технического сопровождения. В данном случае Coyote Point решила по-новому подойти к проблеме балансировки, переместив обработку трафика с четвертого уровня модели OSI (Layer 4) на седьмой уровень (Layer 7), где осуществляется взаимодействие между приложениями. Поддержка системы виртуализации VMware vSphere делает E650GX полнофункциональным решением для ускорения сетевого трафика.
Инсталляция E650GX проходит очень быстро, устройство включает 22 интерфейса Gigabit Ethernet, и фактически администратору помимо собственно установки блока в стойку нужно лишь провести и подключить кабели Ethernet от серверов, для которых осуществляется балансировка.
Если ваша сеть невелика, установка упрощается: вы всего лишь подключаете разъем своего межсетевого экрана к внешнему порту E650GX, а затем каждый сегмент сети соединяете с соответствующим внутренним портом устройства. Все порты поддерживают стандарт Gigabit Ethernet с полнодуплексным режимом. Это почти наверняка исключает вероятность возникновения заторов в местах сетевых соединений, во всяком случае узких мест в ходе тестирования не наблюдалось.
Основные процедуры настройки также оказались простыми. Доступ к панели управления реализован через Web-браузер, функции снабжены контекстными справочными материалами, есть также “мастера”, помогающие ускорить многие операции. Панель управления основана на технологии Ajax, при ее разработке использовался инструментарий Dojo Toolkit на базе JavaScript. В результате консоль выглядит вполне профессионально.
Установка основных параметров
Я без труда наладил балансировку нагрузки, задав E650GX всего несколько основных параметров, в частности указав серверные кластеры и определенные правила балансировки. К примеру, если у вас есть девять серверов, на которых работают Web-приложения, вы каждый из них подключаете к одному из портов E650GX и затем все серверы группируете в логические кластеры — возможно, таких кластеров у вас будет три, по три сервера в каждом.
Поскольку кластеры определяются на логическом уровне, вам очень легко проводить с ними любые изменения, таким образом система получается очень гибкой. Администраторы могут также создавать виртуальные ЛВС на основе сегментов IP-адресов — это ускоряет обработку локальных запросов и сокращает время ожидания, поскольку локальный трафик проходит в одном и том же логическом сегменте.
В E650GX предусмотрено множество средств для балансировки нагрузки. В частности, “Правила соответствия и настраиваемой политики балансировки” позволяют создавать политику на базе запросов на Layer 4 или Layer 7 либо на базе булевой логики. Простейшие политики балансировки определяются путем настройки параметров Layer 4 — здесь можно указывать такие опции, как “минимум соединений”, “наиболее быстрый отклик”, адаптивная или круговая система, а также алгоритмы на стороне сервера или на стороне агента. Алгоритмы на стороне агента оказались наиболее подходящим средством, поскольку агент для мониторинга устанавливается на каждом сервере кластера.
Политики на базе Layer 7 создавать чуть сложнее. Здесь используется анализ трафика с целью определить оптимальное распределение нагрузки между кластерами. Администратор определяет протоколы, в соответствии с которыми будет включаться та или иная политика балансировки для перенаправления трафика к тому или иному кластеру.
Политики на базе булевой логики позволяют обрабатывать определенные запросы в зависимости от условий, заранее определенных администратором. Это может пригодиться для изменения маршрутизации трафика в случае, если какой-либо сервер не отвечает на запросы.
Определение правил
Определение кластеров — лишь часть вашей задачи. Как уже упоминалось, администраторы могут также задавать правила обработки трафика и перераспределения нагрузки. В терминологии Coyote Point эти определения называются Smart Events (“интеллектуальные события”).
Правила задействуют несколько параметров, таких, как нагрузка сервера, тип трафика, дополнительная нагрузка и устойчивость соединений. Все это основано на довольно сложных технологиях, но E650GX предлагает специальные мастера для создания правил, что существенно упрощает их определение и требует лишь обычного здравого смысла.
Конечно, от такого устройства, как E650GX, естественно ожидать наличия функций для балансировки нагрузки и маршрутизации трафика. Но основная прелесть данного устройства заключается в поддержке продуктов VMware vSphere. Проще говоря, E650GX позволяет манипулировать нагрузкой и маршрутами трафика при работе с виртуальными серверами.
Поддержка кластеров vSphere обеспечивается с помощью программных интерфейсов (API), предлагаемых VMware. Через эти интерфейсы E650GX оценивает нагрузку на виртуальные серверы и в соответствии с полученной оценкой, а также с политиками, которые задает администратор, перераспределяет нагрузку и маршрутизирует трафик.
Кроме того, устройство поддерживает серверы на базе технологии Intelligent Platform Management Interface (интерфейс управления интеллектуальными платформами, IPMI). Это делает данное решение еще более гибким при использовании виртуальных серверов. Спецификация IPMI среди прочего позволяет продуктам независимых разработчиков дистанционно включать и отключать серверы, а также посылать им команды. Администраторы с помощью политик на базе IPMI могут организовать автоматическое подключение дополнительных серверов в тех случаях, когда нагрузка достигает критического уровня, и отключать эти серверы, если объем трафика уменьшается.
В основном интерфейс для работы с E650GX показался мне простым, большинство функций удавалось задействовать без особого труда. Довольно просто реализованы панели управления и меню для составления отчетов. На панели управления в режиме реального времени отображается информация о том, насколько эффективно распределяется трафик, а отчеты позволяют посмотреть историю изменений параметров, подлежащих мониторингу.
E650GX имеет и другие полезные функции, в частности ускорение SSL (Secure Sockets Layer), компрессию HTTP и глобальную (“географическую”) балансировку нагрузки. Ускорение SSL позволяет уменьшить время ожидания при HTTPS-запросах за счет переноса операций по шифрованию пакетов на само устройство. Компрессия HTTP также сокращает время ожидания, оптимизируя запросы по протоколу HTTP.
Глобальная (географическая) балансировка может пригодиться при использовании географически распределенных кластеров. Запросы при этом передаются на серверы, находящиеся ближе всего к пользователю, что сокращает время ожидания и положительно сказывается на оптимальности использования пропускной способности. Поддержка устойчивости соединений применяется в решениях для e-коммерции. Кроме того, данная функция задействуется для подключения дополнительного устройства при отказе сервера.