Orchestrator bakeng sa MySQL: hobaneng o sa khone ho aha projeke e mamellang liphoso ntle le eona

Morero ofe kapa ofe o moholo o qalile ka li-server tse 'maloa. Qalong ho ne ho e-na le seva se le seng sa DB, ebe makhoba a eketsoa ho eona ho lekanya ho bala. 'Me joale - emisa! Monghali o mong, empa makhoba a mangata; haeba e mong oa makhoba a tsamaea, joale ntho e 'ngoe le e' ngoe e tla ba hantle, empa haeba monghali a tsamaea, e tla ba mpe: nako ea ho theoha, batsamaisi ba leka ho phahamisa seva. Se o lokelang ho se etsa? Beha monghali. Mosebetsi-'moho le 'na Pavel o se a ntse a ngotse ka sena sengoloa, nke ke ka e pheta. Sebakeng seo, ke tla u joetsa hore na hobaneng u hloka Orchestrator bakeng sa MySQL!

Ha re qale ka potso ea mantlha: "Re tla fetolela khoutu joang mochining o mocha ha mong'a ntlo a tsamaea?"

  • Ke rata leano le VIP (Virtual IP) ka ho fetisisa, re tla bua ka lona ka tlase. Ke eona e bonolo le e hlakileng ka ho fetisisa, le hoja e na le moeli o totobetseng: monghali eo re tla mo boloka o tlameha ho ba karolong ea L2 ka mochine o mocha, ke hore, re ka lebala ka DC ea bobeli. 'Me, ka tsela e nang le khotso, haeba u latela molao oa hore L2 e kholo e khopo, hobane L2 e na le rack feela,' me L3 e pakeng tsa li-racks, 'me morero o joalo o na le lithibelo le ho feta.
  • U ka ngola lebitso la DNS khoutu ebe u e rarolla ka /etc/hosts. Ha e le hantle, ho ke ke ha e-ba le tharollo. Molemo oa leano: ha ho na tšobotsi e fokolang ea mokhoa oa pele, ke hore, hoa khoneha ho hlophisa cross-DC. Empa joale ho hlaha potso e hlakileng: re ka isa phetoho kapele hakae ho / joalo-joalo / mabotho ka Puppet-Ansible?
  • U ka fetola mokhoa oa bobeli hanyane: kenya caching DNS ho li-server tsohle tsa marang-rang, tseo ka tsona khoutu e tla ea ho database ea master. O ka seta TTL 60 bakeng sa keno ena ho DNS. Ho bonahala eka mokhoa ona ha o ka sebelisoa ka nepo.
  • Morero o nang le ts'ebetso ea ts'ebeletso, e bolelang tšebeliso ea Consul le joalo-joalo.
  • Khetho e thahasellisang ka ProxySQL. U hloka ho tsamaisa sephethephethe sohle ho MySQL ka ProxySQL; ProxySQL ka boeona e ka tseba hore na monghali ke mang. Tseleng, u ka bala ka e 'ngoe ea likhetho tsa ho sebelisa sehlahisoa sena ho ka sehlooho.

Mongoli oa Orchestrator, ea sebetsang Github, o ile a qala ho kenya ts'ebetsong leano la pele le VIP, 'me a le fetolela ho morero le consul.

Mokhoa o tloaelehileng oa sebopeho:

