{"id":42,"date":"2026-04-24T19:00:00","date_gmt":"2026-04-24T17:00:00","guid":{"rendered":"https:\/\/airex.se\/blogg\/backupservern-nere-en-vecka\/"},"modified":"2026-04-24T19:00:00","modified_gmt":"2026-04-24T17:00:00","slug":"backupservern-nere-en-vecka","status":"publish","type":"post","link":"https:\/\/airex.se\/blogg\/backupservern-nere-en-vecka\/","title":{"rendered":"Backupservern hade legat nere i en vecka"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Jag h\u00f6ll p\u00e5 med n\u00e5got helt annat n\u00e4r jag r\u00e5kade f\u00f6rs\u00f6ka n\u00e5 backupservern. Den svarade inte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Den hade inte svarat p\u00e5 en vecka. Ingen backup hade tagits p\u00e5 sju dygn. Ingenting hade larmat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Halvd\u00f6d \u00e4r v\u00e4rre \u00e4n d\u00f6d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Det m\u00e4rkliga var tillst\u00e5ndet den befann sig i. Hypervisorn rapporterade maskinen som <em>ig\u00e5ng<\/em>. N\u00e4tverksgr\u00e4nssnittet visade trafik. Den svarade till och med p\u00e5 tilltal p\u00e5 den l\u00e4gsta n\u00e4tverksniv\u00e5n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Men den vanliga n\u00e4tverksstacken var d\u00f6d. Inga svar p\u00e5 ping, ingen inloggning, ingen webbtj\u00e4nst. G\u00e4sten levde men kunde inte prata.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Det \u00e4r det v\u00e4rsta av tv\u00e5 v\u00e4rldar. En maskin som \u00e4r helt nere uppt\u00e4cks direkt av det mest primitiva larm man har. En maskin som lever men \u00e4r stum ser ut som en frisk maskin f\u00f6r allt som fr\u00e5gar hypervisorn \u2014 och som ett n\u00e4tverksglapp f\u00f6r allt annat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Varf\u00f6r ingenting larmade<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Den obekv\u00e4ma delen: det fanns ingen \u00f6vervakning alls p\u00e5 den maskinen. Ingen mall, ingen kontroll, inte ens ett enkelt ping.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Backupservern hade byggts, verifierats och sedan l\u00e4mnats \u00e5t sig sj\u00e4lv \u2014 precis som backup ska fungera, och d\u00e4rf\u00f6r exakt det som g\u00f6r den osynlig. Ett system vars hela syfte \u00e4r att arbeta i det tysta m\u00e5ste \u00f6vervakas <em>h\u00e5rdare<\/em> \u00e4n andra, inte mindre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Och det saknades den enda kontroll som hade f\u00e5ngat det oavsett orsak: <strong>ett larm p\u00e5 att det inte tagits n\u00e5gon backup p\u00e5 ett dygn.<\/strong> Inte &#8221;servern svarar&#8221;, inte &#8221;tj\u00e4nsten \u00e4r ig\u00e5ng&#8221; \u2014 utfallet. Hade den funnits vore veckan en dag.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c5tg\u00e4rden var pinsamt enkel: en kontrollerad omstart. Trettio sekunder senare svarade allt igen, lagringen var monterad, ingen data hade tagit skada. Sju dygns exponering f\u00f6r ett fel som tog en halv minut att l\u00f6sa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Det som hittades p\u00e5 v\u00e4gen var v\u00e4rre<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e4r jag \u00e4nd\u00e5 var inne passade jag p\u00e5 att kontrollera vad som faktiskt l\u00e5g utanf\u00f6r huset. Svaret var nedsl\u00e5ende.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>En enda maskin replikerades till en annan fysisk plats \u2014 och just den kedjan hade dessutom misslyckats under samma vecka, av samma orsak.<\/li>\n<li>En andra kopia till molnlagring var konfigurerad, skriptet fanns, m\u00e5let fanns \u2014 men <strong>ingenting anropade det.<\/strong> Det hade inte k\u00f6rt p\u00e5 \u00f6ver tv\u00e5 m\u00e5nader. Ingen rad n\u00e5gonstans startade det, och eftersom det aldrig k\u00f6rdes klagade det aldrig.<\/li>\n<li>Allt \u00f6vrigt l\u00e5g p\u00e5 en enda lagringsenhet, i samma rum som servrarna den s\u00e4kerhetskopierade.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Det sista \u00e4r det som g\u00f6r hela konstruktionen till en illusion. Backup som st\u00e5r bredvid originalet skyddar mot att n\u00e5gon r\u00e5kar radera en fil. Den skyddar inte mot brand, inbrott eller att lagringsenheten sj\u00e4lv g\u00e5r s\u00f6nder \u2014 allts\u00e5 exakt de scenarier man tar backup f\u00f6r.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">S\u00e5 vet du att det funkar<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Larma p\u00e5 \u00e5lder, inte p\u00e5 tj\u00e4nster.<\/strong> &#8221;Senaste lyckade backup \u00e4r \u00e4ldre \u00e4n ett dygn&#8221; \u00e4r den enda kontroll som f\u00e5ngar alla orsaker: nere server, full disk, trasigt schema, borttappat jobb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Kontrollera att det som ska k\u00f6ras faktiskt k\u00f6rs.<\/strong> Ett skript utan schemal\u00e4ggning \u00e4r en fil, inte en rutin. Leta efter senaste k\u00f6rningens tidsst\u00e4mpel, inte efter att skriptet finns.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Peka p\u00e5 var kopian ligger.<\/strong> Kan du inte peka p\u00e5 en annan byggnad har du ingen katastrofplan, hur m\u00e5nga kopior du \u00e4n har.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vad jag tar med mig<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Jag har skrivit tidigare om system som slutar leverera utan att larma. Det h\u00e4r \u00e4r samma sjukdom i sin renaste form: <strong>en tj\u00e4nst som ingen saknar f\u00f6rr\u00e4n man beh\u00f6ver den, och som d\u00e4rf\u00f6r f\u00e5r vara trasig hur l\u00e4nge som helst.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Den obehagliga fr\u00e5gan \u00e4r inte hur den gick s\u00f6nder. Den \u00e4r hur l\u00e4nge den hade f\u00e5tt ligga om jag inte r\u00e5kat titta av en annan anledning. \u00c4rligt svar: tills jag beh\u00f6vt l\u00e4sa tillbaka n\u00e5got.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Hypervisorn rapporterade maskinen som ig\u00e5ng. N\u00e4tverksstacken var d\u00f6d. Sju dygn utan backup, och den enda kontroll som hade f\u00e5ngat det oavsett orsak saknades.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-42","post","type-post","status-publish","format-standard","hentry","category-drift"],"_links":{"self":[{"href":"https:\/\/airex.se\/blogg\/wp-json\/wp\/v2\/posts\/42","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/airex.se\/blogg\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/airex.se\/blogg\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/airex.se\/blogg\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/airex.se\/blogg\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":0,"href":"https:\/\/airex.se\/blogg\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"wp:attachment":[{"href":"https:\/\/airex.se\/blogg\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/airex.se\/blogg\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/airex.se\/blogg\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}