Kuidas te tunneksite, kui ĂŒhel kaunil suvepĂ€eval teie seadmete andmekeskus nĂ€eks vĂ€lja just selline?

Tere kĂ”igile! Minu nimi on Dmitri Samsonov, olen peamine sĂŒsteemiadministraator ettevĂ”ttes ââ. Fotol on ĂŒks neljast andmekeskusest, kus asub meie projekti teenindamiseks vajalik varustus. Nende seinte taga on umbes 4000 seadmeĂŒhikut: serverid, andmesalvestussĂŒsteem, vĂ”rguvarustus jne â peaaegu â
meie kogu varustusest.
Enamus serveritest töötab Linuxil. On ka mitu tosinat Windowsi serverit (MS SQL) â meie pĂ€rand, millest me oleme aastate jooksul jĂ€rk-jĂ€rgult loobunud.
Nii, 5. juunil 2019 kell 14:35 teatas ĂŒhe meie andmekeskuse insener tulehĂ€irest.
Eitamine
14:45. Andmekeskustes esinevad vÀiksemad suitsuÔnnetused juhtuvad sagedamini, kui tundub. SiseÔhus olevad nÀitajad olid normaalsed, seetÔttu oli meie esialgne reaktsioon suhteliselt rahulik: keelasime kÔik muutustööd, sealhulgas konfigureerimise muutused, uute versioonide juurutamise jne, vÀlja arvatud need, mis on seotud millegi parandamisega.
Viha
Kas olete kunagi ĂŒritanud tuletĂ”rjujatelt kĂŒsida, kus tĂ€pselt katusel tuli puhkes, vĂ”i pĂŒĂŒdsite ise sinna köetud katusesse pÀÀseda, et olukorda hinnata? Kui palju usaldusvÀÀrsust on teabel, mis on saadud viiest inimesest?
14:50. Saime teavet, et tuli liigub jahutusÂsĂŒsteemi poole.. Aga kas see jĂ”uab sinna? Delegeeritud sĂŒsteemiadministraator suunab vĂ€lise liikluse vĂ€lja selle andmekeskuse frontidest.
Praegu on kĂ”ik meie teenuste esindused kolmes andmekeskuses dubleeritud, DNS-tasandil toimub koormuse tasakaalustamine, mis vĂ”imaldab eemaldada ĂŒhe andmekeskuse aadressid DNS-ist, kaitstes seega kasutajaid potentsiaalsete probleemide eest teenuste juurdepÀÀsuga. Juhul, kui andmekeskuses on probleemid juba tekkinud, kĂ”rvaldatakse see automaatselt rotatsioonist. TĂ€iendavalt saab lugeda siit:
Kuni nĂŒĂŒd pole tulekahju meid kuidagi mĂ”jutanud â ei kasutajad ega seade ei ole kahjustatud. Kas see on avarii? Esimene osa dokumendist âAvariiplaneerimise plaanâ annab definitsiooni mĂ”istele âAvariiâ, ja lĂ”peb peatĂŒkk nii:
«Kui on kahtlusi, kas see on avarii vÔi mitte, siis see on avarii!»
14:53. MÀÀratakse Ônnetuste koordinaator.
Koordinaator on inimene, kes kontrollib kĂ”igi osaliste vahelist suhtlust, hindab Ă”nnetuse ulatust, rakendab âĂnnetusplaaniâ, kaasab vajalikud töötajad, kontrollib remondi lĂ”petamist ja kĂ”ige tĂ€htsam â delegeerib kĂ”ik ĂŒlesanded. TeisisĂ”nu on see inimene, kes juhib kogu Ă”nnetuse likvideerimise protsessi.
Kaup
15:01. Alustame serverite vĂ€ljalĂŒlitamist, mis ei ole produktsiooniga seotud.
15:03. LĂŒlitame Ă”igesti vĂ€lja kĂ”ik reserveeritud teenused.
Siia kuuluvad mitte ainult esipinnad (kuhu kasutajad sel hetkel enam ei pÀÀse) ja nende abiteenused (Àri-logika, vahemÀdid jne), vaid ka erinevad andmebaasid koos replikaatide faktoriga 2 ja enam (, , , ja muud).
15:06. Tulnud on teave, et tuleoht Ă€hvardab ĂŒhte andmekeskuse saali. Selles saalis meil varustust ei ole, kuid asjaolu, et tuli vĂ”ib katuselt ĂŒle kanduda saalidesse, muudab sĂŒndmuste pilti oluliselt.
(Hiljem selgus, et saali fĂŒĂŒsilist ohtu ei olnud, kuna see oli tihedalt isoleeritud katuse eest. Oht oli ainult selle saali jahutusĂŒsteemile.)
15:07. Lubame serverites anda kĂ€ske kiirusreĆŸiimis ilma lisakontrollideta ().
15:08. Temperatuur saalides on normi piires.
15:12. Saalide temperatuur on tÔusnud.
15:13. Ăks rohkem kui pooled serveritest andmekeskuses on vĂ€lja lĂŒlitatud. JĂ€tkame.
15:16. Otsustatakse vĂ€lja lĂŒlitada kogu varustus.
15:21. Alustame toite vĂ€ljalĂŒlitamist stateless-serverites ilma rakenduse ja operatsioonisĂŒsteemi Ă”ige vĂ€ljalĂŒlitamiseta.
15:23. MÀÀratakse vastutav grupp MS SQL-i jaoks (neid on vÀhe, teenuste sÔltuvus neist ei ole suur, kuid töövÔimetuks muutmise protseduur vÔtab kauem aega ja on keerulisem kui nÀiteks Cassandra puhul).
Depressioon
15:25. Tulnud on teave, et toide lĂŒlitati vĂ€lja neljas saalis 16-st (nr 6, 7, 8, 9). 7. ja 8. saalis on meie varustus. Kahest meie saalist (nr 1 ja 3) pole veel teavet.
Tavaliselt lĂŒlitatakse tulekahjude korral elektritoide kohe vĂ€lja, kuid antud juhul, tĂ€nu hĂ€sti koordineeritud tööle pÀÀstetöötajate ja andmekeskuse tehnilise personali vahel, ei lĂŒlitatud seda igal pool ja kohe vĂ€lja, vaid vajaduse jĂ€rgi.
(Hiljem selgus, et toide saalides 8 ja 9 ei olnud katkestatud.)
15:28. Alustame MS SQL andmebaaside taastamist varukoopiatest teistes andmekeskustes.
Kui palju aega sellele kulub? Kas vÔrgu lÀbilaskevÔime on kogu marsruudil piisav?
15:37. MÔned vÔrguosad on fikseeritud katkestada.
Juhtimine ja tootmisvĂ”rk on fĂŒĂŒsiliselt ĂŒksteisest eraldatud. Kui tootmisvĂ”rk on kergesti kĂ€tte saadav, saate siseneda serverisse, peatada rakenduse ja vĂ€lja lĂŒlitada operatsioonisĂŒsteemi. Kui see ei ole kergesti kĂ€tte saadav, siis on vĂ”imalik siseneda IPMI kaudu, peatada rakenduse ja vĂ€lja lĂŒlitada operatsioonisĂŒsteemi. Kui ĂŒhtegi vĂ”rku pole, ei saa te midagi teha. 'AitĂ€h, kapten!,' vĂ”ite te mĂ”elda.
'Ja tÔepoolest, on kuidagi palju sagimist,' vÔite samuti mÔelda.
Probleem on selles, et serverid genereerivad isegi ilma tulekahjuta tohutult soojust. TĂ€psemalt öeldes, kui jahutus on olemas, genereerivad nad soojust, ja kui seda pole, siis tekitavad nad pĂ”rgulikku kuumust, mis parimas olukorras sulatab osa seadmetest ja lĂŒlitab vĂ€lja teise osa, aga halvemal juhul⊠pĂ”hjustab tulekahju saalis, mis praktiliselt garanteerib kogu hĂ€vitamise.