Orchestrator bakeng sa MySQL: hobaneng o sa khone ho aha projeke e mamellang liphoso ntle le eona
Hang-hang ke tla hlalosa maemo a totobetseng a lokelang ho tsotelloa:

  • Aterese ea VIP ha ea lokela ho ngolisoa ho config ho efe kapa efe ea li-server. A re nahaneng ka boemo: monghali o ile a tsosolosa, 'me ha e ntse e kenya, Orchestrator e ile ea kena ka mokhoa oa ho hlōleha' me ea etsa hore e mong oa makhoba e be monghali; joale monghali oa khale a phahama, 'me joale VIP e holim'a likoloi tse peli. Sena se sebe.
  • Bakeng sa 'mino oa liletsa, u tla hloka ho ngola script bakeng sa ho bitsa monghali oa khale le monghali e mocha. Ho mong'a khale u hloka ho matha ifdown, le ho monghali e mocha - ifup vip. Ho ka ba monate ho kenyelletsa le lengolong lena hore ha ho e-na le phoso, koung ea mochine oa khale oa master e tima feela ho qoba ho arohana leha e le efe.
  • Kamora hore Orchestrator e bitse sengoloa sa hau ho qala ho tlosa VIP le / kapa ho tima boema-kepe ho switjha, ebe o bitsa mongolo oa ho phahamisa VIP ho monghali e mocha, u se ke oa lebala ho sebelisa taelo ea arping ho bolella motho e mong le e mong hore VIP e ncha e se e le teng. Mona.
  • Makhoba 'ohle a ne a lokela ho bala_feela=1,' me hang ha u phahamisa lekhoba ho mong'a lona, ​​​​le ne le lokela ho bala_feela=0.
  • U se ke ua lebala hore lekhoba leha e le lefe leo re le khethileng bakeng sa sena le ka fetoha monghali (Orchestrator e na le mokhoa o feletseng oa khetho eo lekhoba le lokelang ho nka e le mokhethoa bakeng sa monghali e mocha sebakeng sa pele, e leng sebakeng sa bobeli, le hore na ke lekhoba lefe le lokelang ho nkoa. ho se khethoe ho hang tlasa maemo afe kapa afe monghali). Haeba lekhoba le fetoha monghali, joale mojaro oa lekhoba o tla sala holim’a lona ’me mojaro oa mong’a lona o tla ekeletsoa, ​​sena se tlameha ho eloa hloko.

Ke hobane'ng ha u hloka Orchestrator haeba u se na eona?

  • Orchestrator e na le sebopeho se bonolo sa mosebelisi se bonts'ang topology kaofela (sheba skrini se ka tlase).
  • Sebapali sa 'mino se ka tseba hore na ke makhoba a fe a saletseng morao, le hore na ho pheta-pheta ho senyehile hokae (re na le mangolo a khomaretsoeng ho Orchestrator bakeng sa ho romela SMS).
  • Orchestrator e u bolella hore na ke makhoba afe a nang le phoso ea GTID.

Sebopeho sa Orchestrator:

Orchestrator bakeng sa MySQL: hobaneng o sa khone ho aha projeke e mamellang liphoso ntle le eona
Phoso ea GTID ke eng?

Ho na le litlhokahalo tse peli tsa mantlha tsa hore Orchestrator e sebetse:

  • Hoa hlokahala hore pseudo GTID e khonehe ho mechini eohle e sehlopheng sa MySQL; re na le GTID e nolofalitsoeng.
  • Hoa hlokahala hore ho be le mofuta o le mong oa li-binlogs hohle, o ka sebelisa polelo. Re ne re e-na le tlhophiso eo ho eona monghali le makhoba a mangata a neng a e-na le Row, 'me a mabeli a ile a lula a le mokhoeng oa Mixed. Ka lebaka leo, Orchestrator e ne e sa batle ho hokahanya makhoba ana le monghali e mocha.

Hopola hore ntho ea bohlokoa ka ho fetisisa ho lekhoba la tlhahiso ke ho lumellana ha lona le mong'a lona! Haeba u na le Global Transaction ID (GTID) e lumelletsoeng ho mong'a hao le lekhoba, joale u ka sebelisa ts'ebetso ea gtid_subset ho fumana hore na likopo tse tšoanang tsa liphetoho tsa data li kile tsa etsoa mochining ona. U ka bala haholoanyane ka sena mona.

