В Windows мы можем настроить балансировку нагрузки для произвольных IP-служб, просто установив NLB и выбрав, какие узлы мы хотим в кластере. Он выполняет некоторое изменение MAC-адреса, а затем имеет алгоритмы, определяющие, какой узел обрабатывает входящий запрос.
Есть ли эквивалент производственного уровня для Linux? Мне не нужно что-то, для чего требуется, чтобы передний сервер физически (по сети) находился перед машинами (как это делают некоторые аппаратные LB и Linux Virtual Server, AFAIK). Я хочу что-то, что будет действовать аналогично Microsoft NLB - выберите N узлов, все они прослушивают один и тот же IP-адрес и разделяют входящие запросы.
видеть: http://lnlb.sourceforge.net/
Кажется, это именно то, о чем вы просите.
Эта страница суммирует это как: общий IP-адрес, совместно используемый всеми узлами (на виртуальном интерфейсе). Все, что вам нужно сделать, это привязать виртуальный интерфейс, все остальное сделает драйвер.
Это очень похоже на Windows NLB.
Если вам нужна балансировка нагрузки, такая как NLB, вам следует взглянуть на clusterip в iptables. -> http://security.maruhn.com/iptables-tutorial/x8906.html
Он делает то же самое, только отсутствует часть аварийного переключения, но, возможно, для этого существуют какие-то инструменты.
Вот некоторые из них, которые люди считают неплохими в сообществе Linux (за исключением LVS по вашему запросу). Я лично использовал только HAProxy, поэтому ваш опыт может отличаться.
Поддерживает балансировку нагрузки только для запросов http / https:
Циклический DNS был бы самым простым решением, но, возможно, он слишком прост для ваших требований.
LVS по-прежнему актуален - вам не нужно устанавливать его на отдельном оборудовании, чтобы он балансировал нагрузку на входящие запросы. Фактически, вы все еще думаете о балансировщике нагрузки и серверных службах как о разных вещах, но они просто устанавливаются на одних и тех же физических хостах.