Kluster dua titik - Iblis aya dina detil

Héy Habr! Kuring nampilkeun ka perhatian anjeun tarjamahan artikel "Dua Titik - Iblis aya dina Rincian" ku Andrew Beekhof.

Seueur jalma langkung resep klaster dua titik sabab sigana langkung saderhana sareng 33% langkung mirah tibatan pasangan tilu titik. Sanajan cukup mungkin pikeun nunda babarengan klaster alus dua titik, di hal nu ilahar, alatan skenario unconsidered, konfigurasi sapertos bakal nyieun loba masalah unobvious.

Léngkah munggaran pikeun nyiptakeun sistem kasadiaan anu luhur nyaéta milarian sareng nyobian ngaleungitkeun titik-titik gagalna individu, sering disingget janten SPoF (titik gagalna tunggal).

Perlu diémutan yén mustahil pikeun ngaleungitkeun sagala kamungkinan kamungkinan downtime dina sistem naon waé. Ieu asalna tina kanyataan yén pertahanan has ngalawan resiko nyaéta pikeun ngawanohkeun sababaraha redundancy, nu ngabalukarkeun ngaronjat pajeulitna sistem jeung mecenghulna titik anyar gagal. Kituna, urang mimitina nyieun kompromi sarta fokus kana acara pakait sareng titik individu tina gagalna, sarta henteu dina ranté patali jeung, ku kituna, acara beuki kirang probable.

Dibikeun trade-offs, urang teu ngan néangan SPoF, tapi ogé kasaimbangan resiko na konsékuansi, salaku hasil tina nu kacindekan tina naon kritis tur naon henteu bisa béda pikeun tiap deployment.

Henteu sadayana peryogi panyalur listrik alternatif kalayan saluran listrik mandiri. Sanajan paranoia mayar kaluar pikeun sahanteuna hiji customer nalika ngawaskeun maranéhna ngadeteksi trafo faulty. Palanggan nelepon telepon nyobian ngingetkeun perusahaan listrik dugi ka trafo anu lepat ngabeledug.

Titik awal anu alami nyaéta gaduh langkung ti hiji titik dina sistem. Nanging, sateuacan sistem tiasa mindahkeun jasa kana titik anu salamet saatos gagal, éta umumna kedah mastikeun yén jasa anu dipindahkeun henteu aktip di tempat sanés.

Henteu aya kalemahan pikeun klaster dua titik upami gagalna nyababkeun duanana titik anu ngalayanan halaman wéb statik anu sami. Sanajan kitu, hal robah lamun hasilna nyaeta duanana pihak bebas ngatur antrian pakasaban dibagikeun atawa nyadiakeun aksés nulis uncoordinated kana database replicated atawa sistem file dibagikeun.

Ku alatan éta, pikeun nyegah korupsi data salaku hasil tina gagalna titik tunggal - urang ngandelkeun hal disebut "disosiasi" (pagar).

Prinsip disosiasi

Dina manah prinsip disosiasi nyaéta patarosan: naha titik anu bersaing tiasa nyababkeun korupsi data? Upami korupsi data mangrupikeun skénario anu dipikaresep, solusi anu hadé nyaéta ngasingkeun titik tina dua pamundut anu asup sareng panyimpenan anu terus-terusan. Pendekatan anu paling umum pikeun disassociation nyaéta ngaleupaskeun titik-titik anu lepat.

Aya dua kategori métode disosiasi, nu kuring bakal nelepon langsung и henteu langsung, Tapi aranjeunna sarua bisa disebut aktip и pasip. Métode langsung kalebet tindakan anu dilakukeun ku batur anu salamet, sapertos interaksi sareng alat IPMI (Intelligent Platform Management Interface) atanapi iLO (mékanisme pikeun ngatur server dina henteuna aksés fisik ka aranjeunna), sedengkeun metode henteu langsung ngandelkeun alat anu gagal. titik pikeun kumaha waé ngakuan yén éta aya dina kaayaan teu séhat (atanapi sahenteuna nyegah anggota sanés pulih) sareng sinyal pangawas hardware ngeunaan kudu megatkeun sambungan titik gagal.