Kahoo, Orchestrator e u bontša ka phoso ea GTID hore ho na le litšebelisano ho lekhoba tse seng ho mong'a lona. Ke hobane'ng ha see se etsahala?

  • Read_only=1 ha e sebetse ho lekhoba, motho e mong o hokahane mme a tlatsa kopo ea ho fetola data.
  • Super_read_only=1 ha e sebetse ho lekhoba, joale mookameli, ha a se a ferekantse seva, a kena 'me a phethahatsa kopo moo.
  • Haeba u ela hloko lintlha tse peli tse fetileng, joale ho na le leqheka le leng hape: ho MySQL, kopo ea ho tlosa li-binlogs e boetse e ea ho binlog, kahoo qalong, ho tla hlaha phoso ea GTID ho monghali le makhoba ohle. Joang ho qoba see? Perona-5.7.25-28 e hlahisitse binlog_skip_flush_commands=1 setting, e thibelang ho ngola flush ho li-binlogs. Ho na le e thehiloeng webosaeteng ea mysql.com kokoanyana.

E-re ke akaretsa tsohle tse ka holimo. Haeba u sa batle ho sebelisa Orchestrator ka mokhoa oa failover, joale e behe ka mokhoa oa ho shebella. Joale u tla lula u e-na le ka pel'a mahlo a hau 'mapa oa ho sebelisana ha mechine ea MySQL le tlhahisoleseding e bonahalang mabapi le hore na ke mofuta ofe oa ho pheta-pheta mochine o mong le o mong, ebang makhoba a salla morao,' me ho bohlokoa ka ho fetisisa, hore na a lumellana hakae le monghali!

Potso e hlakileng ke ena: "Ochestrator e lokela ho sebetsa joang?" O tlameha ho khetha monghali e mocha ho makhoba a hona joale, ebe o kopanya makhoba ohle ho eona (sena ke seo GTID e hlokahalang bakeng sa sona; haeba u sebelisa mochine oa khale o nang le binlog_name le binlog_pos, joale o fetola lekhoba ho tloha ho mong'a hona joale ho ea ho le lecha. ha e khonehe!). Pele re ba le Orchestrator, ke kile ka tlameha ho etsa tsena tsohle ka letsoho. Monghali oa khale o ne a leketlile ka lebaka la molaoli oa buggy Adaptec; e ne e na le makhoba a ka bang 10. Ke ne ke hloka ho fetisetsa VIP ho tloha ho monghali ho ea ho e mong oa makhoba ebe ke kopanya makhoba a mang kaofela ho eona. Ke ne ke tlameha ho bula li-consoles tse kae, ke kentse litaelo tse kae ka nako e le 'ngoe ... ho eona, kahoo u kenye makhoba a mang kaofela ho monghali e mocha ’me u khutlisetse mojaro. Ka kakaretso, e mpe...

Orchestrator e sebetsa joang ha e kena ka mokhoa oa failover? Sena se bontšoa habonolo ka mohlala oa boemo boo re batlang ho etsa monghali mochine o matla, oa morao-rao ho feta oo re nang le oona hona joale.

Orchestrator bakeng sa MySQL: hobaneng o sa khone ho aha projeke e mamellang liphoso ntle le eona
Setšoantšo se bontša bohareng ba ts'ebetso. Ke eng e seng e entsoe ho fihlela joale? Re ile ra re re batla ho etsa lekhoba le leng monghali e mocha, Orchestrator e ile ea qala ho kopanya makhoba a mang kaofela ho eona, 'me monghali e mocha a sebetsa e le mochini oa lipalangoang. Ka morero ona, ha ho na liphoso, makhoba 'ohle a sebetsa, Orchestrator e tlosa VIP ho mong'a khale, e e fetisetsa ho e ncha, e etsa read_only=0' me e lebala ka mong'a khale. Kaofela! Nako ea ho fokotsa tšebeletso ea rona ke nako ea phetisetso ea VIP, e leng metsotsoana e 2-3.

Ke tsohle tsa kajeno, ke leboha bohle. Ho tla ba le sengoloa sa bobeli mabapi le Orchestrator haufinyane. Filiming e tummeng ea Soviet "Garage," sebapali se seng se itse, "Nke ke ka tsoela pele ho etsa tlhahlobo le eena!" Kahoo, Orchestrator, ke ne ke tla tsamaea le uena mabapi le boithuto!

Source: www.habr.com

Eketsa ka tlhaloso