Derfor kunne KMD ikke redde Roskildes data: Filudvekslingen var fejlkodet

29. maj 2018 kl. 05:1118
Derfor kunne KMD ikke redde Roskildes data: Filudvekslingen var fejlkodet
Illustration: KMD.
Roskilde bad i 2012 KMD om mulighed for at kunne udveksle data mellem et KMD-system og kommunens ESDH. Den funktion blev kodet forkert, og selvom den aldrig blev brugt, kostede den store bededag Roskilde Kommune mere end 82.000 filer.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

»KMD har oprettet et temporært share, hvor kommunens dokumentproduktion bliver lagt ud, med henblik på at man lettere vil kunne overføre dem til vores ESDH-system. Og det er den kodelinje, der skulle tage backup af det temporære share, der er forkert.«

Ole Bech er digitaliseringschef i Roskilde Kommune, der store bededag mistede mere end 82.000 filer på grund af et nedbrud hos KMD.

I sine få kommentarer til sagen har KMD meldt ud, at et 'særligt' backup-setup hos Roskilde er grunden til, at kommunen som eneste kunde ikke kunne få sine data genskabt efter nedbruddet.

Og ifølge Ole Bech udspringer det særlige backup-setup af, at Roskilde Kommune i 2012, da man begyndt at bruge systemet KMD Care, gerne ville have mulighed for at udveksle data mellem KMD-systemet og kommunens ESDH-system, FICS.

Artiklen fortsætter efter annoncen

»Jeg tror, at KMD har vurderet, at det bliver lidt svært at udveksle dokumenter mellem en Oracle-database og over til vores mere fil-baserede system i en anden database, hvor vi har vores ESDH-system,« siger han til Version2.

Roskilde Kommune bad dengang KMD om at gøre udvekslingen mulig, men i løbet af det første halvandet år droppede kommunen ideen igen.

Det 'særlige' setup kørte dog videre, uden at Roskilde Kommune ifølge Ole Bech har haft det store indblik i, hvad det rent teknisk betyder. Indtil nu.

»Nu kan vi så se, at det, KMD har valgt at gøre, er at lægge nogle dokumenter, der bliver skabt op imod Care-databasen, i en temporær folder, fordi man så har tænkt, at hvis vi lægger dem derude, så kan vi nemmere udveksle dem med kommunens ESDH-system, hvis det er det, vi ender med at aftale,« siger han til Version2.

Artiklen fortsætter efter annoncen

I løbet af et år til halvandet lukker man dog ifølge Ole Bech snakken om filudveksling mellem KMD-care og Roskilde Kommunes ESDH.

»Jeg tror, jeg fik signaleret, at vi måske skulle over på et nyt ESDH-system. Det kommer vi så først til næste år, men så lukker man sådan set den sag, og så bliver det bare et drift-setup, hvor man bliver ved med at lade dokumenterne lande i den temporære folder. Og KMD mener jo så, at der bliver taget backup, og så kører det bare år efter år. Først da denne her fejl opstår, opdager man miseren.«

KMD-test overså kodefejl

KMD's kodefejl har tilsyneladende betydet, at backup-løsningen i test har set ud til at virke, selvom data i praksis ikke blev kopieret.

Der er altså ikke tale om, at KMD ikke tjekker, om backup virker.

Version2 afventer stadigvæk at få aktindsigt i den redegørelse, KMD har sendt til Roskilde Kommune - men indtil da har Ole Bech været så venlig at læse følgende op fra den:

»KMD's standardprocedure omfatter, at en backups validitet løbende testes. Hermed testes, at backuppen har gjort det, den er designet til. De tekniske meldinger på Roskildes backup har vist korrekt gennemførsel af backup. Testen har ikke fanget den kodetekniske fejl i roskilde-backuppen, der gør, at data ikke blev kopieret efter hensigten.«

I redegørelsen skriver KMD også, at man som standard kører stikprøvekontrol med restore-test - det vil sige, at man også tjekker, at backuppen faktisk indeholder det, den skal.

»Backuppen af Roskilde Kommunes data har været en del af denne procedure, men Roskildes Care-data har ikke været udtaget til stikprøver,« hedder det i redegørelsen ifølge Ole Bech.

Artiklen fortsætter efter annoncen

KMD ønsker ikke at knytte yderligere kommentarer til sagen.

