Orchestrator yeMySQL: sei iwe usingakwanise kuvaka purojekiti inoshivirira pasina iyo

Chero purojekiti yakakura yakatanga nemaseva akati wandei. Pakutanga pakanga paine imwe sevha yeDB, ipapo varanda vakawedzerwa kwairi kuyera kuverenga. Uye ipapo - mira! Kuna tenzi mumwe, asi varanda vazhinji; kana mumwe wevaranda akasiya, ipapo zvese zvichave zvakanaka, asi kana tenzi akasiya, zvichave zvakaipa: nguva yekuderera, admins vari kuedza kusimudza sevha. Kuita sei? Reserve tenzi. Wandaishanda naye Pavel akatonyora nezve izvi chinyorwa, handichazvidzokorora. Pane kudaro, ini ndichakuudza chikonzero nei uchinyatsoda Orchestrator yeMySQL!

Ngatitange nemubvunzo mukuru: "Tichachinja sei kodhi kumushini mutsva kana tenzi aenda?"

  • Ini ndinoda chirongwa neVIP (Virtual IP) zvakanyanya, tichataura nezvazvo pazasi. Ndiyo yakapfava uye yakanyatsojeka, kunyangwe iine mhedziso iri pachena: tenzi watichachengeta anofanira kunge ari muchikamu cheL2 nemuchina mutsva, ndiko kuti, tinogona kukanganwa nezve yechipiri DC. Uye, nenzira ine hushamwari, kana iwe uchitevera mutemo wekuti L2 hombe yakaipa, nekuti L2 inongori pa rack, uye L3 iri pakati pemachira, uye chirongwa chakadaro chine zvimwe zvirambidzo.
  • Iwe unogona kunyora zita reDNS mukodhi uye kuigadzirisa kuburikidza /etc/hosts. Muchokwadi, hapazove nechisarudzo. Kubatsira kwechirongwa: hapana chinogumira maitiro ekutanga nzira, ndiko kuti, zvinokwanisika kuronga muchinjiko-DC. Asi zvino mubvunzo uri pachena unomuka: tingakurumidza sei kuendesa shanduko ku / etc / mauto kuburikidza nePuppet-Ansible?
  • Iwe unogona kushandura nzira yechipiri zvishoma: isa caching DNS pane ese mawebhu maseva, kuburikidza iyo iyo kodhi ichaenda kune master database. Unogona kuseta TTL 60 yeiyi yekupinda muDNS. Zvinoita sekuti kana ikashandiswa nemazvo, nzira yacho yakanaka.
  • Chirongwa chine kuwanikwa kwesevhisi, zvichireva kushandiswa kweConsul uye etcd.
  • Sarudzo inonakidza ne ProxySQL. Iwe unofanirwa kuendesa traffic yese kuMySQL kuburikidza neProxySQL; ProxySQL pachayo inogona kuona kuti ndiani tenzi. Nenzira, iwe unogona kuverenga nezve imwe yesarudzo dzekushandisa chigadzirwa ichi mune yangu chinyorwa.

Munyori weOrchestrator, achishanda muGithub, akatanga aita chirongwa chekutanga neVIP, ndokuchishandura kuita chirongwa chine consul.

Mamiriro ezvivakwa:

Orchestrator yeMySQL: sei iwe usingakwanise kuvaka purojekiti inoshivirira pasina iyo
Ini ndichakurumidza kutsanangura mamiriro ari pachena anofanirwa kuverengerwa:

  • Iyo VIP kero haifanirwe kunyoreswa mune config pane chero maseva. Ngatimbofungidzirai mamiriro ezvinhu: tenzi akatangazve, uye ichiri kurodha, Orchestrator yakapinda mufoilover mode ndokuita mumwe wevaranda tenzi; ipapo tenzi wekare akasimuka, uye zvino VIP iri pamotokari mbiri. Izvi zvakaipa.
  • Kune orchestrator, iwe uchafanirwa kunyora script yekudaidza tenzi wekare uye tenzi mutsva. Pane tenzi wekare unofanirwa kumhanya ifdown, uye pane tenzi mutsva - ifup vip. Zvingave zvakanaka kuti uisewo mune iyi script kuti kana paine failover, chiteshi chekare chetenzi switch chinongodzimwa kudzivirira chero splitbrain.
  • Mushure mekunge Orchestrator adaidza script yako kuti atange abvisa VIP uye / kana kudzima chiteshi pane switch, uye ipapo akadana VIP kusimudza script pane tenzi mutsva, usakanganwa kushandisa arping command kuudza munhu wese kuti VIP itsva ikozvino. here.
  • Varanda vese vanofanira kunge vakaverenga_chete=1, uye kana ukangosimudzira muranda kuna tenzi, yaifanira kunge yaverenga_chete=0.
  • Usakanganwa kuti chero muranda watakasarudzira izvi anogona kuve tenzi (Orchestrator ine yakasarudzika nzira yekuti muranda angatarise semumiriri we tenzi mutsva pakutanga, iyo panzvimbo yechipiri, uye ndeupi muranda anofanira kusasarudzwa zvachose mune chero mamiriro ezvinhu tenzi). Kana muranda akava tenzi, ipapo mutoro womuranda wacho ucharamba uri paari uye mutoro watenzi uchawedzerwa, ikoku kunofanira kurangarirwa.

Sei uchida Orchestrator kana iwe usina?

  • Orchestrator ine mushandisi-inoshamwaridzika graphical interface inoratidza iyo yose topology (ona skrini pazasi).
  • Orchestrator inogona kuronda kuti ndeapi varanda vari kusara kumashure, uye kupi kudzokorodza kwagara kwaparara (tine zvinyorwa zvakanamirwa kuOrchestrator zvekutumira SMS).
  • Orchestrator inokuudza kuti ndevapi varanda vane GTID errant.

