Cluster sa duha ka nodes - ang yawa anaa sa mga detalye

Hoy Habr! Gipresentar ko sa imong pagtagad ang hubad sa artikulo "Duha ka Nodes - Ang Yawa naa sa mga Detalye" ni Andrew Beekhof.

Daghang mga tawo ang gusto sa duha ka node nga mga cluster tungod kay sila ingon og mas simple sa konsepto ug 33% usab nga mas barato kaysa sa ilang tulo ka node nga mga katugbang. Bisan kung posible nga maghiusa sa usa ka maayo nga pungpong sa duha ka mga node, sa kadaghanan nga mga kaso, tungod sa wala mahunahuna nga mga senaryo, ang ingon nga pagsulud maghimo daghang mga dili klaro nga mga problema.

Ang unang lakang sa paghimo sa bisan unsang taas nga sistema sa pagkaanaa mao ang pagpangita ug pagsulay sa pagwagtang sa indibidwal nga mga punto sa kapakyasan, kasagaran gipamubo ingon nga SPoF (usa ka punto sa kapakyasan).

Angayan nga hinumdoman nga imposible nga mawagtang ang tanan nga posible nga peligro sa downtime sa bisan unsang sistema. Kini naggikan sa kamatuoran nga ang usa ka tipikal nga depensa batok sa risgo mao ang pagpaila sa pipila ka redundancy, nga mosangpot ngadto sa dugang nga pagkakomplikado sa sistema ug ang pagtunga sa bag-ong mga punto sa kapakyasan. Busa, kita sa sinugdan naghimo ug usa ka pagkompromiso ug nagpunting sa mga panghitabo nga nalangkit sa tagsa-tagsa nga mga punto sa kapakyasan, ug dili sa mga kadena nga may kalabutan ug, busa, nagkadaghan nga dili kaayo posible nga mga panghitabo.

Tungod sa mga trade-off, dili lamang kita mangita alang sa SPoF, apan usab balansehon ang mga risgo ug mga sangputanan, ingon nga resulta diin ang konklusyon kung unsa ang kritikal ug kung unsa ang dili mahimong magkalainlain sa matag deployment.

Dili tanan nanginahanglan ug alternatibong suplayer sa kuryente nga adunay independente nga linya sa kuryente. Bisan kung ang paranoia mibayad sa labing menos usa ka kustomer sa dihang ang ilang pag-monitor nakamatikod sa usa ka sayup nga transformer. Ang kustomer mitawag sa telepono aron maalerto ang kompanya sa kuryente hangtod nga mibuto ang sayup nga transformer.

Ang natural nga punto sa pagsugod mao ang pagbaton ug labaw sa usa ka node sa sistema. Bisan pa, sa dili pa ang sistema makabalhin sa mga serbisyo sa buhi nga node pagkahuman sa usa ka kapakyasan, kasagaran kinahanglan nga sigurohon nga ang mga serbisyo nga gibalhin dili aktibo sa ubang lugar.

Walay downside sa usa ka duha-node cluster kon ang usa ka kapakyasan moresulta sa duha ka nodes nag-alagad sa sama nga static website. Bisan pa, ang mga butang mabag-o kung ang resulta mao nga ang duha ka partido independente nga nagdumala sa usa ka gipaambit nga pila sa trabaho o naghatag dili koordinado nga pag-access sa pagsulat sa usa ka gisubli nga database o gipaambit nga sistema sa file.

Busa, aron mapugngan ang korapsyon sa datos isip resulta sa usa ka kapakyasan sa node - nagsalig kami sa usa ka butang nga gitawag "dissociation" (koral).

Ang prinsipyo sa dissociation

Sa kasingkasing sa prinsipyo sa dissociation mao ang pangutana: ang usa ka kakompetensya nga node mahimong hinungdan sa korapsyon sa datos? Kung ang korapsyon sa datos usa ka lagmit nga senaryo, usa ka maayong solusyon mao ang pagbulag sa node gikan sa umaabot nga mga hangyo ug padayon nga pagtipig. Ang labing kasagaran nga pamaagi sa pagdisasosasyon mao ang pagdiskonekta sa mga sayup nga node.

Adunay duha ka mga kategorya sa mga pamaagi sa dissociation, nga akong tawgon direkta и dili direkta, pero parehas silag matawag aktibo и pasibo. Ang direkta nga mga pamaagi naglakip sa mga aksyon sa bahin sa buhi nga mga kaedad, sama sa interaksyon sa usa ka IPMI (Intelligent Platform Management Interface) o iLO (usa ka mekanismo sa pagdumala sa mga server kung wala’y pisikal nga pag-access sa kanila) nga aparato, samtang ang dili direkta nga mga pamaagi nagsalig sa napakyas. node aron mailhan nga naa kini sa dili maayo nga kahimtang (o labing menos pagpugong sa ubang mga miyembro nga maulian) ug signal tigbantay sa hardware mahitungod sa panginahanglan sa pagdiskonekta sa napakyas nga node.

