Vi förbereder DRP – glöm inte att ta hĂ€nsyn till meteoriter.

Vi förbereder DRP – glöm inte att ta hĂ€nsyn till meteoriter.
Även under en katastrof finns det alltid tid för en kopp te

DRP (disaster recovery plan) Àr en sak som i idealfallet aldrig behövs. Men om de migrerande boberna av en slump klipper huvudfiberkabeln eller en junior-administratör rÄkar ta bort en produktionsdatabas, vill du absolut vara sÀker pÄ att du har en förberedd plan för vad du ska göra med allt detta.

Medan kunderna i panik börjar ringa supporten, letar junioren efter cyanider, öppnar du med visdom det röda kuvertet och börjar fÄ ordning pÄ allt.

I det hÀr inlÀgget vill jag dela med mig av rekommendationer om hur man skriver en DRP och vad den bör innehÄlla. Dessutom kommer vi att gÄ igenom följande saker:

  1. Vi lÀr oss att tÀnka som en skurk.
  2. Vi kommer att diskutera fördelarna med en kopp te under apokalypsen.
  3. Vi planerar en bekvÀm struktur för DRP
  4. Vi ser pÄ hur den ska testas

För vilka företag det kan vara anvÀndbart

Det Àr mycket svÄrt att dra en grÀns nÀr IT-avdelningen börjar behöva sÄdana hÀr saker. Jag skulle sÀga att DRP verkligen Àr nödvÀndigt om:

  • Stopp av server, applikation eller förlust av nĂ„gon databas kommer att leda till betydande affĂ€rsförluster i allmĂ€nhet.
  • Du har en fullt fungerande IT-avdelning. Jag menar en avdelning som Ă€r ett fullvĂ€rdigt företag, med sin egen budget, och inte bara nĂ„gra trötta anstĂ€llda som drar nĂ€tverk, rengör virus och fyller pĂ„ skrivare.
  • Du har en faktisk budget Ă„tminstone för delvis reservplanering i hĂ€ndelse av en nödsituation.

NĂ€r IT-avdelningen i mĂ„nader ber om ens ett par HDD till den gamla servern för backup, Ă€r det osannolikt att ni kan organisera en fullstĂ€ndig överflyttning av den nedlagda tjĂ€nsten till reservkraft. Även hĂ€r Ă€r dokumentationen dock inte överflödig.

Dokumentation Àr viktig

Börja med dokumentationen. Anta att din tjÀnst körs pÄ ett Perl-script som skrevs för tre generationer av administratörer sedan, och ingen vet hur det fungerar. Den ackumulerade tekniska skulden och avsaknaden av dokumentation kommer oundvikligen att skjuta dig i knet och andra lemmar, det Àr snarare en tidsfrÄga.

NÀr du har en bra beskrivning av tjÀnstens komponenter, granska statistiken över incidenter. De kommer sannolikt att vara ganska typiska. Till exempel kan din disk dÄ och dÄ fyllas, vilket leder till att noden misslyckas tills den har rensats manuellt. Eller sÄ blir kundtjÀnsten otillgÀnglig för att nÄgon Äterigen glömde att förnya certifikatet, och ingen kunde eller ville stÀlla in Let's Encrypt.

TÀnk som en sabotör

Den svĂ„raste delen ligger i att förutsĂ€ga de incidenter som aldrig har intrĂ€ffat men som potentiellt kan slĂ„ ut din tjĂ€nst helt. HĂ€r brukar vi vanligtvis leka skurkar med kollegor. Ta mycket kaffe och nĂ„got gott och lĂ„s in er i mötesrummet. Se bara till att ni ocksĂ„ lĂ„ser in de ingenjörer som sjĂ€lva har byggt den aktuella tjĂ€nsten eller som jobbar med den regelbundet. Sedan börjar ni antingen pĂ„ en tavla eller pĂ„ papper att rita alla möjliga skrĂ€cksituationer som kan hĂ€nda med er tjĂ€nst. Det Ă€r inte nödvĂ€ndigt att gĂ„ in pĂ„ detaljer om en viss stĂ€derska som drar ur kablar, det rĂ€cker med att övervĂ€ga scenariet "ÖvertrĂ€delse av det lokala nĂ€tverkets integritet".

Vanligtvis faller de flesta typiska incidenter inom följande kategorier:

  • NĂ€tverksfel
  • Fel i operativsystemets tjĂ€nster
  • Applikationsfel
  • HĂ„rdvarufel
  • Virtualiseringsfel