Kuorum mantuan nalika ngagunakeun métode langsung jeung teu langsung.

Disosiasi langsung

Dina kasus disosiasi langsung, urang tiasa nganggo kuorum pikeun nyegah balapan disosiasi upami aya kagagalan jaringan.

Kalayan konsép kuorum, aya inpormasi anu cukup dina sistem (sanaos henteu nyambung ka peers) pikeun titik-titik pikeun otomatis terang naha aranjeunna kedah ngamimitian disosiasi sareng / atanapi pamulihan.

Tanpa kuorum, dua sisi ngabagi jaringan leres-leres bakal nganggap yén sisi anu sanés maot sareng bakal nyobian ngahapus anu sanés. Dina kasus anu paling parah, duanana pihak junun mareuman sadayana klaster. Skenario alternatip nyaéta deathmatch, hiji loop anu teu aya watesna tina titik spawning, teu ningali peers maranéhanana, rebooting aranjeunna, sarta initiating recovery ngan reboot lamun peer maranéhanana nuturkeun logika sarua.

Masalah sareng disassociation nyaéta yén alat anu paling sering dianggo janten henteu sayogi kusabab kajadian kagagalan anu sami anu urang hoyong targétkeun pikeun pamulihan. Kaseueuran kartu IPMI sareng iLO dipasang dina host anu dikontrol sareng, sacara standar, nganggo jaringan anu sami, anu nyababkeun host target yakin yén host anu sanés offline.

Hanjakalna, fitur operasi alat IPMI sareng iLo jarang dianggap dina waktos mésér alat.

Disosiasi teu langsung

Kuorum ogé penting pikeun ngatur disassociation teu langsung; lamun dipigawé leres, quorum bisa ngidinan salamet nganggap yén titik leungit bakal transisi ka kaayaan aman sanggeus kurun waktu nu tangtu.

Kalayan konfigurasi ieu, timer watchdog hardware direset unggal N detik lamun quorum teu leungit. Lamun timer (biasana sababaraha lilipetan N) kadaluwarsa, teras alat ngalakukeun hiji kakuatan ungraceful turun (teu shutdown).

Pendekatan ieu pohara efektif, tapi tanpa kuorum teu aya inpormasi anu cukup dina kluster pikeun ngatur éta. Henteu gampang pikeun ngabédakeun antara gangguan jaringan sareng kagagalan node peer. Alesan ieu perkara éta tanpa kamampuhan pikeun ngabedakeun antara dua kasus, anjeun kapaksa milih kabiasaan anu sarua dina duanana kasus.

Masalah sareng milih hiji mode nyaeta teu aya kursus Peta nu maximizes kasadiaan sarta nyegah leungitna data.

  • Upami anjeun milih nganggap yén node peer aktip tapi nyatana gagal, kluster bakal ngeureunkeun jasa anu bakal dijalankeun pikeun ngimbangan leungitna jasa tina node peer anu gagal.
  • Upami anjeun mutuskeun nganggap yén node turun, tapi éta ngan ukur kagagalan jaringan sareng kanyataanna titik jauh fungsina, teras paling saé anjeun ngadaptarkeun sababaraha rekonsiliasi manual ka hareup tina set data anu dihasilkeun.

Paduli naon heuristik Anjeun pake, éta trivial nyieun kagagalan anu boh bakal ngabalukarkeun kadua sisi gagal atawa ngabalukarkeun kluster pikeun mareuman titik salamet. Henteu nganggo kuorum leres-leres ngaleungitkeun gugusan salah sahiji alat anu paling kuat dina arsenal na.

Lamun teu aya alternatif sejen, pendekatan pangalusna nyaéta kurban kasadiaan (di dieu panulis nujul kana teorema CAP). Ketersediaan data anu rusak henteu ngabantosan saha waé, sareng sacara manual nyaluyukeun set data anu béda ogé henteu pikaresepeun.

Kuorum

Kuorum disada hébat, katuhu?