Ang korum makatabang kon mogamit sa direkta ug dili direkta nga mga pamaagi.

Direkta nga dissociation

Sa kaso sa direktang dissociation, mahimo natong gamiton ang korum aron mapugngan ang mga lumba sa dissociation kung adunay pagkapakyas sa network.

Uban sa konsepto sa korum, adunay igo nga kasayuran sa sistema (bisan kung wala’y pagkonekta sa mga kaedad niini) aron awtomatiko nga mahibal-an sa mga node kung kinahanglan ba nila nga sugdan ang pagbulag ug/o pagkaayo.

Kung walay korum, ang duha ka bahin sa usa ka network divide husto nga maghunahuna nga ang pikas nga bahin patay na ug magtinguha sa pagbulag sa lain. Sa pinakagrabe nga kaso, ang duha ka partido nakahimo sa pagsira sa tibuok cluster. Ang usa ka alternatibo nga senaryo mao ang usa ka deathmatch, usa ka walay katapusan nga loop sa mga node nga nag-spawning, dili makakita sa ilang mga kaedad, nag-reboot kanila, ug nagsugod sa pagbawi aron lamang sa pag-reboot kung ang ilang kaedad nagsunod sa samang lohika.

Ang problema sa pag-disassociation mao nga ang labing kasagarang gigamit nga mga aparato dili magamit tungod sa parehas nga mga panghitabo sa kapakyasan nga gusto namon nga target alang sa pagkaayo. Kadaghanan sa mga IPMI ug iLO nga mga kard gi-install sa mga host nga ilang gikontrol ug, sa default, gigamit ang parehas nga network, nga hinungdan nga ang mga target nga host nagtuo nga ang ubang mga host offline.

Ikasubo, ang mga bahin sa pag-operate sa IPMI ug iLo nga mga aparato panagsa ra nga gikonsiderar sa panahon sa pagpalit sa kagamitan.

Dili direkta nga panagbulag

Ang korum importante usab alang sa pagdumala sa dili direkta nga pag-disassociation; kon husto ang pagbuhat, ang korum makatugot sa mga survivor nga maghunahuna nga ang nawala nga mga buko mobalhin ngadto sa luwas nga kahimtang human sa piho nga yugto sa panahon.

Uban niini nga configuration, ang hardware watchdog timer i-reset matag N segundos kon ang korum dili mawala. Kung ang timer (kasagaran daghang multiples sa N) mo-expire, nan ang device mohimo og dili maayo nga power down (dili shutdown).

Kini nga pamaagi epektibo kaayo, apan kung walay korum walay igong impormasyon sulod sa cluster aron madumala kini. Dili sayon ​​ang pagsulti sa kalainan tali sa usa ka network outage ug usa ka peer node failure. Ang hinungdan nga kini hinungdanon mao nga kung wala’y katakus nga magkalainlain tali sa duha nga mga kaso, mapugos ka sa pagpili sa parehas nga pamatasan sa parehas nga mga kaso.

Ang problema sa pagpili sa usa ka mode mao nga walay paagi sa aksyon nga mopadako sa pagkaanaa ug makapugong sa pagkawala sa datos.

  • Kung imong pilion nga ang usa ka peer node aktibo apan sa tinuud mapakyas, ang cluster dili kinahanglan nga mohunong sa mga serbisyo nga modagan aron mabayran ang pagkawala sa mga serbisyo gikan sa napakyas nga peer node.
  • Kung nakahukom ka nga maghunahuna nga ang usa ka node nahulog, apan kini usa lamang ka kapakyasan sa network ug sa tinuud ang hilit nga node magamit, nan labing maayo nga nagpalista ka alang sa umaabot nga manual nga pagpasig-uli sa mga sangputanan nga set sa datos.

Dili igsapayan kung unsa nga heuristic ang imong gigamit, gamay ra ang paghimo sa usa ka kapakyasan nga mahimong hinungdan nga mapakyas ang duha ka kilid o hinungdan nga ang cluster sa pagsira sa nahabilin nga mga node. Ang dili paggamit sa korum tinuod nga naghikaw sa pungpong sa usa sa labing gamhanan nga mga himan sa arsenal niini.

Kung wala'y laing alternatibo, ang pinakamaayo nga paagi mao ang pagsakripisyo sa pagkaanaa (dinhi ang tagsulat nagtumong sa CAP theorem). Ang taas nga pagkaanaa sa mga dunot nga datos dili makatabang ni bisan kinsa, ug ang mano-mano nga pag-uli sa lainlaing mga set sa datos dili usab makalingaw.

