Orchestrator and VIP as an HA solution for a MySQL botrus

In Citymobil database MySQL utimur sicut notitia principalis nostra constans in repono. Plures ligaturas database habemus pro variis officiis et propositis.

Constans magistri dispositio est critica index effectus totius systematis ac singularum partium. Recuperatio botri automatico in eventu magistri defectio valde temporis et systematis downtime responsionis incidentes minuit. In hoc articulo considerabo summam disponibilitatem (HA) designandi pro botro MySQL innixo MySQL Orchestrator et virtualis IP inscriptiones (VIP).

Orchestrator and VIP as an HA solution for a MySQL botrus

HA solutio fundatur VIP

Primum, quid sit ratio repositionis nostrae, breviter tibi dicam.

Schema replicationis classicae utimur cum uno magistro pervia scribente et multiplicibus replicationibus tantum lecta. Botrus dominum intermedium continere potest, nodi, qui et imago est et dominus aliis. Clientes replices accesserunt per HAProxy, quae permittit ut distributio oneris et scalae facilis. Usus HAProxy rationibus historicis debetur, et nunc in processu migrandi ad ProxySQL sumus.

Replicatio fit in semi-synchrono modus fundatur GTID. Hoc significat saltem unam effigiem rei gestae inire debere antequam felix habeatur. Haec replicatio modum praebet optimam proportionem inter observantiam et datam salutem in eventu nodi domini defectus. Plerumque mutationes a magistro ad replicas transferuntur utentes Row Based Replication (RBR)sed nodos aliquos habere potest mixed binlog format.

Orchestrator periodice updates statum botri topologiae, informationes receptas effingit, et, si difficultates oriuntur, ratio recuperandi latae sententiae potest mittere. Elit ipsum procedendi responsabile est, quia variis modis perfici potest: VIP, DNS fundatur, usus servitii inventionis officia vel machinationes propriae scriptae.

Una simplex via est ad restituendum dominum si defecerit uti inscriptionibus fluitantis VIP.

Quid debes scire de hac solutione antequam progrediendo;

  • A VIP inscriptio IP est quae cum interface network physica specifica non coniungitur. Si nodi deficiat vel interdiu sustentationem accedat, VIP ad aliud auxilium flectere possumus cum minimo temporis momento.
  • IP oratio virtualis liberans et procedens vilis est operatio et ieiunium.
  • Ad VIP laborandum, accessum ad servo per SSH debes, vel specialium utilitatum usum, e.g. keepalived.

Intueamur quaestiones possibilis cum mago nostro et cogita quomodo mechanismum automatice recuperatio operari debeat.

Retis connectivity cum domino evanuit, vel quaestio orta est in gradu ferramentorum et servo perpendat

  1. Orchestrator botrum topologiam renovat, singula replica refert dominum esse unavailable. Orchestrator incipit modum eligendi replicam convenientem ad munus novi domini et incipit recuperare.
  2. VIP a domino veteri auferre conamur - sine fructu.
  3. Replica virgas ad partes magistri. Acta est aedificata.
  4. Addito novo instrumenti retis cum VIP. Cum VIP removere non posset, incipimus intervenit petitionem mittens in curriculo gratuitum ARP. Hoc genus petitionis/responsionis tibi permittit ut tabulam IP et MAC inscriptionem destinata in connexis permutationibus renovares, inde tibi notum VIP nostrum movit. Hic Regium verisimilitudo split brain cum domino seniore reverti.
  5. Omnes novae nexus statim ad novum magistrum reducuntur. Veteres nexus deficiunt et repetitae vocationes datorum fiunt in applicatione gradu.

Servo in normali modo operatur, defectus in gradu DBMS incidit

Algorithmus est similis casu praecedenti: adaequationis topologiae et processus recuperationis incipiens. Cum praesto sit servo, VIP domino veteri feliciter exsolvimus, illud ad unum novum transfermus, et aliquot petitiones ARP mittemus. Reditus veteris domini possibilis non debet afficere botrum reaedificatum et operationem applicationis.

alius problems

Defectum replicationum vel dominorum intermediorum non ducunt ut automatic actiones et interventus manual requirit.

Rectum interfacies retis semper additur temporaliter, id est, post reboot servo, VIP non sponte assignatur. Singula instantia database incipit in modo tantum modo per defaltam legere, orchestrator automatice permutat novum magistrum scribere ac instituere conatur. read only ad dominum antiquum. Hae actiones intentae ad verisimilitudinem reducendae sunt split brain.

Problemata oriri possunt in recuperatione processus, quae etiam per orchestratorem UI notificari debet praeter normas magnas instrumenta. CETERA API dilatavimus hoc pluma addendo (PR currently recensentur).

Schema generale HA solutionis infra exhibetur.

Orchestrator and VIP as an HA solution for a MySQL botrus

Eligens novum dominum

Orchestrator satis sapit et conatur eligere aptissima replica ut novus dominus iuxta sequentia criteria:

  • effigiem pigri post dominum;
  • MySQL litera domini et replica;
  • replicatio generis (RBR, SBR vel mixta);
  • locus in eadem vel diversa centra data;
  • disponibilitate errant GTID β€” res quae in imagine fiebant et in domino non sunt;
  • consuetudo etiam in delectu normarum habenda est.

Non omnis congruens est specimen candidatus magistri. Exempli causa, imago ad tergum notitiarum adhiberi potest, vel servo configurationem ferrariae debiliorem habet. Orchestrator fusiles praecepta manualia, quibus optiones electas candidatorum tuorum consuescere potes, ab neglectis maxime praefertur.

Responsio et recuperatio tempore

In casu incidenti, interest ut ratio temporis minimizet, sic consideremus parametri MySQL quae creationem et updating topologiae botri ab orchestratore afficiunt:

  • slave_net_timeout - numerus secundorum in quibus replica expectat novas notitias vel signum pulsationis pulsationis a magistro perveniendi antequam nexus amissi et reiuncti agnoscuntur. Quantitas minor est, imago citius determinare potest communicationem cum domino frangi. Hanc valorem ad 5 seconds constituimus.
  • MASTER_CONNECT_RETRY - numero secundorum inter reconnection conatusque prohibebit. In eventu problematum retis, vilis valor huius parametri permittet reconnectionem celerem, et ne processu botri recipiatur ab incepto. Suadeo valor I secundus.
  • MASTER_RETRY_COUNT - numerus maximus reconnection inceptis.
  • MASTER_HEARTBEAT_PERIOD - Intervallum secundis post quod dominus pulsatio signum mittit. Defaltis ad dimidium valorem slave_net_timeout.

Orchestrator parametri:

  • DelayMasterPromotionIfSQLThreadNotUpToDate - si = truetunc munus magistri non applicabitur ad effigiem candidatam donec stamina SQL imaginis omnes transactiones e tabula Nullam non impleta compleverit. Hac optione utimur ad vitanda negotia amissa cum omnes candidati replicationes post tergum cadunt.
  • InstancePollSeconds β€” frequentiam aedificiorum et adaequationis topologiam.
  • RecoveryPollSeconds - frequentia topologiae analysis. Si quaestio deprehensa est, topologia recuperatio initiatur. Hoc constantaequalem 1 secundo.

Quisque botrus nodi ab orchestratore semel tonditur InstancePollSeconds seconds Cum deprehensa est quaestio, botrus status coactus est updated "et tunc finalis sententia de recuperatione facienda. Experiendo cum diversis parametris datorum et orchestratorum, responsionem et recuperationem ad tempus XXX secundis reducere potuimus.

Test scamnum

Nos coepi temptare HA rationem cum progressu localis test scamnum ac ulterius exsecutio in ambitus probationis et productionis. Stationes locales plene automated in Docker fundatae sunt et permittit te experiri cum conformatione orchestratoris et retis, botrum ab 2-3 ministrantibus ad plures duodenas scande, et exercitia exerce in ambitu tuto.

Per exercitia, eligimus unum de modis emulationis quaestionis: statim dominum mittent utentem kill -9, pedetentim desine processum et servo ( . )docker-compose stop) Simulare network problems utens iptables -j REJECT aut iptables -j DROP. Expectamus sequentes eventus:

  • orchestrator quaestiones cum magistro deprehendet et topologiam in non plus quam 10 secundis renovabit;
  • processus recuperationis statim incipiet: configuratione retis mutabit, munus domini transibit ad imaginem, topologia aedificabitur;
  • novus magister fiet writable, live replicas non amittetur in processu reaedificandi;
  • data incipiet scribi novo magistro et replicari;
  • Tota recuperatio temporis non plus quam XXX secundis erit.

Ut scis, ratio potest aliter se habere in probationibus et in ambitus productionis propter varias hardware et retis configurationes, differentias syntheticae et reali oneris, etc. Ergo exercitia in realibus conditionibus periodice agimus, inspiciendo quomodo ratio se gerit cum connectivity retiacula amissa vel singulae partes eius degradantur. In posterum pro ambabus ambitus tum eius probationis automate velimus aedificare penitus identificam infrastructuram.

Inventiones

Valetudo nodi systematis principalis repono est unum e praecipuis operibus SRE et operationibus quadrigis. Exsecutio orchestratoris et HA solutio secundum VIP nobis concessa est ut sequentes eventus assequamur:

  • certa deprehensio problematum cum topologia botri datorum;
  • automatic et celeri responsio ad eventus relatas domino, systema downtime reducendo.

Sed solutio habet limites et incommoda;

  • schema HA ad plura centra data quaeret, unum L2 retis inter eos requiret;
  • Priusquam VIP in novo domino assignes, necesse est veterem illum dimittere. Processus sequentialis est, qui recuperationis tempus auget;
  • VIP solvens accessum requirit SSH ministranti, vel quemlibet alium modum appellandi rationes remotas. Cum server vel database experitur difficultates quae processus recuperare attulit, certo certius non possumus VIP remotionem feliciter consummaturum esse. Hoc autem efficere potest ut apparitionem duorum ministrorum cum eadem virtuali IP inscriptione et problemate split brain.

Ad vitare split brain, modum uti potes STONITH ("Aliud Nodum in caput emitte"), quod problema nodi omnino segregat vel disablet. Aliae sunt modi ad efficiendum botrum promptissimum: coniunctio VIP et DNS, servitii inventionis et procuratoris officia, replicatio synchrona et aliae methodi quae sua incommoda et commoda habent.

De nostro accessu locuti sumus ad partum MySQL failover botrum. Facile est efficere et praebet acceptam condicionem firmitatis sub condicionibus hodiernis. Ut tota ratio in genere et in particulari substructione explicatur, aditus procul dubio evolvendus est.

Source: www.habr.com