Имею 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