Kuidas tunnete end, kui ĂŒhel kaunil suvepĂ€eval nĂ€eb teie seadmete andmekeskus vĂ€lja just nii?

Tere kĂ”igile! Minu nimi on Dmitri Samsonov, olen peamine sĂŒsteemiadministraator firmast ââ. Fotol on ĂŒks neljast andmekeskusest, kus on paigaldatud seadmed, mis teenindavad meie projekti. Nende seinte taga on umbes 4000 seadmeĂŒhikut: serverid, andmesalvestussĂŒsteem, vĂ”rguseadmed jne â peaaegu â
kogu meie varustusest.
Enamik serveritest on Linuxil. On ka mĂ”ned tosina serverit Windowsis (MS SQL) â meie pĂ€rand, millest oleme aastaid jĂ€rk-jĂ€rgult loobunud.
Nii et 5. juuni 2019 kell 14:35 teatas ĂŒhe meie andmekeskuse inseneridest tulekahjuhoiatust.
TÔrjumine
14:45. VÀikesed suitsu- ja tulekahjuÔnnetused andmekeskustes juhtuvad sagedamini, kui tundub. Tegurid saalides olid normaalsed, seetÔttu oli meie esialgne reaktsioon suhteliselt rahulik: keelasime kÔik muudatused tootmises, see tÀhendab kÔik konfiguratsiooni muudatused, uute versioonide vÀljalaskmised jne, vÀlja arvatud tööd, mis on seotud millegi parandamisega.
Viha
Kas olete kunagi proovinud selgitada pÀÀstetöötajatelt, kus tÀpselt katusel tuli puhkes, vÔi ise katusele pÀÀseda, et olukorda hinnata? Kui usaldusvÀÀrne on teave, mille olete saanud viie inimese kaudu?
14:50. Saime teate, et tuli lĂ€heneb jahutussĂŒsteemile.. Kuid kas see tĂ”epoolest jĂ”uab sinna? HĂ€daolukorraga tegelev sĂŒsteemiadministraator suunab vĂ€lise liikluse vĂ€lja selle andmekeskuse frontidest.
KĂ€esoleval hetkel on kĂ”igi meie teenuste front loodud kolmes andmekeskuses ning kasutatakse DNS tasemel koormuse tasakaalustamist, mis vĂ”imaldab eemaldada ĂŒhe andmekeskuse aadresse DNS-ist, kaitstes seega kasutajaid potentsiaalsete probleemide eest teenuste ligipÀÀsul. Kui andmekeskuses on juba probleemid tekkinud, vĂ€ljub see automaatselt rotatsioonist. Ăksikasjalikumat teavet saab lugeda siit:
Tuli ei ole meid seni mĂ”jutanud â ei kasutajad ega seadmed ei ole kahjustatud. Kas see on hĂ€daolukord? Dokumendi "Kriisi tegevuskava" esimene osa annab mĂ”iste "HĂ€daolukord" kohta mÀÀratluse, ning lĂ”peb see osa jĂ€rgmisega:
«Kui on kahtlusi, Ônnetus vÔi mitte, siis see on Ônnetus!»
14:53. MÀÀratakse Ônnetuse koordinaator.
Koordinaator on inimene, kes kontrollib kommunikatsiooni kĂ”igi osaliste vahel, hindab Ă”nnetuse ulatust, rakendab 'Ănnetusplaani', kaasab vajaliku personali, jĂ€lgib remondi lĂ”petamist, ja kĂ”ige olulisem â delegeerib kĂ”ik ĂŒlesanded. TeisisĂ”nu, see on inimene, kes haldab kogu Ă”nnetuse likvideerimise protsessi.
Hange
15:01. Alustame serverite vĂ€ljalĂŒlitamist, mis ei ole seotud tootmisega.
15:03. LĂŒlitame vĂ€lja kĂ”ik reserveeritud teenused Ă”igesti.
Siia kuuluvad mitte ainult frontid (kuhu sel ajal kasutajad enam ei pÀÀse) ja nende abiteenused (Àri loogika, vahemÀlud jne), vaid ka erinevad andmebaasid, mille replikeerimisfaktor on 2 vÔi rohkem (, , , jne.).
15:06. Saime teavet, et tuleoht Ă€hvardab ĂŒhte andmekeskuse saali. Selles saalis ei ole meil seadmeid, kuid see, et tuli vĂ”ib katuselt saalidele ĂŒle kanduda, muudab toimuvat oluliselt.
(Hiljem selgus, et saalis ei olnud fĂŒĂŒsilist ohtu, kuna see oli katuse ja seina vahel hermeetiliselt isoleeritud. Oht oli ainult selle saali jahutussĂŒsteemile.)
15:07. Lubame kĂ€skude tĂ€itmise serverites kiirusreĆŸiimis ilma lisakontrollideta ().
15:08. Temperatuur saalides on normi piires.
15:12. On fikseeritud temperatuuri tÔus saalides.
15:13. Rohkem kui pool serveritest andmekeskuses on vÀljas. JÀtkame.
15:16. Otsus on tehtud kogu varustuse vĂ€ljalĂŒlitamise kohta.
15:21. Alustame stateless serverite toite vĂ€lja lĂŒlitamist ilma rakenduse ja operatsioonisĂŒsteemi korrektse vĂ€ljalĂŒlitamiseta.
15:23. Moodustatakse vastutav grupp MS SQL-i jaoks (neid on vÀhe, teenuste sÔltuvus neist ei ole suur, kuid töövÔime taastamise protseduur vÔtab rohkem aega ning on keerukam kui nÀiteks Cassandra puhul).
Depressioon
15:25. On saadud teavet nelja saali toite vĂ€lja lĂŒlitamise kohta 16-st (nr 6, 7, 8, 9). 7. ja 8. saalis asub meie varustus. Veel kahe meie saali (nr 1 ja 3) kohta teavet ei ole.
Tavaliselt katkestavad elektritoite tulekahjude korral kohe, kuid antud juhul, tÀnu jÔudude koordineeritud tööle pÀÀstjate ja andmekeskuse tehnilise personali vahel, ei katkestatud seda igal pool ja kohe, vaid vajadusel.
(Hiljem selgus, et toide saalides 8 ja 9 ei olnud vĂ€lja lĂŒlitatud.)
15:28. Alustame MS SQL andmebaaside taastamist varukoopiatest teistes andmekeskustes.
Kui kaua see aega vÔtab? Kas kogu marsruudil on piisavalt ribalaiust?
15:37. MÔnede vÔrgupiirkondade katkestamine on fikseeritud.
Juhtimine ja tootmisvĂ”rk on teineteisest fĂŒĂŒsiliselt isoleeritud. Kui tootmisvĂ”rk on saadaval, vĂ”ite serverisse siseneda, rakenduse peatada ja operatsioonisĂŒsteemi vĂ€lja lĂŒlitada. Kui see ei ole saadaval, saab siseneda lĂ€bi IPMI, peatada rakenduse ja operatsioonisĂŒsteemi vĂ€lja lĂŒlitada. Kui ĂŒhtegi vĂ”rku ei ole, ei saa te midagi teha. 'AitĂ€h, kapten!' â mĂ”tleksite te.
'Ja ĂŒldiselt, kuidagi palju sagimist,' â vĂ”iksite samuti mĂ”elda.
Asi on selles, et serverid genereerivad isegi ilma tulekahjuta tohutut hulka soojust. TĂ€psemalt, kui jahutus on olemas, genereerivad nad soojust, ja kui seda ei ole, siis nad tekitavad pĂ”rguliku kuumuse, mis kĂ”ige paremal juhul sulatab osa seadmetest ja vĂ€lja lĂŒlitab teisi, kĂ”ige halvemal juhul... pĂ”hjustab tulekahju saalis, mis praktiliselt garanteeritult hĂ€vitab kĂ”ik.