15:39. Fikseerime probleeme conf andmebaasiga.
Conf andmebaas on backend vastava teenuse jaoks, mida kasutavad kÔik tootmisrakendused seadete kiireks muutmiseks. Ilma selle andmebaasita ei saa me portaali tööd juhtida, kuid ise portaali töö vÔib jÀtkuda.
15:41. Temperatuurisensorid Core vÔrgu seadmetes nÀitavad lÀhedasi lubatavaid nÀitajaid. See on kappid, mis vÔtavad terve rack'i ja tagavad kÔikide vÔrkude töö andmekeskuses.

15:42. Probleemide jĂ€lgimine ja wiki ei ole kergesti kĂ€tte saadavad, lĂŒlitame standby'le.
See ei ole tootmine, kuid Ônnetuse korral vÔib igasugune teadmistebaasi kÀttesaadavus olla kriitilise tÀhtsusega.
15:50. Ăks jĂ€lgimisse sĂŒsteemidest on vĂ€lja lĂŒlitatud.
Nende on mitu ja nad vastutavad teenuste erinevate aspektide eest. Osa neist on seadistatud töötama iseseisvalt igas andmekeskuses (st nad jÀlgivad ainult oma andmekeskust), teised koosnevad jaotatud komponentidest, mis lÀbivad sujuvalt iga andmekeskuse kadumise.
Selles olukorras lakkas töötamast , mis töötab master-standby reĆŸiimis. LĂŒlitusime standby'le.
VÔtmine
15:51. IPMI kaudu lĂŒlitasime vĂ€lja kĂ”ik serverid, vĂ€lja arvatud MS SQL, ilma korraliku sulgemiseta.
Kas olete valmis massiliseks serverihalduseks IPMI kaudu, kui vajadus tekib?
See on see hetk, kui seadmete pÀÀstmise protsess andmekeskuses on sel etapil lÔpule viidud. KÔik, mis vÔimalik, on tehtud. MÔned kolleegid saavad puhata.
16:13. On tulnud teavet, et katusele on purunenud kĂŒlmutustorud konditsioneeridest â see lĂŒkkab andmekeskuse avamise tulekahju likvideerimise jĂ€rel edasi.
16:19. Andmete kohaselt, mis on saadud andmekeskuse tehniliselt personalilt, on saalides temperatuuri tÔus peatunud.
17:10. Taastasime conf. andmebaasi töö. NĂŒĂŒd saame muuta rakenduste seadeid.
Miks see nii oluline on, kui kĂ”ik on rikkepreventiivne ja töötab isegi ilma ĂŒhe andmekeskuseta?
Esiteks, mitte kĂ”ik ei ole rikkepreventiivne. On erinevaid teisejĂ€rgulisi teenuseid, mis ei talu andmekeskuse rikke piisavalt hĂ€sti, ja on andmebaasid reĆŸiimis master-standby. VĂ”imalus seadistusi juhtida vĂ”imaldab teha kĂ”ik vajaliku, et isegi keerulistes tingimustes minimeerida avarii tagajĂ€rgede mĂ”ju kasutajatele.
Teiseks, on selge, et jĂ€rgmise paari tunni jooksul andmekeskuse töö tĂ€ielikult ei taastu, seetĂ”ttu tuli vĂ”tta meetmeid, et pikaajaline replikate puudumine ei tooks kaasa tĂ€iendavaid ebameeldivusi, nagu nĂ€iteks diskide ĂŒlevool jÀÀnud andmekeskustes.
17:29. Pitsa aeg! Meie juures töötavad inimesed, mitte robotid.

