Methiant syml ar gyfer gwefan (monitro + DNS deinamig)

Yn yr erthygl hon rwyf am ddangos pa mor hawdd a rhad ac am ddim y gallwch chi wneud cynllun methu drosodd ar gyfer gwefan (neu unrhyw wasanaeth Rhyngrwyd arall) gan ddefnyddio cyfuniad o fonitro okerr a gwasanaeth DNS deinamig. Hynny yw, rhag ofn y bydd unrhyw broblemau gyda'r brif wefan (o broblem gyda "Gwall PHP" ar y dudalen, i ddiffyg lle neu dim ond nifer amheus o archebion yn achos siop ar-lein), bydd ymwelwyr newydd yn cael eich cyfeirio at yr ail (trydydd, ac yn y blaen) ymhellach) gweinydd gweithredol hysbys, neu ar y dudalen “Mae'n ddrwg gennyf”, lle byddant yn esbonio'n gwrtais bod “problem, rydym eisoes yn ymwybodol ac eisoes yn ei thrwsio, rydym yn yn ei drwsio yn fuan” (ac yn yr achos hwn byddwch eisoes yn gwybod ac yn gallu atgyweirio).

I fyw gyda methiant neu hebddynt?

Hyd nes y bydd rhywfaint o broblem yn digwydd, nid oes llawer o wahaniaeth. Ond pan fydd yn digwydd, heb fethiant mae'r canlynol yn aml yn digwydd: rydych chi'n ceisio darganfod yn gyflym beth yw'r broblem, nid yw'n gweithio (nid yw copïau wrth gefn yn defnyddio, nid yw'r feddalwedd am ryw reswm yn gweithio fel y dylai o'r ddogfennaeth , ac ati), ond does dim amser, dim gweinydd - mae'r gwefannau'n gorwedd o gwmpas, mae cleientiaid yn galw, mae pawb ar ymyl, rydych chi'n ceisio ei drwsio'n fras ac yn fudr “gyda thâp”, yna rywsut mae'n ymddangos ei fod yn cychwyn. gyda baglau a bywydau. Rydych chi'n meddwl yn eich amser sbâr y bydd angen i chi ei ddarganfod yn fwy manwl ac ail-wneud popeth yn hyfryd, ond nid oes dim byd mwy parhaol na dros dro.

Nawr, sut mae hyn yn digwydd mewn fersiwn hardd gyda ffeiliwr:

  • Mae camgymeriad yn digwydd
  • Mae'r gwall yn cael ei ganfod yn awtomatig
  • Anfonir rhybudd
  • Mae newid i un o'r gweinyddwyr wrth gefn yn cael ei drosglwyddo
  • Yn dawel a heb banig, mae'r broblem yn cael ei datrys, ei chywiro, a'r gweinydd yn cael ei roi yn ôl ar waith.

Efallai y bydd gan y cynllun hwn, wrth gwrs, ei broblemau ei hun hefyd, ond o hyd, mae'r cynllun yn llinol, mae pob cam yn syml a'r prif beth yw y gellir ei ddadfygio ar wahân, felly mae'r siawns o fethiant y cynllun hwn yn llawer is, a gellir awtomeiddio a pherfformio pob gweithred yn gyflym (yn wahanol i'r dasg o ddarganfod a thrwsio crap epig anhysbys). Mae'ch awyren wedi glanio mewn gwlad bell, rydych chi'n troi'ch ffôn ymlaen ac yn gweld hysbysiad mewn telegram bod y gweinydd wedi damwain, ond mae popeth yn iawn, mae'r gweinydd wrth gefn wedi'i actifadu, gallwch chi barhau â'ch taith, nid oes angen i'w hedfan yn ôl neu ei atgyweirio trwy SSH o'r caffi agosaf gyda WiFi. Byddwch yn chyfrif i maes pan fydd yn fwy cyfleus.

Mae'r dyfodol eisoes yma!

