Yano nga failover alang sa website (monitoring + dinamikong DNS)

Niini nga artikulo gusto nakong ipakita kung unsa kadali ug libre ang imong mahimo sa usa ka failover scheme alang sa usa ka website (o bisan unsang uban nga serbisyo sa Internet) gamit ang kombinasyon sa pag-monitor. okerr ug dinamikong serbisyo sa DNS. Kana mao, sa kaso sa bisan unsa nga mga problema sa mga nag-unang site (gikan sa usa ka problema sa usa ka "PHP Error" sa panid, sa kakulang sa luna o sa usa ka kadudahan gamay nga gidaghanon sa mga order sa kaso sa usa ka online store), ang mga bag-ong bisita idirekta ngadto sa ikaduha (ikatulo, ug uban pa) sa usa ka nailhan nga nagtrabaho nga server, o sa "Pasensya" nga panid, diin sila matinahuron nga mopasabut nga "adunay problema, nahibal-an na namo ug giayo na namo kini, kami ayohon kini sa dili madugay" (ug sa kini nga kaso nahibal-an na nimo ug mahimo’g ayohon).

Ang mabuhi nga adunay failover o wala?

Hangtod nga mahitabo ang pipila ka problema, wala’y daghang kalainan. Apan kung mahitabo kini, kung wala’y failover kanunay nga mahitabo ang mga musunud: sulayan nimo nga mahibal-an dayon kung unsa ang problema, dili kini molihok (dili magamit ang mga backup, ang software sa usa ka hinungdan dili molihok sama sa kinahanglan gikan sa dokumentasyon. , ug uban pa), apan wala’y oras, wala’y server - naghigda ang mga site, nanawag ang mga kliyente, ang tanan naa sa sulud, gisulayan nimo nga ayohon kini nga halos ug hugaw "nga adunay teyp", unya sa usa ka paagi daw nagsugod kini. nga may mga saklay ug mga kinabuhi. Naghunahuna ka nga sa imong libre nga oras kinahanglan nimo nga mahibal-an kini sa mas detalyado ug usbon ang tanan nga matahum, apan wala’y labi ka permanente kaysa temporaryo.

Karon, kung giunsa kini mahitabo sa usa ka matahum nga bersyon nga adunay filer:

  • Usa ka sayop ang mahitabo
  • Awtomatiko nga makit-an ang sayup
  • Gipadala ang alerto
  • Ang pagbalhin sa usa sa mga backup nga server gibalhin
  • Kalmado ug walay kalisang, ang problema gihusay, gitul-id, ug ang server gibalik sa operasyon.

Kini nga laraw, siyempre, mahimo usab nga adunay kaugalingon nga mga problema, apan sa gihapon, ang laraw linear, ang matag yugto yano ug ang panguna nga butang mao nga kini mahimo nga ma-debug nga gilain, mao nga ang higayon nga mapakyas kini nga laraw labi ka ubos, ug ang tanan nga mga aksyon mahimo nga awtomatiko ug mahimo dayon (dili sama sa tahas sa pagpangita ug pag-ayo sa wala mailhi nga epiko nga crap). Ang imong eroplano mitugpa sa usa ka layong nasud, imong gi-on ang imong telepono ug nakita ang usa ka pahibalo sa usa ka telegrama nga ang server nahagsa, apan ang tanan maayo ra, ang backup server na-aktibo, mahimo nimong ipadayon ang imong biyahe, dili nimo kinahanglan sa paglupad balik o pag-ayo niini pinaagi sa SSH gikan sa labing duol nga cafe nga adunay WiFi. Mahibal-an nimo kini kung kini mas kombenyente.

Ang umaabot ania na!

Kaniadto, ang nag-unang problema nga naghimo sa failover kanunay nga dili madawat nga solusyon mao ang kantidad sa gasto nga gasto niini. O gikinahanglan ang pagpalit ug mahal nga hardware (ug pagdapit ug mas mahal nga mga espesyalista). O kolektibo nga umahan usa ka butang nga komplikado sumala sa mga giya (nakakita pa ako usa ka kapilian diin ang duha nga mga server dugang nga konektado sa usa ka null modem cable, ug nagpadala sila usa ka tibok sa kasingkasing pinaagi niini, aron sa husto nga oras mailhan kini sa backup nga server ug mopuli. kontrol). Karon adunay mas sayon ​​ug libre nga mga paagi. Kung ikaw adunay usa ka website nga adunay mga iring, wala’y katarungan nga dili nimo ipatuman ang failover alang niini!

Aw, labut pa, alang sa usa ka failover scheme kinahanglan nimo ang lain nga server (ug tingali labaw pa sa usa) ug sa wala pa kini usa ka dako nga gasto, karon mahimo ka makakuha usa ka VDS alang sa mga pennies.

Ang labing kasaligan nga site nga adunay mga iring