Korum

Nindot paminawon ang korum, di ba?

Ang bugtong disbentaha mao nga aron maapil kini sa usa ka cluster nga adunay N nga mga miyembro, kinahanglan nimo nga adunay koneksyon tali sa N / 2 + 1 sa imong mga node nga nahabilin. Nga dili mahimo sa usa ka duha ka node cluster human mapakyas ang usa ka node.

Nga sa katapusan nagdala kanato sa sukaranan nga problema sa duha ka mga node:
Ang korum dili makatarunganon sa duha ka mga pungpong sa node, ug kung wala kini imposible nga masaligan nga mahibal-an ang dagan sa aksyon nga nagpadako sa pagkaanaa ug nagpugong sa pagkawala sa datos
Bisan sa usa ka sistema sa duha ka node nga konektado sa usa ka crossover cable, imposible nga hingpit nga mailhan tali sa usa ka network outage ug usa ka kapakyasan sa laing node. Ang pagputol sa usa ka tumoy (ang kalagmitan nga, siyempre, proporsyonal sa gilay-on tali sa mga node) igo na aron dili balido ang bisan unsang pangagpas nga ang kahimsog sa link parehas sa kahimsog sa partner node.

Paghimo sa duha ka node cluster nga nagtrabaho

Usahay ang kliyente dili o dili gusto nga mopalit sa ikatulo nga node, ug mapugos kami sa pagpangita og alternatibo.

Opsyon 1 - Duplicate nga pamaagi sa dissociation

Ang iLO o IPMI device sa usa ka node nagrepresentar sa usa ka punto sa kapakyasan tungod kay, kung kini mapakyas, ang mga survivor dili makagamit niini aron dad-on ang node ngadto sa luwas nga kahimtang. Sa usa ka pungpong sa 3 o labaw pa nga mga node, mahimo natong maminusan kini pinaagi sa pagkalkula sa korum ug paggamit sa usa ka hardware watchdog (usa ka dili direkta nga mekanismo sa disassociation, sama sa gihisgutan sa sayo pa). Sa kaso sa duha ka node, kinahanglan namong gamiton ang network power distribution units (PDUs) sa baylo.

Human sa usa ka kapakyasan, ang survivor unang mosulay sa pagkontak sa nag-unang disassociation device (naka-embed nga iLO o IPMI). Kung kini malampuson, ang pagkaayo magpadayon sama sa naandan. Kon ang iLO/IPMI device mapakyas mao ang PDU nga ma-access; kon ang access malampuson, ang pagbawi mahimong magpadayon.

Siguruha nga ibutang ang PDU sa lahi nga network kaysa sa trapiko sa cluster, kung dili ang usa ka kapakyasan sa network makapugong sa pag-access sa parehas nga mga aparato sa disassociation ug babagan ang pagpahiuli sa mga serbisyo.

Dinhi mahimo kang mangutana - ang PDU ba usa ka punto sa kapakyasan? Nga ang tubag mao, siyempre mao.

Kung kini nga peligro hinungdanon kanimo, wala ka nag-inusara: ikonektar ang duha nga mga node sa duha nga mga PDU ug sultihi ang software sa clustering nga gamiton ang duha kung gipaandar ang mga node sa on ug off. Ang cluster karon nagpabilin nga aktibo kung ang usa ka PDU mamatay, ug ang ikaduhang kapakyasan sa laing PDU o sa IPMI device gikinahanglan aron babagan ang pagkaayo.

Opsyon 2 - Pagdugang ug Arbiter

Sa pipila ka mga senaryo, samtang ang duplicate nga paagi sa disassociation posible sa teknikal, lisud kini sa politika. Daghang mga kompanya ang gusto nga adunay panagbulag tali sa mga administrador ug mga tag-iya sa aplikasyon, ug ang mga tagdumala sa network nga mahunahunaon sa seguridad dili kanunay madasigon bahin sa pagpaambit sa mga setting sa pag-access sa PDU sa bisan kinsa.

Niini nga kaso, ang girekomendar nga alternatibo mao ang paghimo og neyutral nga ikatulo nga partido nga makadugang sa kwenta sa korum.

Kung adunay kapakyasan, ang usa ka node kinahanglan nga makakita sa mga airwave sa iyang kaedad o arbiter aron mapasig-uli ang mga serbisyo. Ang arbiter naglakip usab sa usa ka disconnect function kung ang duha ka node makakita sa arbiter apan dili makakita sa usag usa.

Kini nga opsyon kinahanglang gamiton dungan sa usa ka dili direkta nga paagi sa pag-disassociation, sama sa usa ka hardware watchdog timer, nga gi-configure aron sa pagpatay sa usa ka makina kon kini mawad-an og koneksyon sa iyang peer ug arbiter node. Busa, ang usa ka survivor makataronganon nga maghunahuna nga ang peer node niini anaa sa luwas nga kahimtang human matapos ang hardware watchdog timer.

