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

Исходное сообщение
"CARP problem"

Отправлено elf_ua , 19-Фев-08 11:49 
Имею 2 FreeBSD 6.2 сервака. 2-й является клоном первого с небольшими изменениями (чуть другое железо)

Поднимаю CARP по ману и хенд буку.

/etc/rc.conf

1-й сервак:

hostname="freedom.xxx"

ifconfig_myk0="inet 192.168.16.2 netmask 255.255.255.0"         #Lan
ifconfig_em0="inet xxxxxxxxxxxxxx netmask 255.255.255.252"      #World

cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 192.168.16.4"

2-й сервак:

hostname="bagira.xxx"

ifconfig_bge0="inet 192.168.16.1 netmask 255.255.255.0"         #Lan
ifconfig_bge1="inet xxxxxxxxxxxxx netmask 255.255.255.252"      #World

cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 192.168.16.4 advskew 200"

    При загрузке интерфейс carp0 на bagira запускается нормально. А на freedom в состоянии INIT (down?). Если его (carp0 на freedom) вручную перевести в UP, то он становится BACKUP, хотя advskew у него 0.
    При выключнии Bagira - Freedom становится MASTER, а после включения - опять BACKUP. Шаманство с различным advskew и vhid не помогает.

Если интерфейсы CARP создавать вручную, то такая же ситуация на Freedom:
ifconfig carp0 create
ifconfig carp0 vhid 2 pass mypass 192.168.16.4

получаем:
carp0: flags=8<LOOPBACK> mtu 1500
        inet 192.168.16.4 netmask 0xffffff00
        carp: INIT vhid 2 advbase 1 advskew 0

дальше ifconfig carp0 up:
carp0: flags=49<UP,LOOPBACK,RUNNING> mtu 1500
        inet 192.168.16.4 netmask 0xffffff00
        carp: BACKUP vhid 2 advbase 1 advskew 0

а через несколько секунд при отсутствии carp на Bagira переходит в мастер:
carp0: flags=49<UP,LOOPBACK,RUNNING> mtu 1500
        inet 192.168.16.4 netmask 0xffffff00
        carp: BACKUP vhid 2 advbase 1 advskew 0

В логи при создании carp0 валится:

freedom routed[482]: possible netmask problem between carp0:192.168.16.4/32 and myk0:192.168.16.0/24
freedom kernel: carp0: incorrect hash


Содержание

Сообщения в этом обсуждении
"CARP problem"
Отправлено elf_ua , 19-Фев-08 11:58 
еще sysctl -a | grep carp

net.inet.ip.same_prefix_carp_only: 0
net.inet.carp.allow: 1
net.inet.carp.preempt: 1
net.inet.carp.log: 1
net.inet.carp.arpbalance: 0
net.inet.carp.suppress_preempt: 1


"CARP problem"
Отправлено idle , 19-Фев-08 12:13 
>еще sysctl -a | grep carp
>
>net.inet.ip.same_prefix_carp_only: 0
>net.inet.carp.allow: 1
>net.inet.carp.preempt: 1
>net.inet.carp.log: 1
>net.inet.carp.arpbalance: 0
>net.inet.carp.suppress_preempt: 1

suppress_preempt должно быть 0. Попробуйте добавить опцию pass в ifconfig.



"CARP problem"
Отправлено elf_ua , 19-Фев-08 12:30 
>>еще sysctl -a | grep carp
>>
>>net.inet.ip.same_prefix_carp_only: 0
>>net.inet.carp.allow: 1
>>net.inet.carp.preempt: 1
>>net.inet.carp.log: 1
>>net.inet.carp.arpbalance: 0
>>net.inet.carp.suppress_preempt: 1
>
>suppress_preempt должно быть 0. Попробуйте добавить опцию pass в ifconfig.

suppress_preempt - read-only значение.

pass добавлял. Не помогает.

net.inet.carp.preempt пробовал и 0 и 1 на обоих серваках.

При настройке на Freedom carp0 на внешний IP (внешний и-фейс), carp0 сразу автоматически становится UP.



"CARP problem"
Отправлено idle , 19-Фев-08 12:58 
>[оверквотинг удален]
>>suppress_preempt должно быть 0. Попробуйте добавить опцию pass в ifconfig.
>
>suppress_preempt - read-only значение.
>
>pass добавлял. Не помогает.
>
>net.inet.carp.preempt пробовал и 0 и 1 на обоих серваках.
>
>При настройке на Freedom carp0 на внешний IP (внешний и-фейс), carp0 сразу
>автоматически становится UP.

А где pfsync? ifconfig_pfsync="up syncif carp0"
Если не заработает, приведите вывод ifconfig.


"CARP problem"
Отправлено elf_ua , 19-Фев-08 13:03 
>А где pfsync? ifconfig_pfsync="up syncif carp0"
>Если не заработает, приведите вывод ifconfig.

У меня IPFW. На резервном серваке carp0 поднимается сразу после ifconfig carp0 vhost 1...
Хотя резевный - это дамп с основного. Едиственное отличие IPSEC интерфейсы gif отсутствуют и  сетевые карты другие.