Linuxfolk

Sybase til Linux!

For kort tid siden flyttet vi Sybase fra Solaris til Linux. Om du er skikkelig interessert i teknologi, kan dette være interessant for deg å lese.

Sybase er databasen som alle annonsene finn viser fram til brukere bor i. Sybase har kjørt på Solaris SPARC i mange år. Dette har blitt et stadig større problem: SPARC-servere selges ikke lengre, folk kan ikke Solaris operativsystemet lengre og sist, men ikke minst så er det umulig å flytte til en sky så lenge vi er avhengige av en død server-arkitektur.

Nå må du ikke tro at det å flytte FINNs superviktige database fra SPARC til Linux er gjort i en håndvending: SPARC har motsatt byte-order av x86 plattformen FINN bruker. Databasedata på SPARC er rett og slett søppel på x86-plattformen og de forsøk viste at nødvendig konvertering av Sybase dataene ville ta 24 timer. FINN.no ville være nede i 24 timer, noe som er helt uakseptabelt. Andre utfordring vi måtte ta stilling til var at vi ikke visste hvor mye bedre eller dårligere den gamle serveren, operativsystemet, lagringssystemet og nettverket var sammenlignet med dagens Linux-baserte servere da vi har begrenset råderett, informasjon og kompetanse om dette systemet.

Det ville være veldig kjedelig om vi etter mange timers nedetid endte opp med en database som ikke takler lasten og tar ned FINN.no. Det ville være like kjedelig om vi flytter til Linux og alt ser bra ut, men at en eller annen endring i Linux-versjonen av Sybase fører til "silent data corruption" som gjør at viktige data i databasen går tapt og FINN.no tjenester går ned uten at vi har noen plan for vi kan rette opp feilene.

Det vi gjorde var derfor først å flytte Sybase for utviklingsmiljøet til Linux. Så testet vi superrask intern lagring i de nye serverne for å få konverteringstiden ned fra 24 timer til under 4 timer. Så testet vi nettet, kopieringsmetoder osv og satt hele flytteprosessen til å kjørte regelmessig. Dette avdekket en rekke problemer som vi rettet under veis. I tillegg forberedte vi måter å sjekke konsistens i dataene på slik at vi kunne beslutte om selve flyttedagen kunne fortsette helt til mål eller om prosessen måtte avbrytes.

Bjørn Dyre Dyresen og Jon Øyvind Kvebæk utførte selve flyttingen, dette tok 4 timer og 20 minutter og vi var klare i god tid før go-live kl 06:00.

Henning Spjelkavik og Per Eirik Marton var ansvarlig for datakonsistens. Mange folk fra teknologi var tidlig oppe på onsdag morgen og hjalp FINNs tjenester igang igjen på morgenen.

Vi møtte på en snag, at lagrede prosedyrer med navn lengre enn 32 tegn ikke blir kjørt, dette rammet i praksis en prosedyre og problemet er rettet.

Tilsammen 55 personer deltok aktivt eller som følgere på Slack #2019-06-05. Stor takk til alle som hjalp til så dette ble en suksess!