Orchestrator Interface:

Orchestrator yeMySQL: sei iwe usingakwanise kuvaka purojekiti inoshivirira pasina iyo
Chii chinonzi GTID kukanganisa?

Pane zvinhu zviviri zvinodiwa kuti Orchestrator ishande:

  • Izvo zvinodikanwa kuti pseudo GTID inogoneswa pamakina ese ari muMySQL cluster; isu tine GTID inogoneswa.
  • Izvo zvinodikanwa kuti kuve nemhando imwe yemabinlogs kwese kwese, unogona kushandisa chirevo. Isu takanga tine gadziriso umo tenzi nevaranda vazhinji vaive neRow, uye mbiri dzakagara dziri muMixed mode. Nekuda kweizvozvo, Orchestrator aisangoda kubatanidza varanda ava kuna tenzi mutsva.

Rangarira kuti chinhu chinonyanya kukosha mumuranda wekugadzira ndiko kuenderana kwayo natenzi! Kana iwe uine Global Transaction ID (GTID) yakagoneswa pane vese tenzi wako nemuranda, saka unogona kushandisa gtid_subset basa kuona kana zvikumbiro zvakafanana zvekuchinja data zvakanyatsoitwa pamakina aya. Unogona kuverenga zvakawanda pamusoro peizvi pano.

Nekudaro, Orchestrator inokuratidza iwe kuburikidza neGTID errant kuti kune mabatirwo pamuranda asiri pana tenzi. Nei izvi zviri kuitika?

  • Read_only=1 haina kugoneswa pamuranda, mumwe munhu akabatana uye akapedza chikumbiro chekuchinja data.
  • Super_read_only=1 haina kugoneswa pamuranda, ipapo admin, avhiringa sevha, akapinda ndokuita chikumbiro ipapo.
  • Kana iwe ukafunga nezve ese mapoinzi apfuura, saka pane imwezve hunyengeri: muMySQL, chikumbiro chekutsvaira binlogs chinoendawo kune binlog, saka pakutanga kubhururuka, GTID errant ichaonekwa pana tenzi nevaranda vese. Nzira yekudzivirira sei izvi? Perona-5.7.25-28 yakaunza iyo binlog_skip_flush_commands=1 kuseta, iyo inorambidza kunyora kunoyerera kumabhinlog. Pane yakasimbiswa pane mysql.com webhusaiti bug.

Rega ndipfupise zvese zviri pamusoro. Kana iwe usingade kushandisa Orchestrator mune failover mode parizvino, woisa mune yekutarisa maitiro. Ipapo iwe uchagara uine pamberi pemeso ako mepu yekudyidzana kwemichina yeMySQL uye ruzivo rwekuona nezve rudzi rwekudzokorora rwuri pamushini wega wega, kunyangwe varanda vari kusarira kumashure, uye zvakanyanya kukosha, kuti vanowirirana sei natenzi!

Mubvunzo uri pachena ndewokuti: "Mutevedzeri anofanira kushanda sei?" Anofanira kusarudza tenzi mutsva kubva kuvaranda varipo, obva abatanidzazve varanda vese kwairi (izvi ndizvo zvinodiwa neGTID; kana ukashandisa nzira yekare ine binlog_name uye binlog_pos, wobva wachinja muranda kubva kuna tenzi wazvino kuenda kune mutsva. hazvigoneke!). Tisati tave neOrchestrator, ndaimbofanirwa kuita zvese izvi nemaoko. Tenzi wekare aive akarembera nekuda kwebuggy Adaptec controller; yaive nevaranda gumi. Ini ndaifanira kuendesa VIP kubva kuna tenzi kuenda kune mumwe wevaranda uye kubatanidza vamwe varanda vese kwairi. Ndaifanira kuvhura mangani, mangani mirairo panguva imwe chete yandakapinda ... ndaifanira kumirira kusvika 10 am, kubvisa mutoro kubva kuvaranda vese kunze kwevaviri, gadzira muchina wekutanga kubva kune vaviri tenzi, pakarepo batanidza muchina wechipiri. kwairi, saka isa vamwe varanda vose kuna tenzi mutsva uye udzosere mutoro wacho. Pakazara, zvakaipa ...

Orchestrator inoshanda sei kana ichipinda mufoilover mode? Izvi zvinonyatso kuenzanisirwa nemuenzaniso wemamiriro ezvinhu apo tinoda kuita tenzi muchina une simba, wazvino uno kupfuura watiinawo iye zvino.

Orchestrator yeMySQL: sei iwe usingakwanise kuvaka purojekiti inoshivirira pasina iyo
Mufananidzo unoratidza pakati pekuita. Chii chakatoitwa kusvika panguva ino? Takati taida kuita muranda tenzi mutsva, Orchestrator akatanga kungobatanidza vamwe varanda vese kwairi, tenzi mutsva achiita semuchina wekufambisa. Nechirongwa ichi, hapana zvikanganiso zvinoitika, varanda vose vanoshanda, Orchestrator inobvisa VIP kubva kuna tenzi wekare, kuiendesa kune itsva, inoita kuverenga_chete = 0 uye kukanganwa pamusoro pekare tenzi. Zvose! Iyo yekudzikira kwesevhisi yedu inguva yekufambisa yeVIP, iri 2-3 masekondi.

Ndizvo zvanhasi chete, ndinokutendai mose. Pachave nechinyorwa chechipiri nezve Orchestrator munguva pfupi. Mune yakakurumbira Soviet firimu "Garage," mumwe hunhu akati, "Handidi kuenda pakuongorora naye!" Saka, Orchestrator, ndaizoenda newe pakuongorora!

Source: www.habr.com

Voeg