Yn flaenorol, y brif broblem a oedd yn gwneud methiant drosodd yn aml yn ateb annerbyniol oedd maint y gost. Neu roedd angen prynu caledwedd drud (a gwahodd arbenigwyr hyd yn oed yn ddrutach). Neu ar y cyd ffermio rhywbeth cymhleth yn ôl y canllawiau (deuthum ar draws opsiwn hyd yn oed lle mae dau weinydd hefyd wedi'u cysylltu â chebl modem nwl ac yn anfon curiad calon drwyddo, fel bod y gweinydd wrth gefn yn ei adnabod ac yn cymryd drosodd ar yr eiliad iawn) . Nawr mae yna ffyrdd haws a rhad ac am ddim. Os oes gennych chi wefan gyda chathod, does dim esgus i chi beidio â gweithredu 'failover' eto!

Wel, ar ben hynny, ar gyfer cynllun methu drosodd mae angen gweinydd arall arnoch (ac efallai mwy nag un) a chyn i hyn fod yn gost fawr, nawr gallwch chi gael VDS am geiniogau.

Y safle mwyaf dibynadwy gyda chathod

Er mwyn dangos yr ateb yn ymarferol gydag okerr + dns deinamig, lansiwyd ein gwefan gyda chathod cat.okerr.com. Rydyn ni'n casáu cathod, felly ni fydd llawer ohonyn nhw yno. Mae yna dri safle i gyd, pob un yn edrych yn fras yr un peth (i gyd ar yr un templed), ond gyda chathod bach gwahanol i'w gwneud hi'n hawdd gwahaniaethu, ac mae pob un yn ysgrifennu gwybodaeth dechnegol i weld sut mae methiant yn gweithio. Mae'r dudalen yn diweddaru ei hun unwaith bob 1 munud, ond gallwch chi bob amser glicio ail-lwytho yn y porwr.

Yn y wybodaeth dechnegol mae llinell “status=OK”. Weithiau mae gweinyddwyr yn ffugio problemau ac yn ysgrifennu status=ERR. Mae'n ymddangos bod y prif weinydd yn chwalu am 20 munud bob awr (0:20, 1:20, 2:20, …). Gweinydd wrth gefn mewn 40 munud. Mae'r gweinydd olaf ("sori") bob amser yn rhedeg. Ar 0 munud o bob awr, mae'r gweinyddwyr cynradd a'r gweinyddwyr wrth gefn yn cael eu “hadfer”.

Methiant syml ar gyfer gwefan (monitro + DNS deinamig)

Os byddwch chi'n agor y wefan a'i gadael yn y tab, fe welwch nad yw byth yn damwain (er bod pob gweinydd unigol yn efelychu problem o bryd i'w gilydd), ac os bydd problem gyda'r gweinydd, yn syml mae'n “rhedeg” rhwng gweinyddwyr byw. Bydd llun, enw a chyfeiriad y gweinydd a'i rôl yn newid. Weithiau gallwch chi ddal y foment pan fydd statws = ERR (mae'r broblem eisoes yn bodoli, ond nid yw'r cynllun methu cyfan wedi gweithio eto), ond bydd y diweddariad nesaf yn dangos tudalen i chi o'r safle gweithio.

Methiant ar okerr + DNS deinamig

Gadewch i ni weld sut mae'n gweithio o dan y cwfl. Tasg y ffeiliwr yw sicrhau bod y cyfeiriad cat.okerr.com bob amser yn cyfeirio at gyfeiriad IP y gweinydd sy'n gweithio.
Y tu ôl i bob un o'r gweinyddwyr sy'n cynnal ein safle cathod yn okerr mae dangosydd sy'n gwirio ei statws unwaith y funud.

Methiant syml ar gyfer gwefan (monitro + DNS deinamig)

Yn y llun hwn rydym yn gweld sut mae'r wefan cat.okerr.com yn cael ei wirio o'r gweinydd alpha.okerr.com. Dylai'r dudalen gynnwys statws = Iawn, ac fel y gwelwn uchod, mae ein statws dangosydd yn iawn nawr. Pan fydd y gweinydd yn “torri”, bydd ERR. (Dyma un enghraifft yn unig o ddangosydd, mae okerr yn monitro, felly gallwch chi atodi unrhyw fath o ddangosydd, er enghraifft, gwirio'r gofod rhydd ar y ddisg, nifer y gorchmynion newydd yn y gronfa ddata, a hyd yn oed dangosyddion rhesymegol, er enghraifft , yn y nos bydd rhai meini prawf gwall, ac yn ystod y dydd eraill).

Yng ngosodiadau’r prosiect fe wnaethom greu cynllun methu drosodd gyda’r dangosyddion hyn:

Methiant syml ar gyfer gwefan (monitro + DNS deinamig)

Mae gan y cynllun dri dangosydd (tri gweinydd), sy'n wahanol o ran blaenoriaeth. Prif weinydd y wefan yw charlie, os nad yw'n gweithio (ni fydd ganddo “status = OK” neu os nad yw ar gael), yna bravo ac yn yr achos olaf - alpha. Mae ochr dde'r dudalen yn dangos statws y cofnod DNS ar wahanol weinyddion.

I'r rhai a sylwodd fod yr enw cat.he.okerr.com yn cael ei ddefnyddio: Rydym yn defnyddio cynllun ychydig yn fwy cymhleth. Yn hytrach na dim ond newid y cofnod DNS o cat.okerr.com, rydym yn newid cat.he.okerr.com (ar y darparwr DNS Dynamic Trydan Corwynt), ac mae cat.okerr.com yn CNAME (alias), nad yw'n newid, bob amser yn pwyntio at cat.he.okerr.com. Rydyn ni'n hoffi Corwynt yn well fel DNS deinamig, ac mae ganddo allweddi i reoli un cofnod (yn hytrach na pharth cyfan), rydyn ni'n meddwl ei fod yn fwy diogel. Hefyd nid oes rhaid i chi nodi cyfrineiriau allweddol yn okerr i reoli'r parth cyfan, ond dim ond ar gyfer is-barth neu gofnod.

O syrthio i godi

Cam wrth gam sut mae’r cynllun hwn yn gweithio:

  1. Mae problem yn digwydd (efelychu) ar y gweinydd
  2. Mae'r synhwyrydd okerr yn gwirio statws pob gweinydd unwaith y funud ac yn adrodd i'r prif weinydd prosiect yn okerr
  3. Mae'r dangosydd gweinydd cyfatebol yn newid o OK i ERR
  4. Pan fydd statws y dangosydd yn newid, mae failover yn cael ei ailgyfrifo, a chyfrifir pa gyfeiriad sydd angen ei osod (os oes angen. Er enghraifft, os yw'r prif weinydd yn gweithio, ac ar yr un pryd bu farw'r gweinydd wrth gefn, ni fydd unrhyw newidiadau gwneud)
  5. Adroddir y cyfeiriad hwn i'r gwasanaeth dns deinamig. Ar ôl cwblhau'r cam hwn, fe welwch y statws "synced" ar y dde.
  6. Yn fuan iawn (eiliadau) bydd y cofnod yn cyrraedd gweinyddwyr DNS eich parth (ar gyfer y safle cathod mae'n ns1-ns5.he.net).
  7. O'r eiliad hon ymlaen, bydd rhai defnyddwyr eisoes ar y gweinydd byw newydd. Ond nid yw pob gweinydd DNS yn y byd wedi diweddaru'r cofnodion eto, ac efallai y bydd yr hen gofnod yn dal i gael ei storio yn rhywle. Gallwch weld sut mae'r data ar weinyddion DNS cyhoeddus yn “dawnsio”, gan ddangos naill ai gwerth newydd neu hen werth. Os byddwch chi'n diweddaru'r dudalen ffurfweddu methiant, bydd y gweithredwr ei hun yn gofyn am ddata newydd gan y gweinyddwyr DNS.
  8. Ar ôl i'r data sefydlogi, mae'r hen gofnod wedi'i storio yn pydru ym mhobman - mae pob un o'r 100% o geisiadau yn mynd i'r gweinydd newydd.

Er mwyn cyflymu cam 7 (yr hiraf yn aml), dylid gosod TTL y cofnod DNS deinamig mor isel â phosibl. Yn nodweddiadol, mae gwasanaethau'n caniatáu cyfnodau o 90-120 eiliad. Mae hwn yn gyfaddawd cwbl resymol.

ychwanegol

Gellir ffurfweddu hyn i gyd gyda'r nos (os oes gennych weinydd wrth gefn eisoes). Mae gwasanaethau okerr a DNS deinamig yn rhad ac am ddim. I gael mwy o wiriadau yn okerr a chyfnod dilysu byrrach, mae angen i chi gwblhau hyfforddiant (o'ch tudalen proffil). Ar ôl ei gwblhau, mae'r lefel yn cynyddu ar unwaith (20 dangosydd yr awr + 1 cyflym, 10 munud). Ac os nad oes ond ychydig ohonynt, ysgrifennwch at [e-bost wedi'i warchod], yn fwyaf tebygol y bydd yn bosibl cynyddu (hyd yn hyn bu cyfle erioed, nid wyf erioed wedi gwrthod, i'r gwrthwyneb, fe'i cynigiodd fy hun). Dim ond i ddechrau dydw i ddim eisiau addo popeth i bawb, dwi ddim yn siŵr bod gen i ddigon o allu i gadw fy ngair. Ond hyd yn hyn nid oes llawer o ddefnyddwyr, felly nid oes unrhyw broblemau gyda chynyddu'r terfynau.

