Я пытаюсь начать балансировку нагрузки наОблачный сервер ElasticHosts, и их система не позволяет пользователю VRRP.
Кто-нибудь знает какие-либо не-VRRP-балансировщики нагрузки, которые предварительно упакованы для стандартных Debian/Ubuntu?
Я пробовал не-VRRPUltraMonkey, но программное обеспечение, похоже, устарело и больше не имеет хорошей упаковки — последний релиз был для Debian Sarge.
С благодарностью приму совет.
решение1
UltraMonkey по сути является просто зонтичным проектом для нескольких компонентов, которые полезны при построении балансировщика нагрузки на Linux-боксе. Компоненты следующие:
ipvs
. Присутствует в подавляющем большинстве стандартных ядер дистрибутивов (2.6 и более поздние версии), скомпилирован как модуль. Запустите,modinfo ip_vs
чтобы увидеть, присутствует ли в вашем ядре. Все еще в стадии разработки; и совсем недавно была добавлена поддержка ipv6. Код должен соответствовать стандартам ядра и обеспечивать чрезвычайно хорошую производительность. Смотретьhttp://www.linuxvirtualserver.org/software/ipvs.htmlдля получения дополнительной информации.ipvsadm
. Инструмент командной строки, используемый для администрирования IPVS, позволяющий добавлять и удалять внутренние серверы из виртуальной группы, устанавливать веса серверов, выбирать алгоритм планирования (например, циклический перебор, соединение с наименьшим весом) и многое другое. Я не могу говорить за Debian, но ipvsadm v1.2.5-1 присутствует в стандартных репозиториях Ubuntu, и доступна версия v1.26, выпущенная в феврале 2011 года. Поэтому, скорее всего, вы можете запустить a:,sudo apt-get install ipvsadm
а затем aman ipvsadm
в своей системе, чтобы получить полную информацию.ldirectord
. Это демон проверки работоспособности, написанный на Perl, который также служит удобным интерфейсом для ipvsadm. Он позволяет вам поддерживать файл конфигурации вашей конфигурации ipvs, вместо того чтобы самому писать скрипты нескольких команд ipvsadm. На внутренних серверах можно выполнять множество различных типов проверки работоспособности. Опять же, ldirectord можно установить (по крайней мере, в Ubuntu) через стандартные репозитории, и он все еще находится в стадии разработки (изменения IPv6 внесены в июне 2011 г.).- Linux-HA. Чтобы все усложнить, это также комбинированный проект, который фактически включает ldirectord. Хотя, как упоминалось выше, вы можете установить ldirectord отдельно через репозитории. Насколько я могу судить, главное дополнение, которое предоставляет Linux-HA, — это Heartbeat, который позволяет вам кластеризовать 2 (или более) балансировщика нагрузки, которые (как вы могли ожидать) отправляют друг другу сигналы heartbeat, чтобы они знали о состоянии друг друга, и при необходимости переключаться на другой ресурс. Вот где проявляется отличие от VRRP. Вы, как правило, активируете свои виртуальные IP-адреса (т. е. «работает») только на одном балансировщике нагрузки, чтобы только одна машина отвечала на запросы ARP для VIP. Таким образом, балансировщики нагрузки будут находиться в активном/пассивном состоянии, и если узел Slave обнаружит, что главный узел вышел из строя, он «поднимет» виртуальные IP-адреса. Если виртуальные IP-адреса работают на обоих узлах, то у вас проблема, обычно называемая «разделением мозга». Дополнительная информация о Heartbeat:http://www.linux-ha.org/wiki/Heartbeat.
Я полагаю, что отсутствие поддержки проекта UltraMonkey может быть связано с тем, что каждый отдельный компонент теперь широко доступен (в двоичном формате) в популярных дистрибутивах, чего не было еще 5+ лет назад.
Обратите внимание, что использование этих компонентов описанным выше способом может отличаться от вашего изначального плана, поскольку балансировщик нагрузки — это выделенная машина; вам не нужно устанавливать все это на серверах приложений. Вместо этого ipvs-бокс будет располагаться перед вашими внутренними серверами и «направлять» на них трафик в соответствии со своими алгоритмами планирования и другими параметрами конфигурации (весами и т. д.).
Если у вас нет особой необходимости в балансировке нагрузки на уровне 4 (обычно по соображениям производительности), вы также можете взглянуть на HAProxy, который является прокси-сервером уровня 7 с обширной функциональностью балансировки нагрузки. На ServerFault есть много хорошо отвеченных вопросов о HAProxy. Кроме того, что касается heartbeats/failover и управления вашими виртуальными IP, вы можете взглянуть на keepalived как на альтернативу Linux-HA Heartbeat.