Sa praktikal nga paghulagway sa solusyon sa okerr + dinamikong dns, gilusad namo ang among website sa mga iring cat.okerr.com. Gidumtan namo ang mga iring, mao nga dili daghan kanila didto. Adunay tulo ka mga site sa kinatibuk-an, ang matag usa halos parehas nga hitsura (tanan sa parehas nga template), apan adunay lainlaing mga kuting aron dali mailhan, ug ang matag usa nagsulat sa teknikal nga kasayuran aron makita kung giunsa ang paglihok sa failover. Ang panid nag-update sa iyang kaugalingon kausa matag 1 minuto, apan mahimo nimo kanunay nga i-klik ang reload sa browser.

Sa teknikal nga impormasyon adunay linya nga "status=OK". Usahay ang mga server nagpakaaron-ingnon nga mga problema ug isulat ang status=ERR. Ang nag-unang server "daw nag-crash" sa 20 minuto sa matag oras (0:20, 1:20, 2:20, ...). Pag-backup sa server sa 40 minuto. Ang katapusan nga server ("sorry" server) kanunay nga nagdagan. Sa 0 minuto sa matag oras, ang panguna ug backup nga mga server "gipahiuli".

Yano nga failover alang sa website (monitoring + dinamikong DNS)

Kung ablihan nimo ang site ug ibilin kini sa tab, imong makita nga dili gyud kini mag-crash (bisan kung ang matag indibidwal nga server kanunay nga nagsundog sa usa ka problema), ug kung adunay problema sa server, kini yano nga "nagdagan" tali sa mga live server. Ang hulagway, ngalan ug adres sa server ug ang papel niini mausab. Usahay mahimo nimong makuha ang higayon kung ang status = ERR (ang problema naa na, apan ang tibuuk nga laraw sa failover wala pa molihok), apan ang sunod nga pag-update magpakita kanimo usa ka panid gikan sa nagtrabaho nga site.

Failover sa okerr + dinamikong DNS

Atong tan-awon kung giunsa kini paglihok sa ilawom sa hood. Ang tahas sa filer mao ang pagsiguro nga ang cat.okerr.com nga adres kanunay nagpunting sa IP address sa nagtrabaho nga server.
Sa luyo sa matag usa sa mga server nga nag-host sa among cat site sa okerr adunay usa ka timailhan nga nagsusi sa kahimtang niini kausa sa usa ka minuto.

Yano nga failover alang sa website (monitoring + dinamikong DNS)

Sa kini nga screenshot atong makita kung giunsa ang site nga cat.okerr.com gisusi gikan sa alpha.okerr.com server. Ang panid kinahanglan adunay status=OK, ug ingon sa atong nakita sa ibabaw, ang atong indicator status OK na karon. Kung ang server "maguba", adunay usa ka ERR. (Kini usa ra ka pananglitan sa usa ka timailhan, ang okerr nag-monitor, aron mahimo nimong ilakip ang bisan unsang klase sa timailhan, pananglitan, susihon ang libre nga wanang sa disk, ang gidaghanon sa mga bag-ong order sa database, ug bisan ang mga lohikal nga indikasyon, pananglitan. , adunay pipila ka mga criteria sa sayop sa gabii, ug ang uban sa panahon sa adlaw).

Sa mga setting sa proyekto naghimo kami usa ka failover scheme nga adunay kini nga mga timailhan:

Yano nga failover alang sa website (monitoring + dinamikong DNS)

Ang laraw adunay tulo nga mga timailhan (tulo ka mga server), lahi sa prayoridad. Ang nag-unang server alang sa site mao si charlie, kung dili kini molihok (wala kini "status = OK" o yano nga dili magamit), unya bravo ug sa ulahi nga kaso - alpha. Ang tuo nga bahin sa panid nagpakita sa kahimtang sa DNS record sa lainlaing mga server.

Alang niadtong nakamatikod nga gigamit ang ngalan nga cat.he.okerr.com: Gigamit namo ang gamay nga mas komplikado nga laraw. Imbes nga usbon lang ang DNS record sa cat.okerr.com, usbon namo ang cat.he.okerr.com (sa Dynamic DNS provider Hurricane Electric), ug ang cat.okerr.com usa ka CNAME (alyas), nga dili mausab, kanunay nagpunting sa cat.he.okerr.com. Gusto lang namo ang Hurricane nga mas maayo isip usa ka dinamikong DNS, ug kini adunay mga yawe sa pagdumala sa usa ka entry (kaysa sa tibuok zone), kami naghunahuna nga kini mas luwas. Dili usab nimo kinahanglan nga ipiho ang mga yawe nga password sa okerr aron madumala ang tibuuk nga domain, apan alang lamang sa usa ka subdomain o rekord.

Gikan sa pagkahulog hangtod sa pagbangon

Lakang sa lakang kung giunsa kini nga laraw molihok:

  1. Usa ka problema ang mahitabo (simulate) sa server
  2. Ang sensor sa okerr nagsusi sa kahimtang sa matag server kausa sa usa ka minuto ug nagreport sa nag-unang server sa proyekto sa okerr
  3. Ang katugbang nga timailhan sa server nausab gikan sa OK ngadto sa ERR
  4. Kung ang kahimtang sa indicator mausab, ang failover gikalkulo pag-usab, ug kini kalkulado kung unsang adres ang kinahanglan nga itakda (kon gikinahanglan. Pananglitan, kung ang main server nagtrabaho, ug sa samang higayon ang backup server namatay, walay mga pagbag-o nga mahimo gihimo)
  5. Kini nga adres gitaho sa dinamikong serbisyo sa dns. Sa pagkompleto niini nga yugto, imong makita ang "naka-sync" nga kahimtang sa tuo.
  6. Sa dili madugay (mga segundo) ang rekord makaabot sa mga DNS server sa imong domain (para sa cat site kini mao ang ns1-ns5.he.net).
  7. Sukad karon, pipila ka mga tiggamit naa na sa bag-ong live server. Apan dili tanan nga mga DNS server sa kalibutan ang nag-update sa mga rekord, ug ang daan nga rekord mahimo pa nga gitago sa bisan diin. Imong makita kung giunsa ang mga datos sa publiko nga DNS server "nagsayaw", nga nagpakita sa bag-o o daan nga kantidad. Kung imong i-update ang failover configuration page, ang operator mismo mangayo ug bag-ong data gikan sa DNS servers.
  8. Pagkahuman sa pag-stabilize sa datos, ang daan nga naka-cache nga rekord dunot bisan diin - ang tanan nga 100% sa mga hangyo moadto sa bag-ong server.

Aron mapadali ang yugto 7 (kasagaran ang pinakataas), ang TTL sa dinamikong DNS nga rekord kinahanglang itakda sa ubos kutob sa mahimo. Kasagaran ang mga serbisyo nagtugot sa mga agwat sa 90-120 segundos. Kini usa ka hingpit nga makatarunganon nga pagkompromiso.

dugang

Kining tanan mahimong ma-configure sa usa ka gabii (kung aduna ka nay backup server). Ang mga serbisyo sa okerr ug dinamikong DNS libre. Aron makakuha og dugang nga mga tseke sa okerr ug mas mubo nga panahon sa pag-verify, kinahanglan nimo nga makompleto ang pagbansay (gikan sa imong pahina sa profile). Sa pagkompleto, ang lebel mosaka dayon (20 indicators kada oras + 1 dali, 10 minuto). Ug kung gamay ra sila, sulati [protektado sa email], lagmit nga posible nga madugangan (hangtod karon adunay kanunay nga higayon, wala gyud ako nagdumili, sa sukwahi, gitanyag ko kini sa akong kaugalingon). Sa sinugdanan lang dili ko gusto nga isaad sa tanan ang tanan, dili ako sigurado nga ako adunay igo nga kapasidad sa pagtuman sa akong pulong. Apan hangtod karon gamay ra ang mga tiggamit, mao nga wala’y mga problema sa pagdugang sa mga limitasyon.

Unsa ang mahimo sa okerr sa kinatibuk-an - tan-awa ang website presentasyon. Sa kinatibuk-an, kini mao ang pag-monitor (zabbix gikan sa panganod), ug ang filer usa ka nindot nga dugang nga function. Mahimo usab nimo ma-access ang demo gikan sa site nga wala’y pagrehistro.

Kung mabag-o ang kahimtang sa timailhan, usa ka pahibalo ang ipadala pinaagi sa email o Telegram. (Among gitan-aw kung unsa ang nahitabo ug nahibal-an nga ang telegrama ingon ang labing kasaligan nga mensahero. Salamat sa RKN alang sa pagsulay sa stress!) Sa husto nga pag-configure sa okerr, bisan unsang pahibalo usa ka senyales nga "ihulog ang tanan, kinahanglan naton kini ayohon!" , o β€œpalong ang suga!” Kinahanglan nga wala’y bisan unsang dugang nga mga alerto gikan sa okerra (kung naa, kinahanglan nila nga i-configure sa usa ka paagi nga lahi). Pananglitan, alang sa among site sa iring, ang alpha server mao ang katapusan ug dili gyud peke ang usa ka sayup. Kon siya mohigda, kinahanglan natong mahibaloan. Apan ang ubang mga server kanunay nga nagpakaaron-ingnon nga mga sayup, busa, aron dili makadawat mga alerto sa daghang beses sa usa ka oras, kana nga mga timailhan adunay usa ka "hilom" nga kahimtang.

Makataronganon usab ang paghimo og sorry server (sa bisan unsang pinakabarato nga pag-host), nga adunay imong panid sa pagpangayo og pasaylo (sa kaso ang tanan nga nag-una ug backup nga mga server nawala) o i-redirect ka sa status page sa okerr (pananglitan, ang amon cp.okerr.com/status/okerr) o statuspage.io.

Source: www.habr.com

Idugang sa usa ka comment