'Rutinemessig oppgradering' endte med at CMS-et til store, norske nettaviser gikk ned i over to timer

En feil i programvaren som holder oversikt over fil- og katalogmetadata skapte trøbbel.

CTO i Labrador CMS, Ole Andreas Flaaten Jonsgård, sier nedetiden til Labrador skyldtes filsystemet. 📸: Labrador CMS
CTO i Labrador CMS, Ole Andreas Flaaten Jonsgård, sier nedetiden til Labrador skyldtes filsystemet. 📸: Labrador CMS Vis mer

Torsdag forrige uke gikk Labrador sitt CMS ned. I 156 minutter fikk journalister i blant annet kode24.no, dagbladet.no, tv2.no og mange andre nettavisen hverken redigert eller publisert nye saker.

Heldigvis gikk ikke selve sidene ned, så du som leser av for eksempel kode24 merket ingenting. Men på desken i kode24.no og andre store nettaviser som er vant med å oppdatere og skrive saker kontinuerlig, derimot, nådde stressnivået nye høyder.

CTO i Labrador CMS Ole Andreas Flaaten Jonsgård, selskapet bak publiseringsplattformen Labrador, sier problemet skyldtes filsystem-programvare.

Skyldes Ceph

Jonsgård forklarer at Labrador bruker plattformen Ceph med filsystemet CephFS til lagring av artikler, forsider, bilder, konfigurering og annet innhold.

I tillegg brukes programvaren Ceph Metadata Server (MDS), som holder oversikt over fil- og katalogmetadata.

Det er her feilen skal ha oppstått.

- Som en del av rutinemessig oppgradering oppgraderte vi tirsdag i forrige uke til en ny versjon av Ceph. Under denne oppgraderingen fikk vi et lite, uventet nedetidsvindu.

- På det tidspunktet trodde vi dette hadde sammenheng med selve oppgraderingsprosessen. I ettertid ser vi at dette antageligvis skjedde på grunn av samme bug som torsdagens nedetid, sier Jonsgård.

Restart førte til masselås

De første meldingene om at flere tjenester var offline begynte å tikke inn rundt 09:40 på torsdag i Labradors overvåkingssystem på Slack.

Jonsgård forteller at de først prøvde å tvinge en restart av klientene, men at det bare førte til at nye klienter låste seg.

- Etter tredje forsøket på restarter skiftet vi fokus over til selve MDS-ene, forteller han.

- Løsningen på problemet ble til slutt å stoppe alle klienter og redusere antall MDS-er fra tre til en. Etter å ha gjort dette og startet opp alle klienter igjen, ble problemet løst og alle kundene kom tilbake online etter litt tid.

- Selve grunnen til at MDS-ene krasjet i utgangspunktet har vi i etterkant koblet til en bug hos Ceph. Denne bug-en er kjent og har en løsning som er merget inn, men har ikke kommet ut i siste release av versjonen vi kjører.

Alvorlig konsekvens

Jonsgård innrømmer at den type nedetid de opplevde fikk alvorlige konsekvenser for kundene, og at de tar det på aller største alvor.

Han kan heldigvis betrygge med at ingen data ble mistet.

- Vi mistet ikke noe data, nei. Alle data er replikert på tvers av flere datasentre og vi har i tillegg kontinuerlig backup til eksterne systemer. Når CephFS opplever krasj på denne måten havner filsystemet i lås, nettopp for å forhindre at data skal gå tapt.