Имею 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" #Worldcloned_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" #Worldcloned_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
еще sysctl -a | grep carpnet.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
>еще 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: 1suppress_preempt должно быть 0. Попробуйте добавить опцию pass в ifconfig.
>>еще 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.
>[оверквотинг удален]
>>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.
>А где pfsync? ifconfig_pfsync="up syncif carp0"
>Если не заработает, приведите вывод ifconfig.У меня IPFW. На резервном серваке carp0 поднимается сразу после ifconfig carp0 vhost 1...
Хотя резевный - это дамп с основного. Едиственное отличие IPSEC интерфейсы gif отсутствуют и сетевые карты другие.