Доброго всем времени суток.
При настройке heartbeat столкнулся с проблемой: каждая из нод считает себя вторичной и берет ресурс в виде адреса только после того как удостоверится что другая упала.(при этом обе они живы)
ha.cf такойlogfacility local0
keepalive 5
deadtime 60
warntime 10
udpport 694
bcast eth1
auto_failback on
node cl1.cl
node cl2.clauthkeys:
auth 2
#1 crc
2 sha1 HI!
#3 md5 Hello!haresources:
cl1.cl IPaddr::172.16.0.240/24/eth0
адреса нод:
cl1.cl eth1:10.10.10.1
cl2.cl eth1:10.10.10.2
Друг друга пингуют по именам uname -n: cl1.cl и cl2.cl соответственно.вот кусок лога с cl1.cl:
Apr 25 11:59:44 cl1.cl heartbeat: [5391]: info: Link cl1.cl:eth0 up.
Apr 25 11:59:44 cl1.cl heartbeat: [5391]: info: Link cl1.cl:eth1 up.
Apr 25 12:01:45 cl1.cl heartbeat: [5391]: WARN: node cl2.cl: is dead
Apr 25 12:01:45 cl1.cl heartbeat: [5391]: info: Comm_now_up(): updating status to active
Apr 25 12:01:45 cl1.cl heartbeat: [5391]: info: Local status now set to: 'active'
Apr 25 12:01:45 cl1.cl heartbeat: [5391]: WARN: No STONITH device configured.
Apr 25 12:01:45 cl1.cl heartbeat: [5391]: WARN: Shared disks are not protected.
Apr 25 12:01:45 cl1.cl heartbeat: [5391]: info: Resources being acquired from cl2.cl.
harc(default)[5428]: 2013/04/25_12:01:45 info: Running /etc/ha.d//rc.d/status status
mach_down(default)[5464]: 2013/04/25_12:01:45 info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
mach_down(default)[5464]: 2013/04/25_12:01:45 info: mach_down takeover complete for node cl2.cl.
Apr 25 12:01:45 cl1.cl heartbeat: [5391]: info: mach_down takeover complete.
Apr 25 12:01:45 cl1.cl heartbeat: [5391]: info: Initial resource acquisition complete (mach_down)
/usr/lib/ocf/resource.d//heartbeat/IPaddr(IPaddr_172.16.0.240)[5501]: 2013/04/25_12:01:45 INFO: Resource is stopped
Apr 25 12:01:45 cl1.cl heartbeat: [5429]: info: Local Resource acquisition completed.
Юзаю Centos 6.4 x64, selinux и фаервол погашены пробую сделать на виртуалбоксе.
Почитайте - http://www.netup.ru/UTM5/articles.php?n=13 Особенно обратите внимание на настройку связи между нодами и на то, что называется "сплит-брейн". Сейчас, возможно, синтаксис команд drbd изменился - посмотрите доки и мануалы на него. У меня кластер, построенный "по мотивам" этой статьи успешно проработал года 2.
> Почитайте - http://www.netup.ru/UTM5/articles.php?n=13 Особенно обратите внимание
> на настройку связи между нодами и на то, что называется "сплит-брейн".
> Сейчас, возможно, синтаксис команд drbd изменился - посмотрите доки и мануалы
> на него. У меня кластер, построенный "по мотивам" этой статьи успешно
> проработал года 2.Спасибо, ознакомился, дело в том что в моем случае, не используется drbd, в принципе нужен только ip.
Проблема именно в том что в heartbeat ноды не видят друг друга, и не считают себя главными, и каждая из них запускает ресурс(в моем случае ip) только после того как понимают что другая нода недоступна(хотя они обе доступны и пингуются по имени).
Куда копать? )
> Куда копать? )Разумеется, в сторону нахождения причины того, почему ноды не видят друг друга. У меня они обе были соединены напрямую сетевыми картами гиговым линком. Как в приведенный выше статье от товарищей из НетАпа.
>> Куда копать? )
> Разумеется, в сторону нахождения причины того, почему ноды не видят друг
> друга. У меня они обе были соединены напрямую сетевыми картами гиговым
> линком. Как в приведенный выше статье от товарищей из НетАпа.Скорей беда даже не в том что не видят, а в том что первая заводится только после того как не обнаруживает вторую, на сколько я понимаю она должна стартовать, тупо с ресурсом сразу, а вторая берет ресурс на себя при отсутствие отклика от первой.
Как принудить первую быть главной.
> Как принудить первую быть главной.Из статьи.
----------------------------
На обоих серверах выполняем команды:drbdadm disconnect all
/etc/init.d/heartbeat stop
Затем на сервере с неактуальными данными выполняем команду:
drbdadm secondary all
и после этого на сервере с актуальными данными команду:
drbdadm secondary all
Далее на сервере с актуальными данными выполняем команду:
drbdadm -- --human primary all
После этих действий необходимо подключить устройства на обоих серверах командой:
drbdadm connect all
--------------------------
Но, повторяю - там мог поменяться синтаксис со времени написания статьи. Еще, помнится, в составе drbd была какая-то утилитка, которой я принудительно перекидывал ноды местами. Названия сейчас, к сожалению, уже не помню.
>[оверквотинг удален]
> и после этого на сервере с актуальными данными команду:
> drbdadm secondary all
> Далее на сервере с актуальными данными выполняем команду:
> drbdadm -- --human primary all
> После этих действий необходимо подключить устройства на обоих серверах командой:
> drbdadm connect all
> --------------------------
> Но, повторяю - там мог поменяться синтаксис со времени написания статьи. Еще,
> помнится, в составе drbd была какая-то утилитка, которой я принудительно перекидывал
> ноды местами. Названия сейчас, к сожалению, уже не помню.Дело в том что у меня нет drbd впринципе. Общий ресурс в моей системе не нужен, он монтируется по nfs.
По статье присланной вами делал на виртуалках vbox и xen, результат тот же drbd становится везде мастером после того как ноды heartbeat становятся мастерами.
Наверно я плохо сформулировал вопрос мне нужно принудить стать главной ноду heartbeat, а не drbd(т.к он не нужен).
Для интересу - поставил на тестовой тачке heartbeat. :) И вспомнил, что за работу с нодами отвечают утилитки hb_takeover, hb_stanby. Хотя вот тут - http://linux.die.net/man/1/hb_standby говорят, что они устарели и вместо них вроде как crm используется. Посмотрите - так ли это на самом деле. И вот это посмотрите - http://linux-ha.org/wiki/Main_Page Там речь идет о том, что в качестве фронтэнда к heartbeat используют Pacemaker
> Для интересу - поставил на тестовой тачке heartbeat. :) И вспомнил, что
> за работу с нодами отвечают утилитки hb_takeover, hb_stanby. Хотя вот тут
> - http://linux.die.net/man/1/hb_standby говорят, что они устарели и вместо них вроде как
> crm используется. Посмотрите - так ли это на самом деле. И
> вот это посмотрите - http://linux-ha.org/wiki/Main_Page Там речь идет о том, что
> в качестве фронтэнда к heartbeat используют PacemakerСПС переставил пакеты и там нашлись hb_takeover и hb_stanby все полетело )))