15:39. Fikseerime probleeme conf andmebaasiga.
Conf andmebaas on tagaplaan teenus, mida kasutavad kÔik tootmistegevused seadete operatiivseks muutmiseks. Ilma selle andmebaasita ei saa me portaali toimimist juhtida, ent portaal ise vÔib siiski töötada.
15:41. Temperatuuriandurid Core vÔrguseadmetes registreerivad nÀidud, mis on lÀhedased lubatud piiridele. See on karp, mis hÔivab terve rack'i ja tagab kÔigi vÔrke toimimise andmekeskuses.

15:42. Probleemide jÀlgija ja wiki ei ole saadaval, vahetame standby'le.
See ei ole tootmistegevus, kuid mis tahes teadmusbaasi kÀtte saamine avarii korral vÔib olla kriitiline.
15:50. Ăks jĂ€lgimissĂŒsteemidest lĂŒlitus vĂ€lja.
Neid on mitmeid ja need vastutavad teenuste erinevate aspektide eest. Osad neist on seadistatud töötama iseseisvalt igas andmekeskuses (st nad jÀlgivad ainult oma andmekeskust), teised koosnevad jaotatud komponentidest, mis suudavad sujuvalt taluda igasugust andmekeskuse kaotust.
Sel juhul lakkas töö , mis töötab master-standby reĆŸiimis. LĂ€ksime ĂŒle standby-le.
Kinnitus
15:51. IPMI kaudu lĂŒlitati vĂ€lja kĂ”ik serverid, vĂ€lja arvatud MS SQL, ilma korrektse lĂ”petamiseta.
Kas olete valmis serverite massiliseks haldamiseks IPMI kaudu vajadusel?
See on hetk, mil andmekeskuse varustuse pÀÀstmine on sellel etapil lÔpetatud. KÔik, mis oli vÔimalik teha, on tehtud. MÔned kolleegid vÔivad puhata.
16:13. Saime teavet, et katusele on lĂ”hkenud konditsioneeride freoonitorud â see lĂŒkkab andmekeskuse kĂ€ivitamise edasi pĂ€rast tulekahju likvideerimist.
16:19. Andmekeskuse tehnilise personali andmetel on saalidesse temperatuuri tÔus peatunud.
17:10. Taastasime conf andmebaasi töö. NĂŒĂŒd saame rakenduste seadeid muuta.
Miks see on nii oluline, kui kĂ”ik on talitlushĂ€irekindel ja töötab isegi ilma ĂŒhe andmekeskuseta?
Esiteks, mitte kĂ”ik ei ole talitlushĂ€irekindel. On mitmeid teisi teenuseid, mis ei talu andmekeskuse talitlushĂ€iret piisavalt hĂ€sti, samuti on olemas andmebaasid master-standby reĆŸiimis. Seadistuste haldamise vĂ”imalused vĂ”imaldavad teha kĂ”ik vajalik, et ka keerulistes tingimustes minimeerida avarii tagajĂ€rgede mĂ”ju kasutajatele.
Teiseks, on selge, et jĂ€rgmiste tundide jooksul andmekeskuse töö ei taastu tĂ€ielikult, mistĂ”ttu tuli astuda samme, et pĂŒsivate koopiate pikaajaline kĂ€ttesaamatus ei tooks kaasa tĂ€iendavaid ebameeldivusi, nĂ€iteks kettamahutite ĂŒletĂ€itumist jÀÀnud andmekeskustes.
17:29. Pitsaa aeg! Meil töötavad inimesed, mitte robotid.