Version2 forventer at have redegørelsen fra KMD til Roskilde snarest for forhåbentlig at kunne tilvejebringe flere detaljer om sagen. Blandt andet vil vi gerne kaste lys over, hvorfor nedbruddet fandt sted i første omgang, da kodefejlen og den mislykkede backup jo kun adresserer, hvorfor data ikke kunne genskabes.

18 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
18
30. maj 2018 kl. 22:16

Der er altså ikke tale om, at KMD ikke tjekker, om backup virker.

Jo... At teste at man kan lave recovery fra et share er da ikke en test af et backup system. Og slet ikke hvis dette share ligger på de selvsamme diske. Kan Version2 bekræfte om dette share var på de samme diske som selve mail db?

17
29. maj 2018 kl. 15:37

Der er ikke desto mindre ikke nævnt noget om foldere til temporære filer i artiklen, men derimod er nævnt et share. Foldere med temporære filer giver endnu mindre mening som share end at tage backup af dem. Lige så lidt mening som at tage backup af temporære filer, giver det at tage backup af et tilknyttet share, da en sådan backup normalt ville være sikret på udbyderen af det pågældende share. Restore af den maskine, som IKKE er udbyder af det share, vil af samme årsag heller ikke kunne afsløre, at der ikke foretages backup af de data, der befinder sig på det/de share den benytter. Det som ikke umiddelbart kan læses ud fra artiklen, er på hvilket udstyr det pågældende share er oprettet. Da dette udstyr ikke er nævnt, kunne det mistænkes, at der er tale om udstyr, der foretager en direkte konvertering fra SAN blok-protokol til en netværks fil-protokol og som ikke har nogen backup klient. Hvis en sådan løsning er valgt, så skal der en særlig konfiguration til på en af de systemer, der anvender det pågældende share, så det, modsat standarden, tager en backup af et tilknyttet share.

16
29. maj 2018 kl. 14:13

Artiklen omtaler ikke hverken /tmp eller C:\TEMP, men et "temporært share".

Ifølge kommentaren fra Tech Mahindras tekniker, som nu er slettet (kommentaren altså), lå data-filerne faktisk i en TEMP eller TMP folder.

Det har været normal praksis i årtier, at alt hvad er gemmes i temporære foldere må slettes, hvilket i mange systemer sker automatisk ved boot. Derfor giver det ikke mening, at tage backup heraf.

En restore-test, der ikke tester, at data kan findes bagefter, er intet værd. Normalt tæller man, at der er (ca.) ligeså mange filer/dokumenter/rækker før og efter backup/restore test samt tager stikprøver af indholdet. Eller endnu bedre, sammenligning af md5sum over alle data, når dette er praktisk.

15
29. maj 2018 kl. 13:04

I øvrigt vil en restore test, af et system der anvender et eksternt/temporært share, ikke vise nogen fejl, forudsat at backup af de øvrige data er valid. Selv en restore, hvor hele systemet gendannes vil ikke afsløre fejlen, da dette nye system også vil tilknytte det eksterne share og alt vil fungere perfekt.

14
29. maj 2018 kl. 12:25

Artiklen omtaler ikke hverken /tmp eller C:\TEMP, men et "temporært share". Forskellen er, at mapperne er beregnet til temporære filer, mens et share er beregnet til at flere systemer/computere skal kunne tilgå de samme filer samtidigt. De systemer, som tilknytter et share til sig, vil opfatte sharet som temporært. Af samme årsag, vil de systemer heller ikke tage backup af filerne, men gå ud fra, at det håndteres af udbyderen af det pågældene share. Har det system, hvor databasen er blevet afviklet, ikke været udbyder af sharet, vil det ikke være en fejlagtig konfiguration af backup dér, hvis den ikke tager backup af de filer, som placeres på sharet. Dermed bliver spørgsmålet hvad der er sket på udbyderen af sharet og hvorfor denne ikke har taget nogen backup. Da det ikke er blevet opdaget, at der ikke er taget nogen backup, kunne man mistænke, at det slet ikke er nogen egentlig server, der har udbudt sharet, men en konfigurerbar netværksenhed med begrænsede OS egenskaber. Bruger man en sådan enhed, så skal en af dem, der anvender sharet naturligvis tage backup af det, men i mange enterprise backup klienter, vil et tilknyttet share automatisk blive udelukket fra backup og der skal en særlig konfiguration til at få det inkluderet. Hvordan konfigurationen reelt har set ud, er på nuværende tidspunkt ren spekulation.

13
29. maj 2018 kl. 11:00

Tak for en meget foruroligende uddybning, Mogens Lysemose.