Hijina downside nyaeta dina urutan pikeun mibanda eta dina klaster kalawan anggota N, Anjeun kudu gaduh sambungan antara N / 2 + 1 titik anjeun sésana. Nu teu mungkin dina klaster dua titik sanggeus hiji titik gagal.

Anu ahirna nyababkeun urang kana masalah dasar sareng dua titik:
Kuorum teu asup akal dina dua klaster titik, sareng tanpa éta mustahil pikeun dipercaya pikeun nangtukeun tindakan anu maksimalkeun kasadiaan sareng nyegah leungitna data.
Malah dina sistem dua titik disambungkeun ku kabel kawin silang, mustahil pikeun definitively ngabedakeun antara outage jaringan jeung gagalna titik lianna. Nganonaktipkeun hiji tungtung (kamungkinan anu, tangtosna, sabanding jeung jarak antara titik) bakal cukup pikeun invalidate asumsi yén kaséhatan link sarua jeung kaséhatan titik pasangan.

Nyieun karya klaster dua titik

Kadang klien teu tiasa atanapi henteu hoyong mésér titik katilu, sareng urang kapaksa milarian alternatif.

Pilihan 1 - Métode disosiasi duplikat

Alat iLO atanapi IPMI node ngagambarkeun titik gagalna sabab, upami gagal, anu salamet teu tiasa nganggo éta pikeun mawa titik kana kaayaan anu aman. Dina klaster 3 atanapi langkung titik, urang tiasa ngirangan ieu ku ngitung kuorum sareng nganggo pengawas hardware (mékanisme disassociation teu langsung, sakumaha anu dibahas sateuacana). Dina kasus dua titik, urang kedah nganggo unit distribusi daya jaringan (PDU).

Saatos gagalna, anu salamet mimiti nyobian ngahubungi alat disosiasi primér (iLO atanapi IPMI dipasang). Upami ieu suksés, pamulihan diteruskeun sapertos biasa. Ngan upami alat iLO/IPMI gagal nyaéta PDU diaksés; upami aksésna suksés, pamulihan tiasa diteruskeun.

Pastikeun pikeun nempatkeun PDU dina jaringan béda ti lalulintas klaster, disebutkeun hiji kagagalan jaringan bakal meungpeuk aksés ka duanana alat disassociation jeung restorasi blok jasa.

Di dieu anjeun tiasa naroskeun - naha PDU mangrupikeun titik gagal? Nu jawabanana, tangtu kitu.

Upami résiko ieu penting pikeun anjeun, anjeun henteu nyalira: sambungkeun kadua titik kana dua PDU sareng béjakeun parangkat lunak clustering pikeun ngagunakeun duanana nalika ngaktipkeun sareng mareuman titik. Kluster ayeuna tetep aktip upami hiji PDU maot, sareng kagagalan kadua PDU atanapi alat IPMI anu sanés bakal diperyogikeun pikeun meungpeuk pamulihan.

Pilihan 2 - Nambahkeun hiji Arbiter

Dina sababaraha skénario, sedengkeun métode disosiasi duplikat sacara téknis mungkin, sacara politis hésé. Seueur perusahaan resep gaduh sababaraha pamisahan antara pangurus sareng pamilik aplikasi, sareng pangurus jaringan sadar kaamanan henteu salawasna sumanget ngeunaan ngabagi setélan aksés PDU sareng saha waé.

Dina hal ieu, alternatif anu disarankeun nyaéta nyiptakeun pihak katilu nétral anu tiasa nambihan itungan kuorum.

Upami gagal, hiji titik kedah tiasa ningali gelombang udara peer atanapi arbiter na supados tiasa mulangkeun jasa. Arbiter ogé ngawengku fungsi megatkeun sambungan lamun duanana titik bisa ningali arbiter tapi teu bisa ningali silih.

Pilihan ieu kedah dianggo babarengan sareng metode disassociation teu langsung, sapertos timer watchdog hardware, anu dikonpigurasi pikeun maéhan mesin upami kaleungitan sambungan kana titik peer sareng arbiter na. Janten, anu salamet tiasa nganggap yén titik peerna bakal aya dina kaayaan aman saatos pangawas hardware tamat.