Ang praktikal nga kalainan tali sa usa ka arbiter ug usa ka ikatulo nga node mao nga ang usa ka arbiter nanginahanglan labi ka gamay nga mga kapanguhaan aron makalihok ug mahimo’g magsilbi labaw sa usa ka pungpong.

Opsyon 3 - Tawhanon nga hinungdan

Ang katapusan nga pamaagi mao ang pagpadayon sa mga survivor sa pagpadagan sa bisan unsang serbisyo nga ilang gipadagan na, apan dili magsugod ug mga bag-o hangtod nga ang problema masulbad sa iyang kaugalingon (pag-uli sa network, pag-reboot sa node) o ang usa ka tawo adunay responsibilidad sa mano-mano nga pagkumpirma nga ang pikas nga bahin patay na.

Opsyon sa bonus

Gihisgotan ba nako nga mahimo nimong idugang ang ikatulo nga node?

Duha ka racks

Alang sa panaglalis, magpakaaron-ingnon ta nga nakombinsir ko ikaw sa mga merito sa ikatulo nga node, karon kinahanglan natong tagdon ang pisikal nga kahikayan sa mga node. Kung sila gibutang (ug gipadagan) sa parehas nga rack, kini usab naglangkob sa SPoF, ug usa nga dili masulbad pinaagi sa pagdugang usa ka ikaduha nga rack.

Kung kini katingad-an, hunahunaa kung unsa ang mahitabo kung ang usa ka rack nga adunay duha ka mga node mapakyas, ug kung giunsa ang nahabilin nga node magkalainlain tali sa usa ka pagkapakyas sa network.

Ang mubo nga tubag mao nga dili kini mahimo, ug pag-usab atong giatubang ang tanan nga mga problema sa duha ka node nga kaso. O naluwas:

  • wala magtagad sa korum ug sayop nga misulay sa pagsugod sa pagpasig-uli sa panahon sa network outages (ang abilidad sa pagkompleto sa dissociation lahi nga istorya ug nagdepende kon ang PDU nalambigit ug kon sila nakigbahin sa gahum sa bisan unsa sa mga racks), o
  • nagtahod sa korum ug nag-disconnect sa kaugalingon sa dili pa panahon kung ang peer node niini mapakyas

Sa bisan unsa nga kaso, ang duha ka racks dili mas maayo kaysa usa, ug ang mga node kinahanglan nga makadawat sa mga independente nga suplay sa kuryente o ipanghatag sa tulo (o daghan pa, depende sa kung pila ang imong mga node) nga mga rack.

Duha ka sentro sa datos

Niini nga punto, ang mga magbabasa nga wala na maglikay sa peligro mahimo’g maghunahuna sa pagbawi sa katalagman. Unsa ang mahitabo kung ang usa ka asteroid naigo sa parehas nga sentro sa datos sa among tulo nga mga node nga mikaylap sa tulo nga lainlaing mga rack? Dayag nga dili maayo nga mga butang, apan depende sa imong mga panginahanglan, ang pagdugang sa usa ka ikaduha nga sentro sa datos mahimong dili igo.

Kung gibuhat sa husto, ang ikaduha nga sentro sa datos naghatag kanimo (ug makatarunganon nga ingon) sa usa ka labing bag-o ug makanunayon nga kopya sa imong mga serbisyo ug sa ilang datos. Bisan pa, sama sa duha ka node, duha ka rack nga mga senaryo, wala’y igo nga kasayuran sa sistema aron masiguro ang labing kadaghan nga magamit ug mapugngan ang korapsyon (o mga kalainan sa set sa datos). Bisan sa tulo ka mga node (o racks), ang pag-apod-apod niini sa duha lamang ka mga sentro sa datos nagbilin sa sistema nga dili makahimo sa husto nga desisyon kung adunay usa ka (karon mas lagmit) nga panghitabo nga ang duha ka partido dili makakomunikar.

Kini wala magpasabot nga ang usa ka dual data center nga solusyon dili gayud angay. Ang mga kompanya kanunay gusto nga ang usa ka tawo makahibalo sa dili pa mohimo sa talagsaon nga lakang sa pagbalhin sa usa ka backup nga sentro sa datos. Hinumdomi lang nga kung gusto nimo nga i-automate ang outage, kinahanglan nimo ang ikatulo nga sentro sa datos alang sa korum aron masabtan (direkta man o pinaagi sa usa ka arbiter), o mangita ka usa ka paagi aron masaligan nga masira ang tibuuk nga datos. sentro.

Source: www.habr.com

Idugang sa usa ka comment