Rehabiliteerimine
18:02. Saalides nr 8 (meie), 9, 10 ja 11 stabiliseerus temperatuur. Ăhes neist, mis jÀÀvad vĂ€lja lĂŒlitatuks (nr 7), asub meie seadmed, ja seal temperatuur jĂ€tkab tĂ”usmist.
18:31. Antud luba seadmete kĂ€ivitamiseks saalides nr 1 ja 3 â need saalid ei ole tulekahju puudutanud.
Praegu kÀivitame servereid saalides nr 1, 3, 8, alustades kÔige kriitilisematest. Kontrollime kÀivitatud teenuste korrektset toimimist. Saalis nr 7 on endiselt probleeme.
18:44. Andmekeskuse tehniline personal avastas, et saalis nr 7 (kus asub ainult meie seadmed) ei ole paljusid servereid vĂ€lja lĂŒlitatud. Meie andmete kohaselt on seal 26 serverit sisse lĂŒlitatud. PĂ€rast korduvkontrolli selgub, et neid on 58.
20:18. Andmekeskuse tehniline personal puhub Ôhku saalis, kus ei ole konditsioneere, mobiilsete Ôhukanalite kaudu, mis on paigaldatud lÀbi koridoride.
23:08. Esimene admin saadeti koju. Keegi peab öösel magama, et homme tööd jÀtkata. Edasi saadame veel osa adminne ja arendajaid.
02:56. KÀivitasime kÔik, mis oli vÔimalik kÀivitada. Teeme pÔhjaliku kontrolli kÔigist teenustest automaatsete testidega.