Beda praktis antara arbiter jeung titik katilu nyaeta arbiter merlukeun jauh leuwih saeutik sumberdaya pikeun beroperasi sarta berpotensi bisa ngawula leuwih ti hiji klaster.

Pilihan 3 - Faktor manusa

Pendekatan anu terakhir nyaéta pikeun anu salamet teraskeun ngajalankeun jasa naon waé anu parantos dijalankeun, tapi henteu ngamimitian anu énggal dugi ka masalahna ngabéréskeun nyalira (jaringan balikkeun, reboot titik) atanapi hiji jalma tanggung jawab sacara manual mastikeun yén sisi anu sanés maot.

Pilihan bonus

Naha kuring nyarios anjeun tiasa nambihan titik katilu?

Dua raka

Demi argumen, hayu urang pura-pura yén kuring parantos ngayakinkeun anjeun ngeunaan kaunggulan titik katilu, ayeuna urang kedah mertimbangkeun susunan fisik titik. Mun aranjeunna housed (jeung Powered) dina rak sarua, ieu ogé constitutes SPoF, sarta salah sahiji nu teu bisa direngsekeun ku nambahkeun hiji rak kadua.

Upami ieu héran, pertimbangkeun naon anu bakal kajantenan upami rak sareng dua titik gagal, sareng kumaha titik anu salamet bakal ngabédakeun antara éta sareng kagagalan jaringan.

Jawaban pondok nyaéta yén éta henteu mungkin, sareng deui urang nuju kaayaan sadaya masalah dina kasus dua titik. Atawa salamet:

  • teu malire kuorum sareng teu leres nyobian ngamimitian restorasi nalika pareum jaringan (kamampuhan pikeun ngarengsekeun disosiasi mangrupikeun carita anu béda sareng gumantung kana naha PDU kalibet sareng naha aranjeunna ngabagi kakuatan sareng salah sahiji rak), atanapi
  • ngahormatan kuorum sareng megatkeun diri sateuacanna nalika titik peer na gagal

Dina naon waé, dua rak henteu langkung saé tibatan hiji, sareng titik-titik kedah nampi catu daya mandiri atanapi disebarkeun ka tilu (atanapi langkung, gumantung kana sabaraha titik anu anjeun gaduh) rak.

Dua puseur data

Dina titik ieu, pamiarsa anu henteu deui résiko averse meureun hoyong mertimbangkeun recovery musibah. Naon anu lumangsung nalika astéroid nabrak pusat data anu sami sareng tilu titik anu sumebar ka tilu rak anu béda? Jelas Hal Bad, tapi gumantung kana kabutuhan Anjeun, nambahkeun puseur data kadua bisa jadi teu cukup.

Upami dilakukeun leres, pusat data kadua nyayogikeun anjeun (sareng lumayan) salinan anu énggal sareng konsisten tina jasa anjeun sareng datana. Sanajan kitu, sakumaha dina skenario dua-titik, dua-rak, teu cukup informasi dina sistem pikeun mastikeun kasadiaan maksimum sarta nyegah korupsi (atawa discrepancies data set). Malah ku tilu titik (atanapi rak), nyebarkeunana ka dua pusat data ngan ukur nyababkeun sistem teu tiasa dipercaya pikeun nyandak kaputusan anu leres upami aya kajadian (ayeuna langkung dipikaresep) anu henteu tiasa komunikasi dua pihak.

Ieu henteu hartosna yén solusi pusat data ganda henteu pernah cocog. Perusahaan sering hoyong jalma sadar sateuacan nyandak léngkah anu luar biasa pikeun ngalih ka pusat data cadangan. Ngan émut yén upami anjeun hoyong ngajadikeun otomatis pemadaman, anjeun peryogi pusat data katilu pikeun kuorum pikeun asup akal (boh langsung atanapi ngalangkungan arbiter), atanapi anjeun bakal mendakan jalan pikeun nutup sadayana data anu dipercaya. puseur.

sumber: www.habr.com

Tambahkeun komentar