URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92626
[ Назад ]

Исходное сообщение
"ARP-балансировка CARP'ом"

Отправлено D06PbIU , 20-Ноя-11 12:21 
Помогите разобраться с ARP-балансировкой.
Балансирую два роутера FreeBSD_8.2, на каждом поднимаю по два CARP интерфейса с одним общим ip (192.168.1.10/16) но разными vhid, и разумеется включаю net.inet.carp.arpbalance=1 и net.inet.carp.preempt=1:

routerA:
ifconfig_em0="inet 192.168.1.2 netmask 255.255.0.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 pass testpass 192.168.1.10/16"
cloned_interfaces="carp1"
ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.10/16"

routerB:
ifconfig_em0="inet 192.168.1.3 netmask 255.255.0.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.10/16"
cloned_interfaces="carp1"
ifconfig_carp1="vhid 2 pass testpass 192.168.1.10/16"

Все делаю по man'y!
И вот что получается:

routerA# ifconfig
carp1: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
   inet 192.168.1.10 netmask 0xffff0000
   carp: BACKUP vhid 1 advbase 1 advskew 100

routerB# ifconfig
carp1: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
   inet 192.168.1.10 netmask 0xffff0000
   carp: MASTER vhid 1 advbase 1 advskew 0

Поднимается только по одному carp, на роутере A - бэкап, на B - мастер, и в итоге весь трафик обрабатывает только роутер B, хотя отказоустойчивость работает - вырубаю B, сразу же включается A.
Я так понимаю что для балансировки нужно чтобы на роутере А должен быть один carp - мастер (с vhid 1), а другой carp - бэкап (c vhid2); а на роутере B одни carp - бэкап (с vhid1), а другой carp - мастер (c vhid2)... тогда и будет балансироваться!

Может я что-то не допонимаю? Кто с carp'ом имел дело, поясните что сделал не так, пожалуйста?


Содержание

Сообщения в этом обсуждении
"ARP-балансировка CARP'ом"
Отправлено Аноним , 20-Ноя-11 15:42 
Делал на 8.2 балансировку по ману, все работало. Какая реакция системы на команды "ifconfig carp0 create" и "ifconfig carp0 vhid 2 pass testpass 192.168.1.10/16" ?



"ARP-балансировка CARP'ом"
Отправлено sherlock , 21-Ноя-11 09:25 
> Делал на 8.2 балансировку по ману, все работало. Какая реакция системы на
> команды "ifconfig carp0 create" и "ifconfig carp0 vhid 2 pass testpass
> 192.168.1.10/16" ?

мне кажется все банальнее
не обратили внимание, что cloned_interfaces 2  раза получается, это не значит, что он два раза выполнится, а выполнится последний!!!! (такова обработка rc конфигов)

надо поправить так:

cloned_interfaces="carp0 carp1"


"ARP-балансировка CARP'ом"
Отправлено universite , 21-Ноя-11 16:01 

> надо поправить так:
> cloned_interfaces="carp0 carp1"

+1


"ARP-балансировка CARP'ом"
Отправлено D06PbIU , 21-Ноя-11 18:57 
>> Делал на 8.2 балансировку по ману, все работало. Какая реакция системы на
>> команды "ifconfig carp0 create" и "ifconfig carp0 vhid 2 pass testpass
>> 192.168.1.10/16" ?
> мне кажется все банальнее
> не обратили внимание, что cloned_interfaces 2  раза получается, это не значит,
> что он два раза выполнится, а выполнится последний!!!! (такова обработка rc
> конфигов)
> надо поправить так:
> cloned_interfaces="carp0 carp1"

так и сделал! все заработало)! спасибо!


"ARP-балансировка CARP'ом"
Отправлено D06PbIU , 22-Ноя-11 14:56 
Поясните по балансировке!
То есть получается что половину всех хостов сети будет обслуживать один роутер, а другую половину другой, так?? В этом и есть вся балансировка?



"ARP-балансировка CARP'ом"
Отправлено D06PbIU , 11-Дек-11 17:20 
>>> Делал на 8.2 балансировку по ману, все работало. Какая реакция системы на
>>> команды "ifconfig carp0 create" и "ifconfig carp0 vhid 2 pass testpass
>>> 192.168.1.10/16" ?
>> мне кажется все банальнее
>> не обратили внимание, что cloned_interfaces 2  раза получается, это не значит,
>> что он два раза выполнится, а выполнится последний!!!! (такова обработка rc
>> конфигов)
>> надо поправить так:
>> cloned_interfaces="carp0 carp1"
> так и сделал! все заработало)! спасибо!

Такая проблема:
Настройку carp интерфейсов прописал в /etc/rc.conf, когда сервера перезагружается carp интерфейсы почему-то зависают в состоянии INIT... выполняю /etc/netstart - сразу же определяются кто MASTER, а кто BACKUP и все работает... что может быть???
P.S.
Всего 6 carp'ов (балансировка + отказоустойчивость): 4 на ethernet'e - работают отлично и после перезагрузки определяются кто есть кто; 2 на infiniband'e - вот они то и не хотят сразу работать после ребута((