Du gĂ„r helt enkelt igenom varje kategori och ser vad som Ă€r tillĂ€mpligt för din tjĂ€nst. Till exempel kan Nginx-processen krascha och inte starta igen – det Ă€r ett OS-fel. En sĂ€llsynt situation som gör att din webbapplikation gĂ„r ner Ă€r en programvarufel. Under detta steg Ă€r det viktigt att arbeta med problemdiagnos. Hur skiljer man en hĂ€ngande grĂ€nssnitt pĂ„ virtualisering frĂ„n en nedfallen switch och ett nĂ€tverksfel, till exempel. Detta Ă€r viktigt för att snabbt kunna identifiera ansvariga och börja driva dem tills incidenten Ă€r Ă„tgĂ€rdad.

NÀr de typiska problemen har skrivits ner, hÀller vi mer kaffe och börjar övervÀga de mest ovanliga scenarierna nÀr vissa parametrar börjar avvika kraftigt frÄn normen. Till exempel:

  • Vad hĂ€nder om tiden pĂ„ den aktiva noden flyttas en minut tillbaka i förhĂ„llande till de andra i klustret?
  • Och om tiden flyttas framĂ„t, vad om det Ă€r i 10 Ă„r?
  • Vad hĂ€nder om klusternoden plötsligt förlorar nĂ€tverket under synkroniseringen?
  • Vad hĂ€nder om tvĂ„ noder inte kan dela ledarskapet pĂ„ grund av tillfĂ€llig isolering frĂ„n varandra i nĂ€tverket?

I det hĂ€r skedet Ă€r det vĂ€ldigt hjĂ€lpsamt att anvĂ€nda en bakvĂ€nd metod. Ta den mest besatta medlemmen i teamet med en sjuk fantasi och ge dem en uppgift att pĂ„ kort tid orsaka en avvikelse som förstör tjĂ€nsten. Om den Ă€r svĂ„r att diagnostisera – Ă€nnu bĂ€ttre. Du kommer inte att tro vilka konstiga och coola idĂ©er ingenjörerna kommer med om du ger dem en idĂ© om att förstöra nĂ„got. Och om du lovar dem en testmiljö för detta – riktigt bra.

Vad Àr det hÀr DRP:et ni pratar om?!

SÄ ni har definierat hotmodellen. Ni har tagit hÀnsyn till lokala invÄnare som skÀr fiberkablar i jakt pÄ koppar, och den militÀra radarn som slÀpper en radiolÀnk strikt pÄ fredagar klockan 16:46. Nu mÄste ni förstÄ vad ni ska göra med allt detta.

Er uppgift Àr att skriva de dÀr röda kuverten som kommer att öppnas i en nödsituation. RÀkna direkt med att nÀr (inte om!) allt gÄr fel, kommer bara den mest oerfarna praktikanten att finnas i nÀrheten, med hÀnder som skakar av skrÀck över vad som hÀnder. Titta pÄ hur nödsituationer Àr implementerade i medicinska kontor. Till exempel, vad man ska göra vid anafylaktisk chock. Medicinsk personal kan allt om protokollen utantill, men nÀr nÄgon börjar dö i nÀrheten, grabbar man ofta förtvivlat efter allt möjligt. För detta hÀnger det en tydlig instruktion pÄ vÀggen med punkter som "öppna förpackningen av det dÀr" och "ge intravenöst sÄ mÄnga enheter av lÀkemedlet".

I en nödsituation Àr det svÄrt att tÀnka! Det mÄste finnas enkla instruktioner för att bearbeta med ryggmÀrgen.

Ett bra DRP bestÄr av nÄgra enkla block:

  1. Vem ska informeras om att en nödsituation har intrÀffat. Detta Àr viktigt för att maximalt kunna parallellisera processen för att ÄtgÀrda.
  2. Hur man korrekt diagnostiserar – vi utför spĂ„rning, kollar systemctl status servicename och sĂ„ vidare.
  3. Hur mycket tid man kan spendera pĂ„ varje steg. Om du inte hinner fixa det manuellt inom SLA-tiden – stĂ€ngs den virtuella maskinen av och en backup frĂ„n igĂ„r rullas tillbaka.
  4. Hur man sÀkerstÀller att nödsituationen Àr avslutad.

Kom ihÄg att DRP börjar nÀr tjÀnsten helt har slutat fungera och avslutas nÀr funktionaliteten har ÄterstÀllts, Àven med minskad effektivitet. Bara förlust av reservkapacitet bör inte aktivera DRP. Du kan Àven skriva in en kopp te i DRP. Seriöst. Statistik visar att mÄnga incidenter frÄn obehagliga situationer blir katastrofala eftersom personalen, i panik, börjar försöka fixa nÄgot, vilket kan döda den enda aktiva noden med data eller slutligen förstöra klustret. Vanligtvis ger 5 minuter för att ta en kopp te dig lite tid att lugna ner dig och analysera vad som hÀnder.

