Home » blogg100, IT-säkerhet, ServiceFinder

Livet som Tech Lead, när servrarna dör en söndag

Submitted by on 9 mars, 2014 – 23:52No Comment

Klockan 12:45 går larmet. Jag har inte käkat lunch ännu, tittar irriterat på telefonen och det ilskna meddelandet från Pingdom. Företagets webbserver svarar inte på ping och jag går slentrianmässigt och slår på datorn. Det brukar inte vara någon fara, något enstaka förlupet nätverkspaket, en router i ett främmande land eller kanske en mindre överbelastning som snabbt går över. Men inte idag.

Trist när servern går ner..Vanligen kommer ett lika ilsket pip med en ”det är lugnt, sajten är upp igen” precis lagom tills man fått igång laptop:en och man kan fälla ner locket igen. Men det kom inga fler meddelanden. Eller jo förresten, det sekundära och tertiära larmet från andra system där vi tolererar ett par minuter extra nertid. Alla varningslampor igång alltså och jag kommer mycket riktigt inte in på sajten. Inte via webbläsaren, inte via SSH, inte via något av de administrativa systemen. Minuterna går, jag chattar med ett par kollegor för jag misstänker att det är något större problem på nätet – jag har för en stund svårt att komma åt några tjänster på nätet över huvud taget. Nej, de kan inte heller komma åt servern och har inte heller några andra problem med nätet. Mitt nät hoppar igång, men inte servern. Jag lyfter luren och ringer serverleverantören.

Houston, we do have a problem

Över telefon bekräftar leverantören att de har ett problem med någon styrprogramvara för disklagret. Det förklarar förmodligen att våra maskiner svarar på ping, men inget är tillgängligt i övrigt. Ping kräver inte diskaccess, men ping serverar inte heller webbsidor. Fan, nu räcker det inte att svara på de obligatoriska SMS:en från ledningen längre, nu skickar jag ett brev till hela organisationen. Man vet aldrig vem som jobbar, vi är ett företag som drivs av entreprenörsanda och mycket riktigt sitter där några och undrar vad som händer. Information är oerhört viktigt, nu kommer följdfrågorna; när är vi uppe igen? Vad har hänt? Funkar det här åtminstone? Det där åtminstone?

- Mamma, pappa, är vi framme snart?!

Nej, vi är inte framme snart. Sov en stund så väcker vi dig när vi närmar oss.

Nu kommer incidentrapport nummer ett från leverantören; ”Vi upplever just nu störningar som möjligen påverkar dig som kund. Bla bla sorry sorry, floskel hit och dit”. Uttryckt på ett annat sätt – fan inget funkar hos oss och vi har inte aning om vad som hänt och det är söndag och alla som borde veta är bakis, men på väg in, vi återkommer. Så är det alltid. Någon blir satt att skriva ihop några rader, men det är inte en tekniker – för teknikern är fullt upptagen med att klura ut vad som faktiskt hänt. Men kommunikation är ändå oerhört viktigt, så det första brevet behövs. Bättre kommer.

Tiden går, nu är det en och en halv timme sedan hela tjänsten dök med en sorglig blank sida som enda svar för dem som försöker. Nu kommer svar nummer två från leverantören, den här gången signerat en tekniker: ”The issue is within our storage environment, making all VMware hosts lack their LUNs from 3Par”. Häftigt! Jag är Technical Lead på Servicefinder, jag borde fatta det där, right? Jag är med fram till LUN, där plockar jag fram Google. Ah, Logical UNit. Silly me, liksom. 3Par tycks vara ett varumärke från HP, men jag orkar inte läsa skiten – jag jobbar med programutveckling, inte hosting. Det där fixar de säkert rätt snabbt. Ut med en disk, in med en ny. Eller ett styrkort, eller en kabel, eller ut med hela servern och in med en ny. Just fix it, right?

Nu är man hjälplös, i händerna på leverantören

