Страница 1 из 1
CARP не переключается в обратное состояние.
Добавлено: 2010-06-02 10:33:35
100matolog
Сервер 1
Код: Выделить всё
[root@d3 ~]# cat /etc/rc.conf
defaultrouter="77.90.250.113"
hostname="d3"
ifconfig_em0="inet 77.*.*.* netmask 255.255.255.240"
ifconfig_fxp0="inet 10.100.101.205 netmask 255.255.255.0"
cloned_interfaces="carp1 carp2"
ifconfig_carp1="vhid 1 pass della-web1 advskew 5 10.100.101.88 255.255.255.0"
ifconfig_carp2="vhid 2 pass della-web2 advskew 10 10.100.101.89 255.255.255.0"
Код: Выделить всё
[root@d3 ~]# cat /etc/sysctl.conf
#security.bsd.see_other_uids=0
sysctl net.inet.carp.preempt=1
Сервер 2
Код: Выделить всё
[root@d4 ~]# cat /etc/rc.conf
ifconfig_em0="inet 77.*.*.* netmask 255.255.255.240"
ifconfig_fxp0="inet 10.100.101.206 netmask 255.255.255.0"
cloned_interfaces="carp1 carp2"
ifconfig_carp1="vhid 1 pass della-web1 advskew 10 10.100.101.88 255.255.255.0"
ifconfig_carp2="vhid 2 pass della-web2 advskew 5 10.100.101.89 255.255.255.0"
Код: Выделить всё
[root@d4 ~]# cat /etc/sysctl.conf
#security.bsd.see_other_uids=0
sysctl net.inet.carp.preempt=1
В итоге когда кто-то из серверов вылетает и потом поднимается , то возникает вот такая картина
Код: Выделить всё
carp1: flags=49<UP,LOOPBACK,RUNNING> mtu 1500
inet 10.100.101.88 netmask 0xff000000
carp: MASTER vhid 1 advbase 1 advskew 10
carp2: flags=49<UP,LOOPBACK,RUNNING> mtu 1500
inet 10.100.101.89 netmask 0xff000000
carp: MASTER vhid 2 advbase 1 advskew 5
Тоесть , не возвращает исходное состояние виртуального интерфейса.
Или не должно возвращать исходное состояние?
Re: CARP не переключается в обратное состояние.
Добавлено: 2010-06-02 19:50:42
skeletor
Вот очень похожая ситуация.
http://unix.derkeiler.com/Mailing-Lists ... 01055.html
Но мне кажется, что здесь без ручного допиливания (перевод в down сетевых интерфейсов) не обойтись либо использовать ucarp, в котором можно задавать скрипты во время up/down сетевых интерфейсов.
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 14:06:06
Extremist
Похожая ситуация. Есть два сервера на обоих по одному carp. Один основной второй резервный.
Но на резервном сервере состояние интерфейса carp0 постоянно MASTER.
Делаю скажем ifconfig carp0 down, а потом ifconfig carp0 up. Интерфейс на пару секунд меняется статус с INIT на BACKUP,
в /var/log/messages кидает такое сообщение kernel: carp0: INIT -> BACKUP. И потом снова становиться MASTER.
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 15:42:15
Mox
100matolog писал(а):Сервер 1
Код: Выделить всё
[root@d3 ~]# cat /etc/rc.conf
defaultrouter="77.90.250.113"
hostname="d3"
ifconfig_em0="inet 77.*.*.* netmask 255.255.255.240"
ifconfig_fxp0="inet 10.100.101.205 netmask 255.255.255.0"
cloned_interfaces="carp1 carp2"
ifconfig_carp1="vhid 1 pass della-web1 advskew 5 10.100.101.88 255.255.255.0"
ifconfig_carp2="vhid 2 pass della-web2 advskew 10 10.100.101.89 255.255.255.0"
Код: Выделить всё
[root@d3 ~]# cat /etc/sysctl.conf
#security.bsd.see_other_uids=0
sysctl net.inet.carp.preempt=1
Сервер 2
Код: Выделить всё
[root@d4 ~]# cat /etc/rc.conf
ifconfig_em0="inet 77.*.*.* netmask 255.255.255.240"
ifconfig_fxp0="inet 10.100.101.206 netmask 255.255.255.0"
cloned_interfaces="carp1 carp2"
ifconfig_carp1="vhid 1 pass della-web1 advskew 10 10.100.101.88 255.255.255.0"
ifconfig_carp2="vhid 2 pass della-web2 advskew 5 10.100.101.89 255.255.255.0"
Код: Выделить всё
[root@d4 ~]# cat /etc/sysctl.conf
#security.bsd.see_other_uids=0
sysctl net.inet.carp.preempt=1
В итоге когда кто-то из серверов вылетает и потом поднимается , то возникает вот такая картина
Код: Выделить всё
carp1: flags=49<UP,LOOPBACK,RUNNING> mtu 1500
inet 10.100.101.88 netmask 0xff000000
carp: MASTER vhid 1 advbase 1 advskew 10
carp2: flags=49<UP,LOOPBACK,RUNNING> mtu 1500
inet 10.100.101.89 netmask 0xff000000
carp: MASTER vhid 2 advbase 1 advskew 5
Тоесть , не возвращает исходное состояние виртуального интерфейса.
Или не должно возвращать исходное состояние?
Нифига не понял! В какое "исходное состояние"? Это о чем?
skeletor писал(а):Вот очень похожая ситуация.
http://unix.derkeiler.com/Mailing-Lists ... 01055.html
Но мне кажется, что здесь без ручного допиливания (перевод в down сетевых интерфейсов) не обойтись либо использовать ucarp, в котором можно задавать скрипты во время up/down сетевых интерфейсов.
Нафиг ucarp? Запускать демоны вы и с помощью штатного carp сможете, при помощи devd. Как пример:
http://www.freebsd.org/doc/en/books/han ... -hast.html втыкать в пункт "18.18.4.1 Failover Configuration"
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 15:43:53
Mox
Extremist писал(а):Похожая ситуация. Есть два сервера на обоих по одному carp. Один основной второй резервный.
Но на резервном сервере состояние интерфейса carp0 постоянно MASTER.
Делаю скажем ifconfig carp0 down, а потом ifconfig carp0 up. Интерфейс на пару секунд меняется статус с INIT на BACKUP,
в /var/log/messages кидает такое сообщение kernel: carp0: INIT -> BACKUP. И потом снова становиться MASTER.
Конфиги rc.conf и sysctl.conf в студию
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 15:45:34
Mox
2 100matolog: на всякий случай уберите на ваших MASTER серверах "advskew 5". Вообще уберите, так оно будет равно 0.
А на BACKUP серверах поставьте advskew 100, а не 10
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 16:02:33
Extremist
Конфиги сервера 1
Код: Выделить всё
net.inet.carp.preempt=1
net.inet.carp.arpbalance=1
ifconfig carp0 create
ifconfig carp0 vhid 1 pass password 172.16.24.199/24
Код: Выделить всё
carp0: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
inet 10.201.24.199 netmask 0xffffff00
carp: MASTER vhid 1 advbase 1 advskew 0
Конфиги сервера 2
Код: Выделить всё
net.inet.carp.preempt=1
net.inet.carp.arpbalance=1
ifconfig carp0 create
ifconfig carp0 vhid 1 advskew 100 pass password 172.16.24.199/24
Код: Выделить всё
сarp0: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
inet 10.201.24.199 netmask 0xffffff00
carp: MASTER vhid 1 advbase 1 advskew 100
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 16:22:57
Mox
Extremist писал(а):...
...
Вам оно не надо.
Покажите еще остальные сетевые интерфейсы
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 16:31:37
Mox
2 Extremist: а еще не вижу net.inet.carp.allow=1
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 16:38:58
Extremist
На сколько я понимаю он по умолчанию включен.
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 16:46:34
Mox
Extremist писал(а):На сколько я понимаю он по умолчанию включен.
Да, но я на всякий случай все равно его выставляю в 1
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 16:54:24
Extremist
Что ещё скинуть, конфиги остальных интерфейсов.
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 16:57:46
Mox
Extremist писал(а):Что ещё скинуть, конфиги остальных интерфейсов.
Да, хосты ведь должны быть в одной подсети
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 17:16:55
Extremist
Сервер1
Код: Выделить всё
re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether
inet 172.16.24.54 netmask 0xffffff00 broadcast 172.16.24.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether
inet aa.aa.aa.aa netmask 0xffffff00 broadcast aa.aa.aa.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
ipfw0: flags=8800<SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0xa
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1394
inet 172.16.24.54 --> 172.16.24.147 netmask 0xffffffff
carp0: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
inet 172.16.24.199 netmask 0xffffff00
carp: MASTER vhid 1 advbase 1 advskew 0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
tunnel inet aa.aa.aa.aa --> cc.cc.cc.cc
inet 172.16.24.54 --> 10.10.10.7 netmask 0xffffff00
options=1<ACCEPT_REV_ETHIP_VER>
Сервер 2
Код: Выделить всё
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3808<VLAN_MTU,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether
inet 172.16.24.15 netmask 0xffffff00 broadcast 172.16.24.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether
inet gg.gg.gg.gg netmask 0xffffff00 broadcast gg.gg.gg.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether
inet bb.bb.bb.bb netmask 0xffffff00 broadcast bb.bb.bb.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
ipfw0: flags=8800<SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0xd
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
carp0: flags=8<LOOPBACK> metric 0 mtu 1500
inet 172.16.24.199 netmask 0xffffff00
carp: INIT vhid 1 advbase 1 advskew 100
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 17:28:26
Extremist
Проверил сейчас на двух виртуальных машинах, всё работает. Осталось разобраться на физических в чём дело.
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 18:57:47
Mox
Ну я бы сначала поставил у всех фаеров первым правилом "разрешить всё". Если не работает, то
Потом посмотрел бы tcpdump'ом что куда идет. Затем
проверил бы физическую топологию.
На крайняк убрал бы все сетевые интерфейсы кроме нужных
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 19:17:29
Mox
К последнему пункту: может carp'а смущают ваши ng0 и gif0
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-28 21:18:26
Extremist
На обоих хостах добавил в ipfw allow carp from me to any, и всё заработало.
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-29 12:17:10
Mox
Extremist писал(а):На обоих хостах добавил в ipfw allow carp from me to any, и всё заработало.
Ларчик просто открывался, было бы желание.
Re: CARP не переключается в обратное состояние.
Добавлено: 2011-09-29 14:04:25
Extremist
Дело не только в желании, но и в знаниях и способностях.