Blanda inte ihop DRP med systemets pass! Överbelasta det inte med onödiga data. Ge bara möjligheten att snabbt och enkelt navigera via hyperlĂ€nkar till rĂ€tt avsnitt av dokumentationen och lĂ€sa i ett utökat format om de nödvĂ€ndiga delarna av tjĂ€nstens arkitektur. I sjĂ€lva DRP: n ska det bara finnas direkta instruktioner om vart och hur man ansluter sig med specifika kommandon för kopiering och klistring.

Hur man testar korrekt

Se till att varje ansvarig person kan utföra alla punkter. I det mest kritiska ögonblicket kan det visa sig att ingenjören inte har behörighet till det nödvÀndiga systemet, att lösenord saknas för det nödvÀndiga kontot, eller att han inte har en aning om vad "Anslut till tjÀnstens kontrollpanel via proxy i huvudkontoret" betyder. Varje punkt ska vara fullstÀndigt enkel.

Felaktigt — "GĂ„ in pĂ„ virtualiseringen och starta om den döda noden"
RĂ€tt svar — "Anslut till virt.example.com via webbgrĂ€nssnittet, gĂ„ till nodavsnittet och utför omstart av den nod som ger fel."

Undvik tveksamheter. TÀnk pÄ den skrÀmda praktikanten.

Testa alltid DRP. Det Ă€r inte bara en plan för att bocka av — det Ă€r vad som gör att du och dina kunder snabbt kan komma ur en kritisk situation. Det Ă€r optimalt att göra detta flera gĂ„nger:

  • En expert och flera praktikanter arbetar pĂ„ en testmiljö som sĂ„ mycket som möjligt imiterar den verkliga tjĂ€nsten. Experten bryter tjĂ€nsten pĂ„ olika sĂ€tt och ger praktikanterna möjlighet att Ă„terstĂ€lla den enligt DRP. Alla problem, oklarheter i dokumentationen och fel noteras. Efter utbildningen av praktikanterna kompletteras och förenklas DRP pĂ„ oklara stĂ€llen.
  • Testning pĂ„ en verklig tjĂ€nst. Det gĂ„r faktiskt aldrig att skapa en perfekt kopia av en riktig tjĂ€nst. DĂ€rför Ă€r det nödvĂ€ndigt att planera för att stĂ€nga av en del av servrarna ett par gĂ„nger om Ă„ret, bryta anslutningar och orsaka andra incidenter frĂ„n hotlistan för att utvĂ€rdera Ă„terstĂ€llningsprocessen. BĂ€ttre med en planerad incident pĂ„ 10 minuter mitt i natten Ă€n en plötslig nedgĂ„ng i flera timmar under högbelastning med dataförlust.
  • Verklig incidentutredning. Ja, det Ă€r ocksĂ„ en del av testningen. Om en incident intrĂ€ffar som inte fanns med pĂ„ hotlistan, mĂ„ste DRP uppdateras och revideras baserat pĂ„ resultatet av utredningen.

Nyckelpunkter

  1. Om nÄgot kan gÄ fel, kommer det inte bara att gÄ fel, utan det kommer att göra det pÄ det mest katastrofala sÀttet.
  2. Se till att du har resurser för att omdirigera belastningen vid incidenter.
  3. Se till att du har sÀkerhetskopior, de ska skapas automatiskt och regelbundet kontrolleras för konsistens.
  4. TĂ€nk ut typiska hot-scenarier.
  5. Ge ingenjörerna möjlighet att tÀnka ut ovanliga sÀtt att lamslÄ tjÀnsten.
  6. DRP bör vara en enkel och rak instruktion. All komplicerad diagnostik kommer först efter att tjĂ€nsten har Ă„terstĂ€llts för kunderna. Även om det Ă€r med reservkapacitet.
  7. Ange nyckeltelefoner och kontakter i DRP.
  8. Testa regelbundet anstÀllda pÄ deras förstÄelse av DRP.
  9. Genomför planerade incidenter i produktion. Testmiljöer kan inte ersÀtta allt.

Vi förbereder DRP – glöm inte att ta hĂ€nsyn till meteoriter.

Vi förbereder DRP – glöm inte att ta hĂ€nsyn till meteoriter.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster