Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
Bawie sie ostatnio heartbeat i mam maly problem z przelaczaniem sie pomiedzy serwerami.
2 serwery z czego jeden jest ustawiony jako glowny.
W momencie odlaczenia kabla sieciowego z glownego serwera wszystko dziala poprawnie.
W momencie podlaczenia kabla podnosi sie interfejs na 1 serwerze (glownym przed przelaczeniem) i heartbeat przerzuca mi znow ten serwer jako glowny co powoduje podwojna utrate polaczenia.
Probowalem juz kilku ustawien w ha.cf takich jak
auto_failback off i nice_failback na off i wciaz wystepuje przelaczanie w momencie powrotu 1 serwera do zycia.
Mial ktos juz podobny problem z hearbeatem?
Offline
Imho tak to własnie działa. A czego oczekujesz i o jakiej usłudze właściwie mówimy?
Offline
Wlasnie ze to tak nie powinno dzialac.
Masz 2 rodzaje HA Server. Jeded to Active/Active i jeden Active/Passive
W jednym masz ze jak 1 ci wstanie ponownie to nastepuje przelaczenie na glowny spowrotem.
Drugi dziala tak ze jak 1 padnie(np wyciagne wtyczke z karty sieciowej) drugi przejmuje miejsce 1.
W momencie podniesienia 1 drugi wciaz jest glownym serwerem. Nie wystepuje przelaczenie.
Problem w tym ze ten serwer dostarcza brodcastu video wiec przepiecie spowrotem na 1 po podniesieniu 1 wiaze sie z ponownym zerwaniem polaczen. A tego walsnie nie chce.
Dokumentacja mowi ze wystarczy dodac opcje auto_failback na off i przepiecie z 2 na 1 w momecie powrotu 1 do zycia nie powinna nastepowac.
Niestety u mnie ta opcja nie dziala.
Ponizej config z ha.cf:
debugfile /var/log/ha-debug logfile /var/log/ha-log use_logd on node fms1 node fms2 logfacility daemon keepalive 1 deadtime 10 warntime 5 initdead 120 udpport 694 #ping 192.168.0.100 auto_failback off ucast eth0 192.168.0.230 #comunicate only with 192.168.0.230
Zastanawiam sie tylko nad jedna rzecza.
Uzywam tylko jednego interfejsu, tzn mam tylko jedna karte sieciowa w tych testowych zabawkach.
W dokumentacji wszedzie jest mowa o 2 interfejsach i heartbeat powinien dzialac na tym drugim interfejsie.
Czy to moze stanowic problem? Z mojego punktu widzenia nie powinno byc zadnych ale....
Offline
Imho soft do broadcastu video powinien obsługiwać klastrowanie. Bo jak niby sobie to wyobrażasz, leci sobie obraz przez jeden serwer, który pada i drugi się włącza i bez przerwy kontynuuje przesyłanie obrazu? I heartbeat ma obsłużyć ciągłość przesyłania obrazu? Chyba nie ma tak pięknie. Przecież drugi serwer musi otrzymać informacje od poprzedniego jak kontynuować broadcast. Imho heartbeat jedynie przerzuci na drugi serwer i odpali broadcast od nowa, to i tak dużo. Chyba, że możesz zrobić coś takiego, że masz oba serwery broadcastowe i balancing, jak jeden pada kieruje na drugi, ale ktoś kto polączony był z tym drugim będzie miał ciągłość.
Ostatnio edytowany przez kamikaze (2009-08-27 12:49:45)
Offline
Zle mnie zrozumiales.
Do brodcastu wykorzystuje adobe Flash Media Server.
Oczywiscie bedzie przerwa w momencie padu 1 serwera. Tylko co sie dzieje to ze w momencie gdy 1 serwer padnie (w warunkach testowych w tym momencie poprostu wyciagam kabel z karty sieciowej) serwer 2 przejmuje kontrole i wszystkie polaczenia sa nawiazywane ponownie. To nie stanowi problemu.
Problem polega na tym ze gdy wloze wtyczke do 1 serwera i interfejs sie podniesie w tym momencie heartbeat postanawia przerzucic znow traffic to 1 serwera i polaczenia znow zostaja przerwane wszystkie polaczenia i musza byc znow nawiazane z serwerem 1.
To jest wlasnie problem w tej sytuacji.
Wyglada na to ze opcja auto_failback off nie dziala jak nalezy bo serwery po podniesieniu 1 serwera do zycia znow sie przelaczaja a ja chce zeby wciaz serwer 2 byl tym glownym przez ktory przechodzi caly ruch. W tym momencie trace polaczenia tylko raz co jest do przyjecia. Lepiej raz utracic i przywrocic niz 2 razy nie uwazasz?
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00095 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.66.104' WHERE u.id=1 |
0.00088 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.66.104', 1732430614) |
0.00042 | SELECT * FROM punbb_online WHERE logged<1732430314 |
0.00065 | SELECT topic_id FROM punbb_posts WHERE id=126499 |
0.00011 | SELECT id FROM punbb_posts WHERE topic_id=14850 ORDER BY posted |
0.00071 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=14850 AND t.moved_to IS NULL |
0.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00203 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=14850 ORDER BY p.id LIMIT 0,25 |
0.00076 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=14850 |
Total query time: 0.00672 s |