Beth all okerr ei wneud yn gyffredinol - edrychwch ar y wefan cyflwyniad. Yn gyffredinol, monitro yw hwn (zabbix o'r cwmwl), ac mae'r ffeiliwr yn swyddogaeth ychwanegol braf. Gallwch hefyd gael mynediad i'r demo o'r wefan heb gofrestru.

Pan fydd statws y dangosydd yn newid, anfonir hysbysiad trwy e-bost neu Telegram. (Fe wnaethon ni edrych ar yr hyn oedd yn digwydd a sylweddoli bod telegram yn ymddangos fel y negesydd mwyaf dibynadwy. Diolch i RKN am y prawf straen!) Gyda okerr wedi'i ffurfweddu'n gywir, mae unrhyw hysbysiad naill ai'n signal "gollwng popeth, mae angen i ni ei drwsio!" , neu “goleuadau allan!” Ni ddylai fod unrhyw rybuddion ychwanegol o'r okerra (os oes, mae angen eu ffurfweddu rywsut yn wahanol). Er enghraifft, ar gyfer ein safle cathod, y gweinydd alffa yw'r un olaf ac nid yw byth yn ffugio gwall. Os bydd yn gorwedd i lawr, mae angen inni wybod. Ond mae gweinyddwyr eraill yn ffugio gwallau yn gyson, felly, er mwyn peidio â derbyn rhybuddion sawl gwaith yr awr, mae gan y dangosyddion hynny statws “tawel”.

Mae hefyd yn gwneud synnwyr i greu gweinydd sori (ar unrhyw westeiwr rhataf), a fydd naill ai'n cynnwys eich tudalen ymddiheuriad (rhag ofn bod yr holl weinyddion a'r gweinyddwyr wrth gefn i gyd i lawr) neu a fydd yn eich ailgyfeirio i'r dudalen statws ar okerr (er enghraifft, ein un ni cp.okerr.com/status/okerr) neu statuspage.io.

Ffynhonnell: hab.com

Ychwanegu sylw