zpozdeny CARP master

Bc. Tomáš Skocdopole | IT-BOX tomas.skocdopole at it-box.cz
Thu Mar 22 07:31:18 CET 2018


No prave tohle by me zajimalo take, jak to vyresit. Kdysi jsem si s tim
chvili hrál. Ovsem vzdy jsem narazil na jiný SPOF, ze to kvuli tomu nemelo
pak cenu nasazovat.

CARP ohlida stroje po sitove strance (a myslim ze dobre), ovsem uz neohlida
jestli napriklad nespadlo haproxy - na to mit dle meho jedine nejakou
nadstavbu (script/daemona), ktery hlida zda-li bezi haproxy a pokud ne, tak
prepne masinu pomoci CARP do slave.
I kdyz mozna by bylo vhodnejsi aby slave masina hlidala process haproxy na
master stroji.

Jen bych se zeptal - vzdy je potreba N+1 IP adres, nebo je nejaky figl, jak
provozovat CARP pomoci jedne (jen abych zbytecne neplytval verejnyma IP)?

U me jeste vyvstala otazka jak klonovat konfiguraci mezi tou dvojici stroju.
Protoze krome IP adresy stroje a hostname je konfigurace naprosto identicka.

Tomas

-----Původní zpráva-----
Od: Users-l [mailto:users-l-bounces at freebsd.cz] za uživatele Dan Lukes
Odesláno: 21 March 2018 19:07
Komu: FreeBSD mailing list <users-l at freebsd.cz>
Předmět: Re: zpozdeny CARP master

On 21.3.2018 13:00, Marek Soudny wrote:
> 2x fbsd 11.1 server (vmware) jako loadbalancery master-standby 
> (haproxy a relayd). Predani TCP stavu pri failoveru resi pfsync, CARP 
> je nastaven, aby se predavaly vsechny interface najednou (sysctl 
> net.inet.carp.preempt=1). Master ma advskew 0, standby 100.
> 
> Manualni failover funguje dobre, pomoci "sysctl 
> net.inet.carp.demotion=240" dojte k okamzitemu presunuti vsech CARP 
> interfacu na standby server.
> 
> "Problem" nastava v okamziku, kdy ma dojit k failoveru "nemanualnimu", 
> tedy napriklad pri rebootu:
> 
> Master zastavi servicy (haproxy, relayd a ostatni), coz vede k 
> nedostupnosti farem na loadbalanceru, k presunu interfacu na standby 
> dojde az kdyz master "vypne sit".

No, CARP zas tak duverne neznam, takze nevim, jestli sam v dobe neobsahuje
nejake vestavene "nativni" reseni tohohle problemu, ale na "alespon nejake
reseni" ho vlastne znat nepotrebuju.

Potrebujes si do rc.d vyrobit script, ktery je pri startu pozdejsi nez
scripty, ktere startuji haproxy, relayd a ostatni (tzn. je v nem vyznaceno,
ze na tehle scriptech zavisi). Pro shutdownu se scripty provadeji v opacnem
poradi, takze "stop" akce tohoto scriptu se provede driv, nez "stop" tech
daemonu.

> cela situace se mi "zopakuje", pri startu masteru:
> 
> Nabehne sit (sitove interfacy) a master si prebere CARP interfacy,

Nevim, jestli lze automatickemu prevzeti zabranit. Pokud ano, tak je to
uloha pro tentyz script, tentokrat ale pro akci "start" - jak uz jsem
napsal, script na hald a dalsich zavisi, takze se spousti az po nich - a
pokud teprve on iniciuje prevzeti CARP interface, je dokazano co bylo
dokazati.

> Koukal jsem, ze pri vypnuti masteru je asi resenim /etc/shutdown.local?

A nebo tak. Ale ten neresi start a ten tak budes ho muset resit zvlast a
navic lze v ramci rc.d preci jen jemneji resit poradi a pripadne parametry.

> A hlavne jak na zpozdene prevzeti CARP interfacu pri startu

Jak jsem psal, CARP az tak neznam. Jestli dokazes zaridit aby to pri startu
automaticky neprebiral vubec, tak ja uz umim vyresit ten zbytek ;-)

Dan

--
FreeBSD mailing list (users-l at freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l




More information about the Users-l mailing list