Mer kommunikation. Feedback till ledningen, ringer dem som har hand om vårt AdWords-konto och ber dem fimpa annonseringen tillsvidare. Våra konkurrenter blir glada, buden går ner, men vi slipper betala för luft. Det blir mindre och mindre smågodis kvar i skålen som är kvar sedan gårdagens #melfest, det får ersätta lunchen. Tiden går, nu börjar det bli rätt långrandigt. Jag får killen som jobbar med matchning av uppdrag att ringa sin chef för att kolla om han kan gå hem tidigt, han kan ändå inte jobba. Hoppas han fick ledigt, för felet är inte avhjälpt ännu, inte på länge.

Nytt brev från leverantören. De har nu belägg för sin misstanke, det är 3Par-lagringen som åkt åt pepparn och en extern konsult är inringd. Men – skönt va – de har klurat ut att felet inte drabbar oss. Vänligen kontakta oss om du misstänker att vi har fel. Jag ringer upp på en gång och berättar att de har fel. Jag svarar på brevet också. Mina kollegor som fått samma brev hör av sig, jag svarar, mailar, chattar, ringer. Smågodiset tar slut, eller om jag möjligen bara inte kan få ner mer sur smörja i magen. Runt omkring mig vill familjen ha hjälp att felsöka varför de inte kan spela Minecraft på lokala nätverket. Jag fixar det också, har nu tre datorer i knät. Törstig, hungrig, söndag. Fan.

Nytt mail – Oj! – ni var på fel lista, klart felet drabbade er. Vi återkommer. Det gör de – en gång i timmen nu, med samma meddelande; Vi har fortfarande störningar, vi jobbar på det. Jag tror dem – de är stressade, sammanbitna, men trevliga när jag ringer till dem. Genuint skitledsna över det inträffade, såklart, och jag är inte dummare än att jag fattar att sån’t här händer. Det som aldrig händer däremot är det osannolikt lyckosamma – det inträffar en söndag eftermiddag. Det är, relativt sett, dött på sajten på söndag eftermiddag. Det innebär inte att vi inte förlorar pengar, det innebär bara att vi förlorar mindre pengar. Jag tackar och tar emot. Mindre är  i sammanhanget bättre än mer. Måndag förmiddag hade varit mer. Mycket mer

Men nu har vi varit nere i fyra timmar och måndag morgon är bara ett halvt dygn bort. Jag ger upp tanken på att det är tillfälligt och börjar förbanna bristen på hållbar beredskapsplan. Bättre sent än aldrig, skissar på en.

Plan B, man ska alltid ha en plan B

Mina lojala och duktiga kollegor ställer upp på idén. Om vi inte är uppe till 21 så åker vi in till kontoret och sätter upp en ny servermiljö hos Amazon EC2. Hur svårt kan det vara? Förmodligen inte värre än att vi skulle vara upppe i allt väsentligt till 06.00 i alla fall. Största problemet är nog att få upp databasen, eller att ens få tag på den. Backuperna ligger hos leverantören, i flera exemplar förmodligen, bakom samma tre bokstäver och en trea. 3Par. Skit, ringer leverantören och avkräver dem ett löfte att lyfta ut datat manuellt till 21. Inga problem, det är styrsystemen som kackat, inte diskarna. Bra. Ger upp, skickar några statusrapporter till och åker och köper Pizza.

VD hör av sig, bra att vi har en backup-plan! Men skulle man inte kunna göra/gjort så här också? Bla bla bla, jo visst, om vi tänkt på det innan, haft tid och fått resurser. Jag biter ihop – meddelar sakligt att det inte är så lätt med DNS:er, TTL och vad det nu är. Jag kan också några förkortningar. När servern är nere kan man inte få servern att visa ett meddelande om att den är nere. Moment 22, bra bok, bra sammanfattning.

En timme går – vi har fortfarande problem. En timme till – vi har fortfarande problem. Magsår, hur känns det? Känner efter. En tekniker från HP har kommit fram, bytt lite minne, flashat någon ROM, startat om något. Startat om? Det hade jag kunnat berätta. Slå näven i burken och starta om. Tryck på Ctrl+F5 ett par gånger. Det löser problemet! Men ändå – framsteg – interna system börjar boota hos dem. Men inte våra, ännu. Någon upptäcker att våra databasservrar inte alls gått ner, de har tuggat på som vanligt – de ligger på ett annat disklager. Bra, för all del, men utan webbserver är databasen rätt ointressant. Men ändå – ingen datakorruption, tack för det!

