Failover i thjeshtë për uebfaqen (monitorim + DNS dinamik)

Në këtë artikull, do të tregoj se sa lehtë dhe falas është të krijoni një skemë failover për një faqe interneti (ose çdo shërbim tjetër në internet) me një kombinim monitorimi okerr dhe shërbimi DNS dinamik. Kësisoj, në rast të çdo problemi me faqen kryesore (nga një problem me 'PHP Error' në faqe, deri tek mungesa e hapësirës ose thjesht një numër të dyshimtë të porosive në rastin e një dyqani online), vizitorët e rinj do të drejtohen në serverin e dytë (të tretë, e kështu me radhë) që është shumë funksional, ose në një faqe 'Na falni', ku do t'u shpjegohet në mënyrë të sjellshme se 'ka një problem, jemi të informuar dhe po e rregullojmë, do ta rregullojmë shpejt' (dhe në këtë rast, ju do të jeni në të vërtetë të informuar dhe do të mund ta rregulloni).

Të jetosh me failover apo pa të?

Derisa ndodh ndonjë problem, nuk ka ndonjë ndryshim të madh. Por kur ndodhi, pa failover, shpesh ndodhi kjo: përpiqeni të kuptoni shpejt çfarë ka ndodhur, por nuk arrini (kopjet rezervë nuk rikuperohen, programi nuk funksionon siç është përshkruar në dokumentacion, etj.), dhe koha mungon, serverat-faqet bien, klientët telefonojnë, të gjitha janë në nerva, përpiqeni ta riparoni ndonjë mënyrë, pastaj duket se nis me ndihmën e një mbështetjeje dhe vazhdon. Mendoni se në një kohë do të duhet të hetoni më në detaje dhe të rregulloni gjithçka bukur, por nuk ka gjë më të përhershme se e përkohshmja.

Tani, si ndodh kjo në një version të bukur me failover:

  • Ndodh njĂ« gabim
  • Gabimi zbullohet automatikisht
  • DĂ«rgohet njĂ« njoftim
  • Kalon nĂ« njĂ« nga serverat rezervĂ«
  • Çështja shqyrtohet qetĂ«sisht dhe pa panikĂ«, rregullohet dhe serveri rikthehet nĂ« funksion.

NĂ« kĂ«tĂ« skemĂ«, sigurisht qĂ« mund tĂ« shfaqen disa probleme, por megjithatĂ«, skema Ă«shtĂ« lineare, çdo fazĂ« kĂ«tu Ă«shtĂ« e thjeshtĂ« dhe mĂ« e rĂ«ndĂ«sishmja — mund tĂ« rregullohet veçmas, kĂ«shtu qĂ« shansi pĂ«r dĂ«shtimin e kĂ«saj skeme Ă«shtĂ« shumĂ« mĂ« i ulĂ«t, dhe tĂ« gjitha veprimet mund tĂ« automatizohen dhe tĂ« ekzekutohen shpejt (nĂ« krahasim me detyrĂ«n e gjetjes dhe rregullimit tĂ« njĂ« problemi tĂ« panjohur epik). Aviacioni juaj ka ulur nĂ« njĂ« vend tĂ« largĂ«t, ju ndizni telefonin dhe shihni nĂ« Telegram njĂ« njoftim se serveri ka rĂ«nĂ«, por gjithçka Ă«shtĂ« nĂ« rregull, serveri rezervĂ« Ă«shtĂ« aktivizuar, mund tĂ« vazhdoni udhĂ«timin tuaj, nuk nevojitet tĂ« fluturoni mbrapsht, as tĂ« rreguloni pĂ«rmes SSH nga kafeneja mĂ« e afĂ«rt me WiFi. Do tĂ« merakoseni pĂ«r kĂ«tĂ« kur tĂ« jetĂ« mĂ« e pĂ«rshtatshme.

E ardhmja është këtu!

