Mysql cluster binary log törlése

Fórumok

Sziasztok!

Segítséget szeretnék kérni 1-2 fekete öves nagymestertől, hogy mit lehet tenni a binary logokkal kapcsolatosan. Leírom a sztorit röviden.

Van 2 node A és B. A a master, B a slave. Az egészet corosyncből+pacemakerből berhelem, ha az egyik kiesik, akkor automatikusan átáll a rendszer a slave-re, viszi magával a failoveres dolgokat... ez frankón működik.

A logtörléssel vannak gondjaim és nem hiszem, hogy nincs jobb megoldás a jelenlegi megoldásomnál. Jelenleg ezt csinálom:

crm node standby A -> B master.
crm node online A

crm node standby B -> A master
crm node online B

belépek a node-kra és törlöm a logot (PURGE BINARY LOGS ...) és szabadul fel disk. A fenti állítgatásokat is csak azért csinálom, hogy biztosan megtörténjen a syncelés, betonbiztos legyen a módszer. De hiszem, hogy ennél van egyszerűbb megoldás is (amit észnél nélkül még automatizálni is lehetne).

köszi,
T

Hozzászólások

csinalsz multimastert, corosync csak az ipt pakolja ide-oda. kezi beavatkozas nemkell.

a logohoz meg expire_logs_days , max_binlog_size

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Ezzel az expire-l nem volt még dolgom, te használod hasonló környezetben? Beállítom masteren és slaven is, mondjuk x napra, ha leszakadás van és pont akkor amikor törlődik a log, akkor is syncronban lesznek ? vagy ilyenkor shit happens ? (Tudom, sok szar kérdésem van és nem akarom elbaszni a próbaidőm alatt a rendszert :D)

Az expire_logs_days, a nevévől is fakadóan napokban várja, hogy mennyi ideig őrizze meg a binlogokat. Ha készül napi mentés a db-ről, vagy a binlogokat folyamatosan backuplod máshova, ekkor ezt felesleges 1-nél nagyobbra állítani, ha amúgy is helyproblémával küzdesz és kézzel kell törölgetni.

Amúgy nem is muszáj az összes binlogot kitörölni. Ha a két db között folyamatosa a replikáció és a seconds_behind_master is ~0, akkor elég lehet mondjuk az 1 óránál régebbieket törölni a max_binlog_size és az írások függvényében:

purge binary logs before now() - interval 1 hour;

Ha a túloldal nincs lemaradva, akkor szinkronban maradnak.

3-5 napra van allitva. ha torlodott egy log, es azt meg a slave nem huzta at, akkor valoban baj van. nade ha 3 nap alatt nem rugunk bele a slavebe (vagy nem eri utol magat), akkor ott amugy is nagy baj van. de vegso esetben marad a master-dump&slave-load moka.

nincs erre altalanos szabaly, neked kell kitalalnod az erteket a disk/cpu/net/stb es a logmennyiseg fuggvenyeben.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!