Pizza, godnattsaga och ljus i änden av tunneln

Pizzan var god och systemen börjar rulla igång. Dottern, med en ängels tålamod med en skittråkig farsa, säger godnatt. Jag borstar hennes tänder, bäddar ner henne och går tillbaks. Skickar några statusuppdateringar och avblåser nattmanglingen när våra servrar nu efter sju timmar börjar hoppa igång. En av två webbfrontar, det räcker på en söndag. Men det går långsamt som fasen. Jag debuggar lite, hittar tidstjuven vid sessionsstart på servern. Sessionerna ligger i Memcached (läs ”snabbt som fan”), så varför? Bara en server är uppe, den andra är fysiskt avstängd. Aha – vi kedjar memcached-servrarna för att inte tappa sessionsdata. Smart, för man behöver inte sticky sessioner vid lastbalansering, men förödande nu när den enda i kedjan är borta. 8 sekunders timeout innebär 8 sekunder sidladdning. Vi har tålmodiga kunder – förfrågningarna trillar in ändå, men jag snabbhackar konfigurationsfilen och startar om servern ändå – vem vet hur länge den andra servern är avstängd. Leverantören startar så snart de kan och vågar, men de har dussintals i kö, vår tvåa ligger visst näst sist.

Delseger, nu går det snabbt igen. Efter en stund går server 2 igång också, men med en annan konfigurationsfil än server 1, inte bra – nu letar de i olika memcache-servrar efter sessioner och var fjärde request riskerar att bli en slumpmässig utloggning. Vi har nästan inga inloggade kunder just nu och jag fixar felet som en ninja, ringer leverantören och ber dem starta om servern med återställda ini-filer. Managed hosting FTW, ibland.

Går igenom alla systemen manuellt, kollar de automatiska bevakningarna, drar en lättnadens suck över att det blev åtgärdat innan nattens cron-job går igång med automatiska körningar av det ena och det andra. Skriver det femtioelfte statusbrevet, nu till hela organisationen igen om att allt är klart. Tänker att jag inte fått så många svar från dem under dagen, kommer på att de flesta varit på skidresa. Eldar statusbrev för skidkråkor. Bra.

Efterspelet kan börja

Annonseringen är igång igen, vi får bränna dagens budget i morgon istället, tar igen lite av förlorad fart då. Online Managern får skriva ett förlåtbrev till våra leverantörer, som förmodligen reagerar med att nyfiket logga in och göra några extra köp som de ändå inte hade gjort idag. Ekonomin flyter ihop, troligen tappar vi inte så mycket som VD kommer hävda i sin obligatoriska utläggning om varför sån’t här inte får hända. Jag kommer nicka och ta emot, säga att det var olyckligt och naturligtvis mitt ansvar. Jag nämner något om budget, resurser, tid, om att även de stora jättarna går ner ibland – det ligger i datorer och näts natur. Han vet, jag vet, han vet att jag vet och jag vet att han vet. Vi går vidare.

Under veckan kommer jag investera lite tid i att skriva en beredskapsplan. Den blir teknisk, kommer involvera ökade kostnader, kommer ta tid att genomföra och därefter kommer den i allt väsentligt att arkiveras. Det är rätt tänkt, man måste välja sina strider. Vår leverantör är i stort ganska bra på att hålla oss i luften, den här sortens avbrott är sällsynta och ofrånkomliga och om det blir för komplicerat och dyrt att undvika dem fullt ut är det bättre att avstå. Men lite bättre kan vi – det här var en arbetsdag  jag gärna sluppit. Inte bara för att det suger lite att jobba söndag, men det är stressigt att vara ansvarig för att hantera problem där lösningarna är i det okända och där spilld tid är dyrbar.

Jag gillar Servicefinder, vi är snabba, duktiga och lagom stora. Hur fasen hanterar ansvariga på en större bank eller liknande när skiten träffar fläkten? Jag vet inte och jag tänker inte ta reda på det.

Och för er som eventuellt ville höra ett åttonde inlägg om Twitter, ni har ändå inte läst hit ner, så min ursäkt fälls för tomma öron. Sorry.

Leave a comment!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.