Rehabilitatsioon
18:02. Saalides nr 8 (meie), 9, 10 ja 11 stabiliseerus temperatuur. Ăhes neist, mis jÀÀvad vĂ€lja lĂŒlitatud (nr 7), asub meie varustus ja seal temperatuur jĂ€tkab tĂ”usmist.
18:31. Saime nĂ”usoleku seadmete kĂ€ivitamiseks saalides nr 1 ja 3 â need saalid ei saanud tulekahjus kahjustada.
Praegu kÀivad serverite kÀivitamise tööd saalides nr 1, 3 ja 8, alustades kÔige kriitilisematest. Kontrollime kÔigi tööle pandud teenuste korrektset toimimist. Saalis nr 7 on endiselt probleeme.
18:44. Andmekeskuse tehniline personal avastas, et saalis nr 7 (kus asub ainult meie varustus) on paljud serverid vĂ€lja lĂŒlitamata. Meie andmetel on seal endiselt sisse lĂŒlitatud 26 serverit. Uue kontrollimise jĂ€rel leidsime 58 serverit.
20:18. Andmekeskuse tehniline personal puhub saalis, kus ei ole konditsioneere, Ôhku lÀbi koridoride paigaldatud mobiilsete Ôhukanalite.
23:08. Esimene administraator saadeti koju. Keegi peab öösel puhkama, et homme tööd jÀtkata. Edasi saadame veel osa administraatoreid ja arendajaid.
02:56. KÀivitasime kÔik, mis oli vÔimalik kÀivitada. Teeme kÔigi teenuste ulatusliku kontrolli automaattestidega.

