Äau Habr! PiedÄvÄju jÅ«su uzmanÄ«bai raksta tulkojumu
Daudzi cilvÄki dod priekÅ”roku divu mezglu klasteriem, jo āātie Ŕķiet konceptuÄli vienkÄrÅ”Äki un ir arÄ« par 33% lÄtÄki nekÄ trÄ«s mezglu kolÄÄ£i. Lai gan ir pilnÄ«gi iespÄjams izveidot labu divu mezglu kopu, vairumÄ gadÄ«jumu nepÄrdomÄtu scenÄriju dÄļ Å”Äda konfigurÄcija radÄ«s daudzas nepÄrprotamas problÄmas.
Pirmais solis, lai izveidotu augstas pieejamÄ«bas sistÄmu, ir atrast un mÄÄ£inÄt novÄrst atseviŔķus atteices punktus, ko bieži saÄ«sina kÄ SPoF (viens neveiksmes punkts).
Ir vÄrts paturÄt prÄtÄ, ka nevienÄ sistÄmÄ nav iespÄjams novÄrst visus iespÄjamos dÄ«kstÄves riskus. Tas izriet no tÄ, ka tipiska aizsardzÄ«ba pret risku ir zinÄmas dublÄÅ”anas ievieÅ”ana, kas palielina sistÄmas sarežģītÄ«bu un jaunu atteices punktu raÅ”anos. TÄpÄc mÄs sÄkotnÄji pieÅemam kompromisu un koncentrÄjamies uz notikumiem, kas saistÄ«ti ar atseviŔķiem neveiksmes punktiem, nevis uz saistÄ«tu un lÄ«dz ar to arvien mazÄk ticamu notikumu Ä·ÄdÄm.
Å emot vÄrÄ kompromisus, mÄs ne tikai meklÄjam SPoF, bet arÄ« lÄ«dzsvarojam riskus un sekas, kÄ rezultÄtÄ secinÄjums par to, kas ir kritisks un kas nav, katrai izvietoÅ”anai var atŔķirties.
Ne visiem ir vajadzÄ«gi alternatÄ«vi elektroenerÄ£ijas piegÄdÄtÄji ar neatkarÄ«gÄm elektropÄrvades lÄ«nijÄm. Lai gan paranoja atmaksÄjÄs vismaz vienam klientam, kad viÅu uzraudzÄ«ba atklÄja bojÄtu transformatoru. Klients veica tÄlruÅa zvanus, mÄÄ£inot brÄ«dinÄt elektroenerÄ£ijas uzÅÄmumu, lÄ«dz uzsprÄga bojÄtais transformators.
Dabisks sÄkumpunkts ir vairÄk nekÄ viens mezgls sistÄmÄ. TomÄr, pirms sistÄma pÄc kļūmes var pÄrvietot pakalpojumus uz izdzÄ«vojuÅ”o mezglu, tai parasti ir jÄnodroÅ”ina, lai pÄrvietotie pakalpojumi citur nebÅ«tu aktÄ«vi.
Divu mezglu klasterim nav nekÄdu mÄ«nusu, ja kļūmes rezultÄtÄ abi mezgli apkalpo vienu un to paÅ”u statisko vietni. TomÄr lietas mainÄs, ja abas puses neatkarÄ«gi pÄrvalda koplietojamo darbu rindu vai nodroÅ”ina nekoordinÄtu rakstÄ«Å”anas piekļuvi replicÄtai datu bÄzei vai koplietotai failu sistÄmai.
TÄpÄc, lai novÄrstu datu bojÄjumus viena mezgla atteices rezultÄtÄ - mÄs paļaujamies uz kaut ko, ko sauc "disociÄcija" (nožogojums).
DisociÄcijas princips
DisociÄcijas principa pamatÄ ir jautÄjums: vai konkurÄjoÅ”s mezgls var izraisÄ«t datu bojÄjumus? GadÄ«jumÄ, ja ir iespÄjama datu sabojÄÅ”ana, labs risinÄjums bÅ«tu izolÄt mezglu gan no ienÄkoÅ”ajiem pieprasÄ«jumiem, gan no pastÄvÄ«gas krÄtuves. VisizplatÄ«tÄkÄ pieeja atdalÄ«Å”anai ir bojÄto mezglu atvienoÅ”ana.
Ir divas disociÄcijas metožu kategorijas, kuras es saukÅ”u taisni Šø netieÅ”s, taÄu tos var saukt vienÄdi aktÄ«vs Šø pasÄ«vs. TieÅ”Äs metodes ietver darbÄ«bas no izdzÄ«vojuÅ”o vienaudžu puses, piemÄram, mijiedarbÄ«bu ar IPMI (Intelligent Platform Management Interface) vai iLO (mehÄnisms serveru pÄrvaldÄ«bai, ja tiem nav fiziskas piekļuves) ierÄ«ci, savukÄrt netieÅ”Äs metodes balstÄs uz neveiksmÄ«go ierÄ«ci. mezgls, lai kaut kÄ atpazÄ«tu, ka tas ir neveselÄ«gÄ stÄvoklÄ« (vai vismaz neļauj citiem dalÄ«bniekiem atveseļoties) un signalizÄ
Kvorums palÄ«dz, izmantojot gan tieÅ”Äs, gan netieÅ”Äs metodes.
TieÅ”a disociÄcija
TieÅ”as disociÄcijas gadÄ«jumÄ mÄs varam izmantot kvorumu, lai novÄrstu disociÄcijas sacÄ«kstes tÄ«kla atteices gadÄ«jumÄ.
Izmantojot kvoruma jÄdzienu, sistÄmÄ ir pietiekami daudz informÄcijas (pat bez savienojuma ar vienaudžiem), lai mezgli automÄtiski zinÄtu, vai tiem ir jÄuzsÄk disociÄcija un/vai atkopÅ”ana.
Bez kvoruma abas tÄ«kla plaisas puses pamatoti pieÅems, ka otra puse ir mirusi, un centÄ«sies otru atdalÄ«t. SliktÄkajÄ gadÄ«jumÄ abÄm pusÄm izdodas slÄgt visu klasteru. AlternatÄ«vs scenÄrijs ir nÄves sakritÄ«ba, nebeidzama mezglu cilpa, kas nÄrsto, neredz savus vienaudžus, tos pÄrstartÄ un atkopÅ”anu uzsÄk tikai, lai atsÄknÄtu, kad viÅu lÄ«dzinieks ievÄro to paÅ”u loÄ£iku.
AtdalÄ«Å”anas problÄma ir tÄda, ka visbiežÄk izmantotÄs ierÄ«ces kļūst nepieejamas to paÅ”u kļūmes notikumu dÄļ, uz kuriem vÄlamies atkopt. LielÄkÄ daļa IPMI un iLO karÅ”u ir instalÄtas resursdatoros, kurus tÄs kontrolÄ, un pÄc noklusÄjuma tÄs izmanto to paÅ”u tÄ«klu, kas liek mÄrÄ·a resursdatoriem uzskatÄ«t, ka citi resursdatori ir bezsaistÄ.
DiemžÄl IPMI un iLo ierÄ«Äu darbÄ«bas iezÄ«mes reti tiek Åemtas vÄrÄ aprÄ«kojuma iegÄdes laikÄ.
NetieÅ”Ä disociÄcija
Kvorums ir svarÄ«gs arÄ« netieÅ”Äs disociÄcijas pÄrvaldÄ«Å”anai; ja tas tiek darÄ«ts pareizi, kvorums var ļaut izdzÄ«vojuÅ”ajiem pieÅemt, ka zaudÄtie mezgli pÄc noteikta laika pÄriet uz droÅ”u stÄvokli.
Izmantojot Å”o konfigurÄciju, aparatÅ«ras sargsuÅa taimeris tiek atiestatÄ«ts ik pÄc N sekundÄm, ja kvorums netiek zaudÄts. Ja taimeris (parasti vairÄki N reizi) beidzas, ierÄ«ce veic negraciozu izslÄgÅ”anu (nevis izslÄgÅ”anu).
Å Ä« pieeja ir ļoti efektÄ«va, taÄu bez kvoruma klasterÄ« nav pietiekami daudz informÄcijas, lai to pÄrvaldÄ«tu. Nav viegli noteikt atŔķirÄ«bu starp tÄ«kla pÄrtraukumu un vienÄdranga mezgla kļūmi. Iemesls tam ir svarÄ«gs tÄpÄc, ka bez spÄjas atŔķirt abus gadÄ«jumus jÅ«s esat spiests izvÄlÄties vienu un to paÅ”u rÄ«cÄ«bu abos gadÄ«jumos.
Viena režīma izvÄles problÄma ir tÄda, ka nav tÄdas darbÄ«bas, kas maksimÄli palielinÄtu pieejamÄ«bu un novÄrstu datu zudumu.
- Ja izvÄlaties pieÅemt, ka vienÄdranga mezgls ir aktÄ«vs, bet faktiski neizdodas, klasteris nevajadzÄ«gi apturÄs pakalpojumus, kas darbotos, lai kompensÄtu pakalpojumu zudumu no neveiksmÄ«gÄ peer mezgla.
- Ja nolemjat pieÅemt, ka mezgls nedarbojas, bet tÄ bija tikai tÄ«kla kļūme un faktiski attÄlais mezgls darbojas, labÄkajÄ gadÄ«jumÄ jÅ«s pierakstÄties kÄdai turpmÄkai iegÅ«to datu kopu manuÄlai saskaÅoÅ”anai.
NeatkarÄ«gi no tÄ, kÄdu heiristiku jÅ«s izmantojat, ir triviÄli izveidot kļūmi, kas izraisÄ«s abu puÅ”u neveiksmi vai arÄ« klastera izslÄgÅ”anu pÄrdzÄ«vojuÅ”ajiem mezgliem. Kvoruma neizmantoÅ”ana klasterim patieÅ”Äm atÅem vienu no spÄcÄ«gÄkajiem instrumentiem tÄs arsenÄlÄ.
Ja nav citas alternatÄ«vas, vislabÄkÄ pieeja ir upurÄt pieejamÄ«bu (Å”eit autors atsaucas uz KLP teorÄmu). BojÄtu datu augsta pieejamÄ«ba nepalÄ«dz nevienam, un arÄ« dažÄdu datu kopu manuÄla saskaÅoÅ”ana nav patÄ«kama.
Kvorums
Kvorums izklausÄs lieliski, vai ne?
VienÄ«gais mÄ«nuss ir tÄds, ka, lai tas bÅ«tu klasterÄ« ar N dalÄ«bniekiem, jums ir nepiecieÅ”ams savienojums starp N/2+1 atlikuÅ”o mezglu. Kas nav iespÄjams divu mezglu klasterÄ« pÄc viena mezgla kļūmes.
Kas galu galÄ noved mÅ«s pie pamatproblÄmas ar diviem mezgliem:
Kvorumam nav jÄgas divos mezglu klasteros, un bez tÄ nav iespÄjams droÅ”i noteikt darbÄ«bas virzienu, kas palielina pieejamÄ«bu un novÄrÅ” datu zudumu.
Pat sistÄmÄ, kurÄ ir divi mezgli, kas savienoti ar krustojuma kabeli, nav iespÄjams galÄ«gi atŔķirt tÄ«kla pÄrtraukumu no otra mezgla kļūmes. Viena gala atspÄjoÅ”ana (kuras iespÄjamÄ«ba, protams, ir proporcionÄla attÄlumam starp mezgliem) bÅ«s pietiekami, lai atceltu jebkuru pieÅÄmumu, ka saites stÄvoklis ir vienÄds ar partnera mezgla stÄvokli.
Divu mezglu klastera darbība
DažkÄrt klients nevar vai nevÄlas iegÄdÄties treÅ”o mezglu, un mÄs esam spiesti meklÄt alternatÄ«vu.
1. variants ā dublikÄta disociÄcijas metode
Mezgla iLO vai IPMI ierÄ«ce ir kļūmes punkts, jo, ja tÄ neizdodas, izdzÄ«vojuÅ”ie nevar izmantot to, lai mezglu nogÄdÄtu droÅ”Ä stÄvoklÄ«. 3 vai vairÄk mezglu klasterÄ« mÄs varam to mazinÄt, aprÄÄ·inot kvorumu un izmantojot aparatÅ«ras sargsuni (netieÅ”Äs disociÄcijas mehÄnisms, kÄ minÄts iepriekÅ”). Divu mezglu gadÄ«jumÄ mums ir jÄizmanto tÄ«kla jaudas sadales vienÄ«bas (PDU).
PÄc neveiksmes izdzÄ«vojuÅ”ais vispirms mÄÄ£ina sazinÄties ar primÄro atdalÄ«Å”anas ierÄ«ci (iegulto iLO vai IPMI). Ja tas izdodas, atveseļoÅ”anÄs turpinÄs kÄ parasti. PDU var piekļūt tikai tad, ja iLO/IPMI ierÄ«ce neizdodas; ja piekļuve ir veiksmÄ«ga, atkopÅ”anu var turpinÄt.
Noteikti ievietojiet PDU citÄ tÄ«klÄ, nevis klastera trafikÄ, pretÄjÄ gadÄ«jumÄ viena tÄ«kla kļūme bloÄ·Äs piekļuvi abÄm atdalÄ«Å”anas ierÄ«cÄm un bloÄ·Äs pakalpojumu atjaunoÅ”anu.
Å eit jÅ«s varat jautÄt - vai PDU ir viens neveiksmes punkts? Uz kuru atbilde, protams, ir.
Ja Å”is risks jums ir nozÄ«mÄ«gs, jÅ«s neesat viens: savienojiet abus mezglus ar diviem PDU un sakiet klasterizÄcijas programmatÅ«rai izmantot abus, ieslÄdzot un izslÄdzot mezglus. Klasteris tagad paliek aktÄ«vs, ja viens PDU nomirst, un, lai bloÄ·Ätu atkopÅ”anu, bÅ«s nepiecieÅ”ama otra PDU vai IPMI ierÄ«ces otrÄ kļūme.
2. iespÄja ā ŔķīrÄjtiesneÅ”a pievienoÅ”ana
Dažos gadÄ«jumos, lai gan dublikÄta atdalÄ«Å”anas metode ir tehniski iespÄjama, tÄ ir politiski sarežģīta. Daudziem uzÅÄmumiem patÄ«k zinÄma noŔķirtÄ«ba starp administratoriem un lietojumprogrammu Ä«paÅ”niekiem, un tÄ«kla administratori, kas apzinÄs droŔību, ne vienmÄr ir entuziastiski kopÄ«got PDU piekļuves iestatÄ«jumus ar citiem.
Å ajÄ gadÄ«jumÄ ieteicamÄ alternatÄ«va ir izveidot neitrÄlu treÅ”o pusi, kas var papildinÄt kvoruma aprÄÄ·inu.
Kļūmes gadÄ«jumÄ mezglam ir jÄspÄj redzÄt sava vienaudžu vai arbitra Ätera viļÅus, lai atjaunotu pakalpojumus. Å Ä·Ä«rÄjtiesnesis ietver arÄ« atvienoÅ”anas funkciju, ja abi mezgli var redzÄt ŔķīrÄjtiesnesi, bet nevar redzÄt viens otru.
Å Ä« opcija ir jÄizmanto kopÄ ar netieÅ”Äs atdalÄ«Å”anas metodi, piemÄram, aparatÅ«ras sargsuÅa taimeri, kas ir konfigurÄts, lai iznÄ«cinÄtu iekÄrtu, ja tÄ zaudÄ savienojumu ar savu vienÄdranga un arbitra mezglu. TÄdÄjÄdi izdzÄ«vojuÅ”ais var pamatoti pieÅemt, ka tÄ vienÄdranga mezgls bÅ«s droÅ”Ä stÄvoklÄ« pÄc aparatÅ«ras sargsuÅa taimera termiÅa beigÄm.
PraktiskÄ atŔķirÄ«ba starp ŔķīrÄjtiesnesi un treÅ”o mezglu ir tÄda, ka ŔķīrÄjtiesneÅ”a darbÄ«bai ir nepiecieÅ”ams daudz mazÄk resursu, un tas potenciÄli var apkalpot vairÄk nekÄ vienu klasteru.
3. variants ā cilvÄciskais faktors
PÄdÄjÄ pieeja ir tÄda, ka izdzÄ«vojuÅ”ie turpina palaist visus pakalpojumus, kurus viÅi jau palaida, bet nesÄk jaunus, kamÄr problÄma nav atrisinÄta pati (tÄ«kla atjaunoÅ”ana, mezgla atsÄknÄÅ”ana) vai persona neuzÅemas atbildÄ«bu par manuÄlu apstiprinÄjumu, ka otra puse ir mirusi.
Bonusa iespÄja
Vai es minÄju, ka varat pievienot treÅ”o mezglu?
Divi statīvi
Argumenta labad izliksimies, ka esmu jÅ«s pÄrliecinÄjis par treÅ”Ä mezgla priekÅ”rocÄ«bÄm, tagad jÄapsver mezglu fiziskais izvietojums. Ja tie atrodas (un tiek darbinÄti) vienÄ plauktÄ, tas arÄ« veido SPoF, un to nevar atrisinÄt, pievienojot otru statÄ«vu.
Ja tas ir pÄrsteidzoÅ”i, apsveriet, kas notiktu, ja statÄ«vs ar diviem mezgliem sabojÄtos, un kÄ izdzÄ«vojuÅ”ais mezgls to atŔķirtu no tÄ«kla kļūmes.
ÄŖsÄ atbilde ir tÄda, ka tas nav iespÄjams, un atkal mÄs risinÄm visas problÄmas divu mezglu gadÄ«jumÄ. Vai izdzÄ«vojuÅ”ais:
- ignorÄ kvorumu un nepareizi mÄÄ£ina uzsÄkt atjaunoÅ”anu tÄ«kla pÄrtraukumu laikÄ (spÄja pabeigt disociÄciju ir cits stÄsts un ir atkarÄ«gs no tÄ, vai ir iesaistÄ«ts PDU un vai tie dala enerÄ£iju ar kÄdu no statÄ«viem), vai
- respektÄ kvorumu un priekÅ”laicÄ«gi atvienojas, ja tÄ vienÄdranga mezgls neizdodas
JebkurÄ gadÄ«jumÄ divi statÄ«vi nav labÄki par vienu, un mezgliem ir jÄsaÅem neatkarÄ«gi baroÅ”anas avoti vai tie ir jÄsadala trÄ«s (vai vairÄk, atkarÄ«bÄ no tÄ, cik mezglu jums ir) statÄ«viem.
Divi datu centri
Å ajÄ brÄ«dÄ« lasÄ«tÄji, kuri vairs nevÄlas riskÄt, var apsvÄrt iespÄju pÄc katastrofas atgÅ«Å”anas. Kas notiek, kad asteroÄ«ds ietriecas tajÄ paÅ”Ä datu centrÄ ar mÅ«su trim mezgliem, kas izvietoti trÄ«s dažÄdos plauktos? AcÄ«mredzot sliktas lietas, taÄu atkarÄ«bÄ no jÅ«su vajadzÄ«bÄm ar otra datu centra pievienoÅ”anu var nepietikt.
Ja tas tiek izdarÄ«ts pareizi, otrais datu centrs nodroÅ”ina jums (un tas ir pamatoti) ar atjauninÄtu un konsekventu jÅ«su pakalpojumu un to datu kopiju. TomÄr, tÄpat kÄ divu mezglu un divu plauktu scenÄrijos, sistÄmÄ nav pietiekami daudz informÄcijas, lai nodroÅ”inÄtu maksimÄlu pieejamÄ«bu un novÄrstu bojÄjumus (vai datu kopu neatbilstÄ«bas). Pat ar trim mezgliem (vai statÄ«viem), tos sadalot tikai divos datu centros, sistÄma nevar droÅ”i pieÅemt pareizo lÄmumu gadÄ«jumÄ (tagad daudz ticamÄk), ka abas puses nevar sazinÄties.
Tas nenozÄ«mÄ, ka divu datu centra risinÄjums nekad nav piemÄrots. UzÅÄmumi bieži vÄlas, lai persona bÅ«tu informÄta, pirms veic neparastu soli, pÄrejot uz rezerves datu centru. VienkÄrÅ”i paturiet prÄtÄ, ka, ja vÄlaties automatizÄt pÄrtraukumu, jums bÅ«s nepiecieÅ”ams treÅ”ais datu centrs, lai kvorums bÅ«tu jÄgpilns (tieÅ”i vai ar ŔķīrÄjtiesneÅ”a starpniecÄ«bu), vai arÄ« jÅ«s atradÄ«sit veidu, kÄ droÅ”i slÄgt visus datus. centrs.
Avots: www.habr.com