Më parë, problemi kryesor që e bënte dështimin një zgjidhje të papranueshme shpesh ishte kostoja e lartë. Duhej të blije pajisje të shtrenjta (dhe të ftoje specialistë edhe më të shtrenjtë). Ose të përdoreshin zgjidhje të komplikuara sipas udhëzimeve (kam hasur madje një rast kur dy serverë lidhen duke përdorur një kabllo null-modem dhe dërgojnë heartbeat për të informuar serverin rezervë për të rimarrë kontrollin në momentin e duhur). Tani ka mënyra më të thjeshta dhe falas. Nëse keni një faqe interneti me mace, nuk keni justifikim nëse ende nuk e keni implementuar dështimin për të!

Po ashtu, për planin e dështimit nevojitet edhe një server (apo ndoshta edhe më shumë) dhe më parë kjo ishte një kosto e madhe, tani mund të merrni një VDS për pak para.

Faqja më e besueshme me mace

Për një ilustërim praktik të zgjidhjes me okerr + dynamic dns, ne kemi nisur faqen tonë me mace. cat.okerr.com. Ne i duam për macet, prandaj ato nuk do të jenë aty. Ka gjithsej tre faqe, çdo njëra duket përafërsisht e njëjtë (të gjitha në një model), por me maca të ndryshme për t'u dalluar lehtësisht, dhe çdo njëra shkruan informacion teknik për të parë se si funksionon failover. Faqja përditësohet automatikisht çdo 1 minutë, por gjithmonë mund të klikoni për të rifreskuar në shfletues.

NĂ« informacionin teknik ka njĂ« rresht “status=OK”. HerĂ« pas here serverat simulojnĂ« probleme dhe shkruajnĂ« status=ERR. Serveri kryesor “shkon nĂ« rrĂ«nie” nĂ« 20 minuta tĂ« çdo ore (0:20, 1:20, 2:20, ...). Serveri rezervĂ« (backup) nĂ« 40 minuta. Serveri i fundit (“sorry”-server) funksionon gjithmonĂ«. NĂ« 0 minuta tĂ« çdo ore, serverĂ«t kryesor dhe rezervĂ« “rikthehen”.

Failover i thjeshtë për uebfaqen (monitorim + DNS dinamik)

Nëse hapni faqen e internetit dhe e lini në skedën tuaj, do të shihni se ajo kurrë nuk bie (ndonëse çdo server i veçantë simulon një problem herë pas here), dhe në rast se ka një problem me serverin, thjesht "shkonte" midis serverëve aktivë. Do të ndryshojë imazhi, emri dhe adresa e serverit dhe roli i tij. Ndonjëherë mund të kapni momentin kur statusi = ERR (problemi tashmë ekziston, por i gjithë skema e failover nuk ka funksionuar ende), por përditësimi i ardhshëm do t'ju tregojë një faqe nga një server funksional.

Failover në okerr + dynamic DNS

Le t'i hedhim një sy se si funksionon kjo nga brenda. Detyra e failover është që adresa cat.okerr.com të tregojë gjithmonë IP-në e serverit funksional.
Pas çdo serveri që mbështet faqen tonë të koteleve në okerr ka një indikator, i cili kontrollon gjendjen e tij çdo minutë.

Failover i thjeshtë për uebfaqen (monitorim + DNS dinamik)

NĂ« kĂ«tĂ« ekran shohim si kontrollohet faqja cat.okerr.com nga serveri alpha.okerr.com. Faqja duhet tĂ« ketĂ« statusin status=OK, dhe siç e shohim nĂ« krye, statusi i indikatorit Ă«shtĂ« aktualisht OK. Kur serveri “dĂ«mtohet”, do tĂ« ketĂ« ERR. (Kjo Ă«shtĂ« vetĂ«m njĂ« shembull i indikatorit, okerr Ă«shtĂ« njĂ« monitorim, kĂ«shtu qĂ« mund tĂ« pĂ«rdoren çdo lloj tipi indikatorĂ«sh, pĂ«r shembull, kontrollimi i hapĂ«sirĂ«s sĂ« lirĂ« nĂ« disk, numri i porosive tĂ« reja nĂ« bazĂ«, dhe madje indikatorĂ« logjikĂ«, pĂ«r shembull, natĂ«n do tĂ« jenĂ« njĂ« kriter gabimi, ndersa gjatĂ« ditĂ«s kriterĂ« tĂ« tjerĂ«).

Në cilësimet e projektit kemi krijuar një skemë të failover me këta indikatorë:

Failover i thjeshtë për uebfaqen (monitorim + DNS dinamik)

NĂ« skemĂ« ka tre indikatorĂ« (tre serverĂ«), tĂ« ndryshĂ«m sipas prioritetit. Serveri kryesor pĂ«r faqen Ă«shtĂ« charlie, nĂ«se ai nuk funksionon (nuk do tĂ« ketĂ« “status=OK” ose thjesht nuk Ă«shtĂ« i qasshĂ«m), atĂ«herĂ« bravo dhe nĂ« rastin e fundit — alpha. NĂ« anĂ«n e djathtĂ« tĂ« faqes tregohet gjendja e regjistrit DNS nĂ« serverĂ« tĂ« ndryshĂ«m.

PĂ«r ata qĂ« e panĂ« se pĂ«rdoret emri cat.he.okerr.com: Ne pĂ«rdorim njĂ« skemĂ« pak mĂ« tĂ« komplikuar. NĂ« vend qĂ« thjesht tĂ« ndryshonim regjistrin DNS cat.okerr.com, ne ndryshojmĂ« cat.he.okerr.com (nĂ« Dynamic DNS provider Hurricane Electric), cat.okerr.com — Ă«shtĂ« njĂ« CNAME (alias) qĂ« nuk ndryshon, gjithmonĂ« tregon nĂ« cat.he.okerr.com. Hurricane na pĂ«lqen mĂ« shumĂ« si DNS dinamik, dhe ka çelĂ«sa pĂ«r menaxhimin e njĂ« regjistrimi tĂ« veçantĂ« (nuk e gjithĂ« zonĂ«n), na duket mĂ« e sigurt. Ju gjithashtu mund tĂ« mos jepni çelĂ«sa fjalĂ«kalimi nĂ« okerr pĂ«r menaxhimin e tĂ«rĂ« domenit, por vetĂ«m pĂ«r subdomenin ose regjistrimin.

Nga rënia në ngritje

Hapat, si funksionon ky sistem:

  1. Ndeshet (simulohet) një problem në server
  2. Sensorët okerr kontrollojnë gjendjen e çdo serveri një herë në minutë dhe raportojnë në serverin kryesor të projektit në okerr
  3. Indikatori përkatës i serverit ndryshon gjendjen nga OK në ERR
  4. Me ndryshimin e statusit tĂ« indikatorit, bĂ«het ritranshikimi, llogaritet se cili adresĂ« duhet tĂ« vendoset (nĂ«se Ă«shtĂ« e nevojshme. PĂ«r shembull, nĂ«se serveri kryesor punon, dhe gjatĂ« kĂ«saj kohe serveri rezervĂ« ka ndĂ«rruar — nuk do tĂ« ketĂ« asnjĂ« ndryshim)
  5. Kjo adresĂ« raportohet nĂ« shĂ«rbimin dynamic dns. Pasi tĂ« pĂ«rfundojĂ« ky etap, nĂ« anĂ«n e djathtĂ« do tĂ« shihni statusin “synced”
  6. Shumë shpejt (në sekonda) regjistrimi do të arrijë në serverët DNS të domenit tuaj (për sitin e katit janë ns1-ns5.he.net).
  7. Që nga ky moment, disa përdorues do të fillojnë të hyjnë në serverin e ri të drejtpërdrejtë. Por akoma nuk të gjithë serverët DNS në botë kanë përditësuar regjistrimet, dhe ndoshta diku ende është e ruajtur regjistrimi i mëparshëm. Mund të shihet se si të dhënat në serverët publikë DNS "këndojnë", duke treguar herë një vlerë të re, herë një të vjetër. Nëse e përditësoni faqen e cilësimeve të failover, sistemi do të kërkojë vetë të dhëna të reja nga serverët DNS.
  8. Pas stabilizimit tĂ« tĂ« dhĂ«nave, regjistrimi i vjetĂ«r i ruajtur gjithandej do tĂ« skadojĂ« — 100% e kĂ«rkesave do tĂ« shkojnĂ« nĂ« serverin e ri.

