gruber Опубликовано 8 мая, 2015 · Жалоба Доброго дня. Есть пара веб серверов на FreeBSD 10, между ними настроен CARP, используют они один адрес. Все вроде прекрасно, есть резервирование, один master - второй backup. Вопрос в том как поднять LoadBalancing, на основе хешей IP источника. Чтобы нагрузить запросами оба сервака. Раньше во фряхе до 10-ки оно умело вроде как, net.inet.carp.arpbalance, а начиная с 10-ки вроде как убрали эту фичу. Вопрос в том как сделать Load Balancing на freebsd 10 для двух серверов nginx? Может кто что нить присоветует? А то менять систему на 9-ку уже неохота. Всем спасибо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 8 мая, 2015 · Жалоба Там серьезные проблемы с src пакетами на slave сервере. Я к Глебиусу обращался, чтоб он нашел время и поправил эти глюки, но он сослался на занятость. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 8 мая, 2015 · Жалоба У вас клиенты в одном сегменте с серверами ? А то может и не стоит оно того ? балансится оно исключительно путем ответа разным АРП, т.е. если люди приходят с 1 маршрутизатора то балансировки и не было бы. повесте 2 ip. первый на 1-м сервере мастер, на втором слейв, второй наоборот и в DNS 2 записи. В общем так оно и получится. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SyJet Опубликовано 10 мая, 2015 · Жалоба А аппаратные балансеры типа ace и alteon? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
gruber Опубликовано 12 мая, 2015 · Жалоба Там серьезные проблемы с src пакетами на slave сервере. Я к Глебиусу обращался, чтоб он нашел время и поправил эти глюки, но он сослался на занятость. Понял, спасибо за инфо. По поводу балансировки по ARP - поянтно конечно что только внутри будет работать, поэтому и думали на счет балансировки по src-IP. В идеале хочется получить функционал CRAP из OpenBSD, судя по ихнему man, оно должно уметь по IP раскидывать. IP BALANCING IP load balancing works by utilizing the network itself to distribute incoming traffic to all carp nodes in the cluster. # ifconfig carp0 192.168.1.10 carpnodes 1:0,2:100 balancing ip The configuration for host B is identical, except the skew is on the carpnode entry with virtual host 1 rather than virtual host 2. # ifconfig carp0 192.168.1.10 carpnodes 1:100,2:0 balancing ip По поводу аппаратных балансеров - все как обычно просто, будет бюджет - будем думать о них, а пока как-нибудь так... Всем спасибо. Может с помощью PF попробовать, как-то так: web_servers = "{ 10.0.0.10, 10.0.0.11, 10.0.0.13 }" match in on $ext_if proto tcp to port 80 rdr-to $web_servers \ round-robin sticky-address ?? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
gruber Опубликовано 12 мая, 2015 · Жалоба Собственно вышли из положения с помощью PF. На первом серваке делаем правило в PF которое редиректит на несколько серверов: rdr on $ExtIf proto tcp from any to $CARP1 port 80 -> $webfarm round-robin sticky-address через devd отслеживаем состояние carp, если он вдруг стал не MASTER то убираем редирект передернув PF с другим конфигом, в /etc/devd/carp.conf #cat /etc/devd/carp.conf notify 0 { match "system" "CARP"; match "subsystem" "[0-9]+@[0-9a-z]+"; match "type" "(MASTER|BACKUP)"; action "/usr/local/libexec/carpcontrol.sh $subsystem $type"; }; Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
st_re Опубликовано 17 мая, 2015 · Жалоба table <web_servers> {} persistent и тогда можно по факту стал мастер добавлять в табличку IP и стал не мастер - убирать. меньше времени на парсинг конфига.. А чем 2 IP не подходит и по 2 карпа на каждой машине ? У меня такое в нескольких местах живет, нареканий не вызывает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...