03:02. Kliimaseade viimases, seitsmendas saalis on taastatud.
03:36. Suuname andmekeskuse serverite frontid DNS-i rullimisele. Sellest hetkest hakkab saabuma kasutajate liiklus.
Saadame suure osa adminnide meeskonnast koju. Kuid mÔned inimesed jÀÀvad.
VĂ€ike FAQ:
K: Mis juhtus ajavahemikus 18:31 kuni 02:56?
V: JĂ€rgides âHĂ€daolukorra tegevuskavaâ, kĂ€ivitame kĂ”ik teenused, alustades kĂ”ige olulisematest. Sellega samal ajal annab koordinaator vestluses teenuse vabale adminile, kes kontrollib, kas operatsioonisĂŒsteem ja rakendus kĂ€ivitusid ning kas vigu pole ning kas nĂ€idud on normis. PĂ€rast kĂ€ivitamise lĂ”petamist teatab ta vestluses, et on vaba, ja saab koordinaatorilt uue teenuse.
Protsessi aeglustavad tĂ€iendavad rikke tĂ”ttu probleemid. Isegi kui opsĂŒsteemi peatamine ja serverite vĂ€ljalĂŒlitamine toimusid Ă”igesti, ei taastu osa serveritest Ă€kiliste rikete tĂ”ttu ketastes, mĂ€lus vĂ”i ĆĄassiis. Elektri kadumise korral suureneb rikkeprotsent.
K: Miks ei saa lihtsalt kÔike korraga kÀivitada ja pÀrast parandada seda, mis monitorimisest vÀlja tuleb?
V: KĂ”ike tuleb teha jĂ€rk-jĂ€rgult, kuna teenuste vahel on sĂ”ltuvused. Ja kĂ”ike tuleks kontrollida kohe, mitte oodata monitorimist â sest probleemide lahendamiseks on parem minna otse, mitte oodata, et need sĂŒvenevad.
7:40. Viimane admin (koordinaator) lÀks magama. Esimese pÀeva tööd on lÔpetatud.
8:09. Esimesed arendajad, insenerid andmekeskustes ja adminnid (sealhulgas uus koordinaator) alustasid taastamistöid.
09:37. Alustame saali nr 7 (viimane) ĂŒlesse tĂ”stmist.
Samas jĂ€tkame taastamisega, mida pole lĂ”petatud teistes saalides: ketaste/mĂ€lu/serverite vahetamine, kĂ”ik, mis âpĂ”lebâ monitorimises, rollide tagasireklaamifunktsioonide vahetamine ja teised pisiasjad, mida siiski on piisavalt palju.
17:08. Lubame kÔik tavalised tööd produktsiooniga.
21:45. Teise pÀeva tööd on lÔpetatud.
09:45. TĂ€na on reede. JĂ€lgimisel on endiselt palju pisiprobleeme. Ees on nĂ€dalavahetus, kĂ”ik tahavad puhata. JĂ€tkame aktiivset kĂ”igi parandamist, mis vĂ”imalik. Administraatorite tavapĂ€rased ĂŒlesanded, mida sai edasi lĂŒkata, on edasi lĂŒkatud. Uus koordinaator.
15:40. ĂhtĂ€kki taastus pool kogu vĂ”rguseadmestiku Core teises andmekeskuses. Edastasime riski vĂ€hendamiseks frontid. Kasutajatele ei olnud negatiivset mĂ”ju. Hiljem selgus, et tegemist oli riketega ĆĄassiiga. Koordinaator tegeleb kahe eriolukorra korrigeerimisega.
17:17. Teise andmekeskuse vÔrgu töö on taastatud, kÔik on kontrollitud. Andmekeskus on taaskÀivitamisel.
18:29. Kolmanda pÀeva tööd ja hÀdaolukorra taastamine on lÔppenud.
EessÔna
04.04.2013, «Odnoklassniki», â kolme pĂ€eva jooksul oli portaal tĂ€ielikult vĂ”i osaliselt kĂ€ttesaamatu. Kogu selle aja jooksul parandasid rohkem kui 100 inimest erinevatest linnadest, erinevatest ettevĂ”tetest (veel kord suur aitĂ€h!), kaugtöötades ja mitte ainult andmekeskustes, manuaalselt ja automaatiliselt, tuhandeid servereid.
Oleme teinud jÀreldused. Selleks, et sellist asja ei juhtuks, oleme lÀbi viinud ja jÀtkame seniajani ulatuslikke töid.
Mis on praeguse avarii peamised erinevused 404st?
- Meil on ilmnenud «HĂ€daolukorra tegevuskava». Kord kvartalis korraldame harjutusi â simuleerime hĂ€daolukorda, mille grupi administraatorid (kĂ”ik kordamööda) peavad likvideerima, kasutades «HĂ€daolukorra tegevuskava». Peamised sĂŒsteemiadministraatorid harjutavad koordinaatori rolli kordamööda.
- Iga kvartali jĂ€rel isolatsiooni testreĆŸiimis andmekeskused (kĂ”ik kordamööda) LAN ja WAN vĂ”rgus, mis aitab Ă”igel ajal tuvastada kitsaskohti.
- VÀhem rikutud kettaid, sest oleme karmistanud norme: vÀhem töötunde, rangemad lÀvivÀÀrtused S.M.A.R.T. jaoks.
- Oleme tĂ€ielikult loobunud BerkeleyDB-st â vanast ja ebastabiilsest andmebaasist, mille taastamine serveri taaskĂ€ivitamise jĂ€rel vĂ”ttis palju aega.
- Oleme vĂ€hendanud MS SQL serverite arvu ja vĂ€hendanud sĂ”ltuvust ĂŒlejÀÀnutest.
- Meil on oma kuhu oleme juba kahe aasta jooksul aktiivselt migranud kĂ”ik teenused. Pilv lihtsustab kogu rakenduse töötsĂŒklit ja hĂ€daolukorra korral annab unikaalsed tööriistad, nagu:
- korrektne rakenduste peatamine ĂŒhe klĂ”psuga;
- lihtne rakenduste migratsioon ebaÔnnestunud serveritelt;
- automaatne jÀrjestikune (prioriteedi jÀrgi) kogu andmekeskuse kÀivitamine.
Antud artiklis kirjeldatud avarii oli suurim alates 404. aastast. Loomulikult ei lĂ€inud kĂ”ik sujuvalt. NĂ€iteks said ebaĂ”nnestunud andmekeskuse ajal teises andmekeskuses ĂŒhel serveril ketas rikki, mistĂ”ttu jĂ€i kĂ€tte ainult ĂŒks kolmest replikast Cassandra klastris, mille tĂ”ttu 4,2% mobiilirakenduste kasutajatest ei saanud sisse logida. Sellegipoolest saavad juba ĂŒhendatud kasutajad endiselt töötada. Kokku tuvastati avarii tulemusena ĂŒle 30 probleemi â alates lihtsatest vigadest kuni teenuste arhitektuuri puudusteni.
Ent kĂ”ige olulisem erinevus praeguse avarii ja 404. aasta vahel on see, et seni, kuni me kustutasime tulekahju tagajĂ€rgi, suutsid kasutajad endiselt kirjutada ja teha videokĂ”nesid , mĂ€ngisid mĂ€nge, kuulasid muusikat, kinkisid ĂŒksteisele kingitusi, vaatasid videosid, sarju ja telekanaleid , samuti voogesitasid .
Aga kuidas teie avariid kulgevad?
Allikas: habr.com