03:02. Viimases, 7. saalis on konditsioneering taastatud.
03:36. Seadsime andmekeskuse frontid DNS-i rotatsiooni. Alates sellest hetkest hakkab saabuma kasutajate liiklus.
Saadame suurema osa administraatorite meeskonnast koju. Kuid mÔned inimesed jÀÀvad.
VĂ€ike KKK:
K: Mis juhtus ajavahemikus 18:31 kuni 02:56?
V: Vastavalt âHĂ€daolukorra tegevuskavaleâ kĂ€ivitame kĂ”ik teenused, alustades kĂ”ige olulisematest. Koordinaator vestluses mÀÀrab teenuse vabale administraatorile, kes kontrollib, kas operatsioonisĂŒsteem ja rakendus on kĂ€ivitatud, kas vigu esineb ja kas nĂ€itajad on normaalsed. PĂ€rast kĂ€ivitamise lĂ”petamist teatab ta vestluses, et on vaba, ja saab koordinaatorilt uue teenuse.
Protsessi aeglustab ka defektsed riistvarakomponendid. Isegi kui operatsioonisĂŒsteemi seiskamine ja serverite vĂ€ljalĂŒlitamine toimusid korrektselt, ei pruugi osa serveritest tagasi tulla Ă€kitselt defektsest kettast, mĂ€lust vĂ”i ĆĄassiist. Elektri katkestamise korral suureneb rikete protsent.
K: Miks ei saa lihtsalt kÔike korraga kÀivitada ja pÀrast parandada, mis jÀlgimisel vÀlja tuleb?
V: KĂ”ike peab tegema jĂ€rk-jĂ€rgult, sest teenuste vahel on sĂ”ltuvused. KĂ”ike tuleb kontrollida kohe, ootamata jĂ€lgimist â probleemidega on parem tegeleda kohe, et mitte oodata nende sĂŒvenemist.
7:40. Viimane admin (koordinaator) lÀks magama. Esimese pÀeva töö on lÔpetatud.
8:09. Esimene arendaja, andmekeskuste insenerid ja administraatorid (sh uus koordinaator) alustasid taastamistöid.
09:37. Alustati saali nr 7 (viimase) tÔstmist.
Samaaegselt jĂ€tkame taastamistöid, mida ei ole muudatuste kĂ€igus lĂ”petatud teistes saalides: ketaste/mĂ€lu/serverite vahetus, kĂ”ikide probleemide lahendamine, mis âpĂ”levadâ jĂ€lgimises, rollide tagasipööramine master-standby schemas ja muud vĂ€iksemad asjad, mida siiski on piisavalt palju.
17:08. Luba kÔik regulaarset tööd tootmises.
21:45. Teise pÀeva tööd on lÔpetatud.
09:45. TĂ€na on reede. JĂ€lgimises on ikka veel palju vĂ€ikeseid probleeme. Ees on nĂ€dalavahetus, kĂ”ik tahavad puhata. JĂ€tkame massiliselt kĂ”ike, mida on vĂ”imalik parandada. Regulaarsed administreerimise ĂŒlesanded, mida oli vĂ”imalik edasi lĂŒkata, on edasi lĂŒkatud. Uus koordinaator.
15:40. Ăllatuslikult restartis pool Core vĂ”rgu seadmete virnast teises andmekeskuses. VĂ€henes riskide minimeerimiseks esiseinte rotatsioon. Kasutajatele ei ole mĂ”ju. Hiljem selgus, et see oli defektne ĆĄassii. Koordinaator tegeleb kohe kahe rikke parandamisega.
17:17. Tegevus teises andmekeskuses on taastatud, kÔik on kontrollitud. Andmekeskus on ringlusse vÔetud.
18:29. Kolmanda pĂ€eva tööd ja ĂŒldiselt pĂ€rast hĂ€daolukorda taastamine on lĂ”petatud.
JÀrelsÔna
04.04.2013, , «ĐĐŽĐœĐŸĐșлаŃŃĐœĐžĐșО» â kolme pĂ€eva jooksul oli portaal tĂ€ielikult vĂ”i osaliselt kĂ€ttesaamatu. Kogu selle aja jooksul aitasid ĂŒle 100 inimese erinevatest linnadest ja erinevatest ettevĂ”tetest (veel kord suur tĂ€nu!), kes töötasid kaugelt ja otseselt andmekeskustes, kĂ€sitsi ja automaatsete sĂŒsteemide kaudu tuhandete serverite parandamisel.
Oleme teinud jÀreldused. Et selline ei korduks, oleme viinud lÀbi ja jÀtkame ulatuslikke töid.
Millised on peamised erinevused nĂŒĂŒdse hĂ€da ja 404 vahel?
- Meil on ilmnenud âHĂ€daolukorra tegevusplaanâ. Iga kvartal korraldame harjutusi - simuleerime hĂ€daolukorda, mille grupi administraatorid (kĂ”ik vaheldumisi) peavad kĂ”rvaldama, kasutades âHĂ€daolukorra tegevusplaaniâ. Peamised sĂŒsteemiadministraatorid harjutavad vaheldumisi koordinaatori rolli.
- Iga veerandi jooksul katsetame, isolerides andmekeskusi (kÔiki jÀrgemööda) LAN ja WAN vÔrgus, mis vÔimaldab Ôigeaegselt tuvastada kitsaskohti.
- VÀhem riknenud kettaid, kuna oleme karmistanud norme: vÀhem töötunde ja rangemad S.M.A.R.T. lÀvendi vÀÀrtused.
- Oleme tĂ€ielikult loobunud BerkeleyDB-st â vanast ja ebastabiilsest andmebaasist, mille taastamine serveri taaskĂ€ivitusel vĂ”ttis palju aega.
- Oleme vÀhendanud MS SQL serverite arvu ja vÀhendanud sÔltuvust allesjÀÀnud serveritest.
- Meil on oma , kuhu oleme juba kaks aastat aktiivselt migreerinud kĂ”ik teenused. Pilv lihtsustab oluliselt rakendusega töötamise kogu tsĂŒklit ja annab hĂ€dade korral sellised unikaalsed tööriistad nagu:
- kĂ”igi rakenduste Ă”igeaegne peatamine ĂŒhe klikiga;
- rakenduste lihtne migreerimine rikkis serveritest;
- automaatne prioriteedijÀrjekorras (teenuste jÀrgi) kogu andmekeskuse kÀivitamine.
Artiklis kirjeldatud Ă€pardus oli suurim alates 404. pĂ€evast. Loomulikult ei lĂ€inud kĂ”ik plaanipĂ€raselt. NĂ€iteks, kui tulekahjuga andmekeskus oli kergesti kĂ€tte saadav, ebaĂ”nnestus teises andmekeskuses ĂŒks ketas ĂŒhel serveril, mistĂ”ttu jĂ€i ligipÀÀsetavaks vaid ĂŒks kolmest replikast Cassandra-klastris, mille tĂ”ttu ei saanud 4,2% mobiilirakenduste kasutajatest sisse logida. Samas jĂ€tkasid juba ĂŒhendatud kasutajad tööd. Kokku avastati avarii tulemusel rohkem kui 30 probleemi â alates lihtsatest vigadest kuni teenuste arhitektuuri puudusteni.
Kuid kĂ”ige olulisem erinevus praeguse Ă€parduse ja 404. vahel on see, et seni kui me kustutasime tulekahju tagajĂ€rgi, suheldes ja tehes videokĂ”nesid, , mĂ€ngisime mĂ€nge, kuulasime muusikat, kinkisime ĂŒksteisele kingitusi, vaatasime videosid, sarju ja telekanaleid, , samuti striimisin .
Kuidas saavad teie Àpardused mööduda?
Allikas: habr.com