Për të përshpejtuar fazën 7 ( shpesh faza më e gjatë), TTL i regjistrimit dinamik DNS duhet të vendoset sa më poshtë që të jetë e mundur. Zakonisht, shërbimet lejojnë intervale prej 90-120 sekondash. Ky është një kompromis krejtësisht i arsyeshëm.

Shtesë

Të gjitha këto mund të konfigurohen brenda një mbrëmjeje (nëse keni tashmë një server dublues). Edhe okerr dhe shërbimet e DNS-it dinamik janë falas. Për të marrë më shumë kontrolle në okerr dhe një periudhë kontrolli më të shkurtër, duhet të kaloni një trajnim (nga faqja e profilit). Pas përfundimit të tij, niveli rritet menjëherë (20 tregues për një orë + 1 i shpejtë, 10 minuta). Nëse këto nuk janë të mjaftueshme - shkruani në support@okerr.com, shumë mundësi janë për ta rritur (deri tani gjithmonë ka pasur mundësi, asnjëherë nuk është refuzuar, përkundrazi, vetë ka propozuar). Thjesht në fillim nuk dua të premtoj çdo gjë për të gjithë, nuk jam i sigurt se do të mjaftojnë kapacitetet për të mbajtur fjalën. Por për momentin përdoruesit janë pak, kështu që nuk ka probleme me rritjen e kufijve.

ÇfarĂ« mund tĂ« bĂ«jĂ« okerr nĂ« pĂ«rgjithĂ«si - shikoni nĂ« faqen e internetit njĂ« prezantim. NĂ« thelb, ky Ă«shtĂ« njĂ« monitorim (zabbix nga re), dhe file storing Ă«shtĂ« njĂ« funksion shtesĂ« i kĂ«ndshĂ«m. Gjithashtu nga faqja mund tĂ« hyni nĂ« demo pa u regjistruar.

Kur ndodhin ndryshime nĂ« gjendjen e indikatorĂ«ve — dĂ«rgohet njĂ« njoftim nĂ« email ose Telegram. (Ne e kemi parĂ« se çfarĂ« po ndodh dhe kemi kuptuar se, nĂ« dukje, Telegram Ă«shtĂ« mesazheri mĂ« i besueshĂ«m. Faleminderit RKN pĂ«r testin stres!) Me njĂ« konfigurim tĂ« duhur tĂ« okerr, çdo njoftim Ă«shtĂ« ose njĂ« sinjal “braktisni gjithçka, duhet ta rregullojmĂ«!”, ose “atĂ«herĂ«, gjithçka Ă«shtĂ« nĂ« rregull!”. Nuk duhet tĂ« ketĂ« alerte tĂ« panevojshme nga okerr (nĂ«se ka, duhet ta konfigurojmĂ« ndryshe). PĂ«r shembull, pĂ«r serverin tonĂ« alfa nĂ« katohostin, ai kurrĂ« nuk simulohet pĂ«r njĂ« gabim. NĂ«se ai Ă«shtĂ« i rĂ«nĂ« — ne duhet ta dimĂ«. NdĂ«rsa serverĂ«t e tjerĂ« vazhdimisht simulojnĂ« gabime, prandaj, pĂ«r tĂ« mos marrĂ« alerte disa herĂ« nĂ« orĂ«, pĂ«r ata indikatorĂ« statusi Ă«shtĂ« “i qetĂ«â€.

Ka kuptim gjithashtu të krijoni një server me falje (në ndonjë hosting më të lirë), i cili do të ketë ose faqen tuaj të faljes (në rast se të gjithë serverët kryesorë dhe rezervë janë të rënë) ose do të drejtojë në faqen e statusit në okerr (për shembull, tonën cp.okerr.com/status/okerr) ose statuspage.io.

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster