Kaitohutohu mo MySQL: he aha e kore ai e taea e koe te hanga i tetahi kaupapa whakaraerae me te kore

Ko tetahi kaupapa nui i timata me etahi tūmau e rua. I te tuatahi kotahi te tūmau DB, kātahi ka tāpirihia he taurekareka ki te whakarahi i te panui. Na ka - mutu! Kotahi tonu te rangatira, engari he tokomaha nga pononga; ki te wehe tetahi o nga taurekareka, ka pai nga mea katoa, engari ki te wehe te rangatira, ka kino: te wa heke, kei te ngana nga kaiwhakahaere ki te whakaara i te tūmau. Me aha? Rahui he rangatira. I tuhi kē taku hoa mahi a Pavel mo tenei he tuhinga, e kore ahau e tuaruatia. Engari, ka korero ahau ki a koe he aha koe e tino hiahia ana ki te Orchestrator mo MySQL!

Me timata ma te patai matua: "Me pehea te huri i te waehere ki tetahi miihini hou ka wehe te rangatira?"

  • He pai ki ahau te kaupapa me te VIP (Virtual IP), ka korerohia e matou i raro nei. Ko te mea tino maamaa me te tino kitea, ahakoa he herenga kitea: ko te rangatira ka rahuitia me noho ki te wahanga L2 me te miihini hou, ara, ka wareware tatou ki te DC tuarua. A, i runga i te ahua pai, ki te whai koe i te ture he kino te L2 nui, na te mea ko te L2 anake mo ia whatanga, ko L3 kei waenganui i nga whaa, a he nui ake nga here o taua kaupapa.
  • Ka taea e koe te tuhi ingoa DNS ki te waehere ka whakatau ma te /etc/hosts. Inaa, karekau he whakatau. Ko te painga o te kaupapa: karekau he herenga o te tikanga tuatahi, ara, ka taea te whakarite i te whakawhiti-DC. Engari ka puta ake te patai: me pehea te tere o te tuku huringa ki /etc/hosts ma te Puppet-Ansible?
  • Ka taea e koe te whakarereke i te tikanga tuarua: whakauruhia te DNS keteroki ki runga i nga kaitoro paetukutuku katoa, ma reira ka haere te waehere ki te papaarangi matua. Ka taea e koe te whakarite TTL 60 mo tenei urunga ki DNS. Te ahua nei mena ka tika te whakatinana, he pai te tikanga.
  • He kaupapa me te kitenga ratonga, e kii ana i te whakamahi a Consul me etcd.
  • He kōwhiringa ngā ki ProxySQL. Me huri e koe nga waka katoa ki MySQL ma te ProxySQL; Ka taea e ProxySQL te whakatau ko wai te rangatira. Ma te ara, ka taea e koe te panui mo tetahi o nga whiringa mo te whakamahi i tenei hua i roto i taku Tuhinga.

Ko te kaituhi o Orchestrator, e mahi ana i Github, i whakatinana tuatahi i te kaupapa tuatahi me te VIP, ka huri ki te kaupapa me te kaitohutohu.

Tahora hanganga angamaheni:

Kaitohutohu mo MySQL: he aha e kore ai e taea e koe te hanga i tetahi kaupapa whakaraerae me te kore
Ka whakaahua tonu ahau i nga ahuatanga e tika ana kia whai whakaaro:

  • Kaua e rehitatia te wahitau VIP ki te whirihora i runga i tetahi o nga kaimau. Whakaarohia tetahi ahuatanga: ka whakaara ano te rangatira, a i te wa e utaina ana, ka uru a Orchestrator ki te aratau failover ka waiho hei rangatira tetahi o nga pononga; katahi ka whakatika te rangatira tawhito, inaianei ko te VIP kei runga waka e rua. He kino tenei.
  • Mo te kaitoi, me tuhi koe i tetahi tuhinga mo te karanga i te rangatira tawhito me te rangatira hou. I runga i te rangatira tawhito me rere koe ifdown, me te rangatira hou - ifup vip. He pai ki te whakauru ano ki roto i tenei tuhinga, mena he koretake, ka whakaweto noa te tauranga i runga i te pana o te rangatira tawhito ki te karo i te wehenga roro.
  • I muri i te karanga a Orchestrator i to tuhinga ki te tango tuatahi i te VIP me te whakakore ranei i te tauranga i runga i te whakawhiti, katahi ka kiia ko te tuhi VIP whakaara i runga i te rangatira hou, kaua e wareware ki te whakamahi i te whakahau arping ki te korero ki nga tangata katoa ko te VIP hou inaianei. konei.
  • Ko nga pononga katoa me panui_anake=1, a, ina whakatairanga koe i te taurekareka ki te rangatira, me panui_anake=0.
  • Kaua e wareware ko tetahi pononga i whiriwhiria e matou mo tenei ka taea te noho hei rangatira (Ko te Orchestrator he tikanga tino hiahia mo te pononga ki te whakaaro hei kaitono mo te rangatira hou i te tuatahi, i te waahi tuarua, me te aha te pononga. kaua rawa e whiriwhiri i raro i nga ahuatanga rangatira). Ki te riro te pononga hei rangatira, ka mau tonu te pikaunga a te taurekareka ki runga, ka tapirihia te kawenga a te rangatira, me whai whakaaro tenei.

He aha koe e hiahia ai ki te Orchestrator mena karekau koe?

  • Ko te Orchestrator he atanga kauwhata tino ratarata-kaiwhakamahi e whakaatu ana i te topology katoa (tirohia te whakaahua i raro nei).
  • Ka taea e te Orchestrator te whai ko wai nga taurekareka kei muri, kei hea te tukuruatanga i te nuinga o te waa (kei a matou nga tuhinga taapiri ki te Orchestrator mo te tuku SMS).
  • Ka kii atu te Kaiwhakaako ko wai nga pononga he he GTID.

Atanga Kaiwhakaahua:

Kaitohutohu mo MySQL: he aha e kore ai e taea e koe te hanga i tetahi kaupapa whakaraerae me te kore
He aha te GTID he?

E rua nga whakaritenga matua mo te Orchestrator ki te mahi:

  • E tika ana kia whakahohea te pseudo GTID i runga i nga miihini katoa i roto i te roopu MySQL; kua taea e matou te GTID.
  • E tika ana kia kotahi te momo binlogs i nga waahi katoa, ka taea e koe te whakamahi korero. He whirihoranga ta matou i noho ai te rangatira me te nuinga o nga taurekareka ki a Row, a e rua nga mea o mua i noho ki te aratau Whakaranu. Ko te mutunga mai, kare noa a Orchestrator i pai ki te hono i enei taurekareka ki te rangatira hou.

Kia mahara ko te mea tino nui i roto i te taurekareka whakaputa ko tona rite ki te rangatira! Mēnā kua whakahohea e koe te Tauwhitinga Tauwhitinga Ao (GTID) i runga i to rangatira me to pononga, ka taea e koe te whakamahi i te mahi gtid_subset ki te mohio mena kua mahia nga tono mo nga huringa raraunga ki runga i enei miihini. Ka taea e koe te panui atu mo tenei konei.

No reira, ka whakaatu a Orchestrator ki a koe na roto i te kotiti GTID he tauwhitinga kei runga i te pononga kaore i te rangatira. He aha te take i penei ai?

  • Read_only=1 kaore i te whakahohea i runga i te taurekareka, i hono tetahi me te whakaoti i te tono kia huri raraunga.
  • Super_read_only=1 kaore i te whakahohea i runga i te taurekareka, katahi ka whakapoauautia e te kaiwhakahaere te tūmau, ka haere ki roto ka mahia te tono ki reira.
  • Mena ka whai whakaaro koe ki nga mea e rua o mua, katahi ano he mahi tinihanga: i MySQL, ko te tono ki te horoi i nga binlogs ka haere ano ki te binlog, na i te wa tuatahi ka puta he he GTID ki runga i te rangatira me nga pononga katoa. Me pehea te karo i tenei? I whakauruhia e Perona-5.7.25-28 te tautuhinga binlog_skip_flush_commands=1, e aukati ana i te tuhi rere ki te binlogs. Kei runga i te paetukutuku mysql.com tetahi mea kua whakapumautia bug.