12
29. maj 2018 kl. 10:57

Gælder det også alle evt. "brugere" af Tech Mahindras systemer andre steder?

Det afhænger helt af den konkrete opsætning af server og applikationer. Jeg ved fra et eksempel at webkunder blev overrasket over at de kunne se de andre webkunders medie-filer. Det var vanskeligt at løse med 500 småkunder på en delt Apache-webserver. Men i det tilfælde ville alle 500 webkunder (firmaer) kunne nå /tmp/ - og det samme ville alle ansatte i webfirmaet.

11
29. maj 2018 kl. 10:45

Vil tro at den omtalte temp mappe ligger på serveren og ikke ude hos klienterne. Men det er et godt spørgsmål.

9
29. maj 2018 kl. 10:29

Nu ved jeg ikke hvilke TEMP/TMP-mapper der faktisk er tale om, men:

Hvis CARE-systemet gemmer dybt fortrolige dokumenter i systemets delte TEMP/TMP-mappe er det så ikke et potentielt fortroligheds-problem også?

Ofte har Alle brugere og applikationer har jo fuld adgang til /tmp og C:\TEMP Dvs. man har ikke beskyttet dybt fortrolige dokumenter mod at alle med fil-adgang får adgang...?

8
29. maj 2018 kl. 10:22

Efterfulgt af en sammenligning med originaldata

Ville det mon have fanget det her? Hvis jeg skulle review'e en restore filsammenling hvor TEMP/TMP-mapper ikke var med i backup ville jeg tænke at det var fornuftigt - hvorfor spilde backupplads på værdiløse temp-filer?

Man skulle helt ud og lave komplet systemrestore inkl. brugertest (usecases) for at fange det under restore-test.

Men root cause er vel nærmere at man sætter noget i drift som slet ikke er klar til det - man leger lidt med noget og laver noget i temp/tmp-mappen - og sætter det så i produktion og glemmer alt om det.

Det har jeg set mange gange i små nybegynder-firmaer - men er det en kategori som KMD tilhører? Har de ikke noget QA?

7
29. maj 2018 kl. 10:11

Eneste acceptable test af backup er en restore.

Efterfulgt af en sammenligning med originaldata.

Har oplevet flere backup-checks som bare checker at 'backup er gået godt', og at 'noget' kan restores.

Så det vi ved er at der er taget backup af 'noget' , og dette 'noget' kan restores. Men indeholder backup'en det den skal? - Det skal også testes. Kataloger og filsystemer kan falde ud af konfigurationen og den slags bliver ellers først opdaget når de skal bruges efter en restore - og de mangler.

6
29. maj 2018 kl. 10:02

Alting virker altid som det er designet, og det giver ingen mening at teste.

Men din testspecifikation skal beskrive hvilke udfald dit design skal leve op til for at fungere efter hensigten. Og det er, som Ebbe nævner, ret evident, at det ikke er foregået i dette tilfælde.

5
29. maj 2018 kl. 10:01

Hmm man kan vel kun restore det der er taget backup af.. Så hvis der er taget backup af 100.000 og restore testen kan genskabe 100.000 så er testen jo gennemført korrekt..

Men hvis man har excluderet fx tmp mapper så kommer de jo slet ikke med i Backupen...

3
29. maj 2018 kl. 09:23

Enig.

Eneste acceptable test af backup er en restore.

2
29. maj 2018 kl. 08:54

Backup er ikke testet før man har vist at man kan genskabe det, man tog backup af.

"Der er altså ikke tale om, at KMD ikke tjekker, om backup virker."

Jo, det er ret evident at det er der tale om.

1
29. maj 2018 kl. 07:02

"Jeg tror, at KMD har vurderet...""Nu kan vi så se, at det, KMD har valgt at gøre...""Jeg tror, jeg fik signaleret...""...lukker man sådan set den sag...""...hvor man bliver ved med at lade dokumenterne lande i den temporære folder. Og KMD mener jo så,..."

Her er vist godt nok en, som er bange for at komme til at sige for meget..... Det lyder som sved på panden, og slagsmål i kulissen...

Jeg kan godt få ondt af de ansvarlige, men jeg er samtidig så træt af hele tiden at skulle lægge ører til, at man skal har styr på tingene i det offentlige, så "giv mig dine data, du kan være helt tryg, giv mig dine data, du kan være helt tryg, giv mig...." (og hvis du ikke vil give mig dine data, så tager jeg dem bare selv...)