Kia whakarāpopotohia e au ngā kōrero katoa i runga ake nei. Mena kaore koe e hiahia ki te whakamahi i te Orchestrator i roto i te aratau failover, katahi ka tuu ki te aratau tirohanga. Na ka mau tonu ki mua i ou kanohi he mapi mo te taunekeneke o nga miihini MySQL me nga korero ataata mo te ahua o te tukurua kei runga i ia miihini, ahakoa kei te heke nga pononga, me te mea nui, he rite tonu ki te rangatira!

Ko te patai: "Me pehea te mahi a Orchestrator?" Me whiriwhiri e ia he rangatira hou mai i nga taurekareka o naianei, katahi ka hono ano i nga taurekareka katoa ki a ia (koinei te mea e hiahiatia ana e te GTID; mena ka whakamahi koe i te tikanga tawhito me te binlog_name me te binlog_pos, katahi ka huri i te taurekareka mai i te rangatira o naianei ki te mea hou. kaore e taea!). I mua i a maatau te Orchestrator, me mahi au i enei mea katoa. Ko te rangatira tawhito e iri ana na te kaitahuri a Adaptec, he 10 pea ana pononga. I hiahia ahau ki te whakawhiti VIP mai i te rangatira ki tetahi o nga pononga me te hono ano i etahi atu pononga ki a ia. E hia nga papatohu i whakatuwherahia e au, e hia nga whakahau tukutahi i uru atu ahau... Me tatari ahau kia tae ki te 3 karaka, tango i te pikaunga mai i nga pononga katoa engari e rua, hanga te miihini tuatahi o nga rangatira e rua, ka hono tonu i te miihini tuarua ki a ia, na me whakapiri atu nga pononga katoa ki te rangatira hou ka whakahoki i te pikaunga. Katoa, whakamataku...

Me pehea te mahi a Orchestrator ina haere ana ki te aratau failover? He tino ngawari tenei ki te whakaatu i tetahi tauira o te ahuatanga e hiahia ana tatou ki te hanga i te rangatira hei miihini kaha ake, hou ake i a tatou inaianei.

Kaitohutohu mo MySQL: he aha e kore ai e taea e koe te hanga i tetahi kaupapa whakaraerae me te kore
Ko te ahua e whakaatu ana i te waenganui o te tukanga. He aha nga mea kua oti kee ki tenei wa? I kii matou e hiahia ana matou ki te hanga i tetahi taurekareka hei rangatira hou, ka timata a Orchestrator ki te hono atu i era atu pononga katoa ki a ia, me te rangatira hou hei miihini whakawhiti. Ma tenei kaupapa, kaore he hapa, ka mahi nga pononga katoa, ka tangohia e te Orchestrator te VIP mai i te rangatira tawhito, ka whakawhiti ki te mea hou, ka hanga read_only=0 ka wareware ki te rangatira tawhito. Katoa! Ko te waahi o ta maatau ratonga ko te wa whakawhiti VIP, ko te 2-3 hēkona.

Heoi ano mo tenei ra, tena koutou katoa. Ka puta mai he tuhinga tuarua mo te Orchestrator apopo. I roto i te kiriata rongonui a Soviet "Garage," ka kii tetahi tangata, "Kaore au e haere ki te tirotiro ki a ia!" No reira, e te Orchestrator, ka haere ahau i a koe ki te tirotiro!

Source: will.com

Tāpiri i te kōrero