Dropper filsystem, øker farten

Amerikanske Caringo har funnet en ny teknikk for å øken farten på arkivsystemer.

Konsulentselskapet Proact beskriver seg selv som frittstående spesialist i å «behandle, sikre og lagre store volumer av driftskritisk informasjon». De meldte i august at de har tatt på seg å representere Caringo, «en ny amerikansk aktør som er i ferd med å endre hele markedet innen arkivering.»

På et kundearrangement torsdag var en av hjernene bak Caringo, belgieren Paul Carpentier, i Oslo for å forklare hva løsningen CAStor (CAS står for «content addressed storage») egentlig er.

Etter foredraget fikk digi.no et intervju der Carpentier tok en dypere teknisk gjennomgang av systemet, og hvorfor det er viktig.

– «Content addressed storage» eller CAS er en ny tilnærming til lagring av alt som kan gå under betegnelsen «fast innhold» [fixed content], altså alt som ikke må lagres i databaser. Alle tekstdokumenter kan betraktes som fast innhold. Det svarer til hvordan tekstbehandlere håndterer sine dokumenter: Brukeren tror hun redigerer en entitet i endring. Word, derimot, oppfatter den som et nytt dokument hver gang den lagres, forklarer Carpentier i en samtale med digi.no

- Databaser står for bare 10 prosent av alt innhold CAS kan altså lagre alt som ikke må i en database. Carpentier mener det svarer til 90 prosent av alt som finnes av digitalt innhold. Databaser står for bare 10 prosent av alt innhold, mener han.

– Hovedpoenget med CAS er å bygge lagring på et enkelhetsprinsipp. Konseptene som legges til grunn for datalagring i dag, er foreldet. De pålegger folk å forholde seg til vilkårlig og unødvendig kompleksitet. Og det er noe alle klager om: Lagring er for komplekst.

Hierarkiske filsystemer har skylden, mener Carpentier.

- Hierarkiske filsystemer har overlevd seg selv – Hierarkiske filsystemer har overlevd seg selv. Denne tilnærmingen til datalagring er i dag uhensiktsmessig. For enkeltindivider kan det gi mening å innordne filer en hierarkisk mappestruktur. Men i forhold til en nettverksbasert infrastruktur i en bedrift er det helt meningsløst.

Derfor definerer Carpentier sitt kall på denne måten:

– Vi skal forandre hele markedet for fillagringssystemer. Det vi tilbyr, vil være raskere, mer pålitelig og enklere enn det som finnes i dag, og prisen vil være redusert til en tidel. Vi har tall som beviser at dette er mulig. Med vår teknologi er for eksempel alt som har med drift av lagringssystemer automatisert. Det svarer til alles behov. Det svarer også til den erkjennelsen at alt som er helt og holdent avhengig av menneskelig innsats vil feile.

Carpentier peker på at et hierarkisk filsystem identifiserer en fil først og fremst ved å angi hvor hen i mappehierarkiet filen befinner seg.

– Dette er å binde filens identitet til et bestemt lokale. Når man knytter identitet til sted, er det vanskelig, for ikke å si umulig, å spore filen når den flyttes på.

Tvetydigheten er innebygget i mappesystemet. Det samme dokumentet kan lagres i forskjellige mapper, og til og med under forskjellig navn. To filer i hver sin mappe kan ha identiske navn, uten at det sier noe om hvorvidt innholdet er de samme.

– Den eneste måten å spore innholdsobjekter på, er å tilordne dem en identitet som er uforanderlig uansett hvor de lagres. Vi trenger et navnesystem som er entydig og som kan gjelde for all framtid og i alle galakser. Det er ikke vanskelig: Det holder med et 128 biters tall. Dette er ikke bare mulig, det er til og med gratis.

- Vi skal forandre hele markedet for fillagring For brukeren virker CAS slik: Når man har laget et dokument eller en annen form for innhold, sender man det til lagringssystemet. Systemet svarer ved å oppgi det unike 128 biters tallet som heretter utgjør filens intergalaktiske identitet. Dette tallet – identifikatoren – kan lagres i et eget dokument, eller i en database.

Å få filen ut av lagringssystemet krever bare at man oppgir det unike tallet.

– Dette er det enkle grunnlaget for CAS. Vi har lagt inn tilleggsfunksjoner for å gjøre det mer hensiktsmessig, men disse funksjonene rokker ikke ved systemets grunnleggende enkelhet.

CAS-utvidelsene omfatter blant annet håndtering av regler for hvor lenge en fil skal oppbevares, hvor mange kopier det skal være tillatt eller påbudt å lagre, og hvordan metadata om for eksempel brukeren skal knyttes til hver fil. Oppbevaringsreglene kan styres av parametere både for hvor lenge et gitt innhold oppbevares, og hvor lenge det kan oppbevares før det skal slettes.

En annen utvidelse gjelder grensesnittet for tilgang til systemet: Her har man, for enkelhets skyld, valgt det nær sagt universelle http.

En tidlig utgave av Carpentiers CAS ble lagt inn i en løsning fra et av hans tidligere selskap, FilePool, med teknologi patentert i 1999.

Dette betegner Carpentier som «første generasjon CAS». FilePool ble overtatt av EMC i 2001, og en videreutvikling av teknologien ble lagt til grunn for EMCs arkivløsningen Centera som ble lansert i 2002. Dette er, igjen ifølge Carpentier, «andre generasjon CAS».

– EMC fortsetter å utvikle Centera-teknologien, men går ikke så langt som jeg ønsker. Årsaken er enkel: De ser på Centera som en arkiveringsløsning, der ytelse ikke er så farlig. De ønsker ikke noe som kan konkurrere med deres øvrige løsninger innen lagring.

Carpentier tok derfor kontakt med EMC, og forhandlet seg fram til en minnelig ordning som gir Caringo rett til å bygge videre på FilePool-teknologien som EMC kjøpte i 2002.

– I løpet av årene 2004 til 2006 kom flere andre selskaper med løsninger basert på andre generasjon CAS, som Archivas, Permabit og Bycast. I dag er CAS-markedet verdt to milliarder dollar.

Caringo lanserte sin første versjon av CAStor i mai i fjor. Carpentier mener CAStor utgjør tredje generasjon CAS. I motsetning til Centera og de øvrige produktene for andre generasjon CAS, er CAStor et rent programvareprodukt, som kjører på helt industristandard x86-basert maskinvare, i klynger.

– CAStor peker mot det vi mener er framtiden: En lagringsarkiktektur som er både rask nok til å brukes som primærlager, og billig nok til å fungere som arkiv.

I sjargongen heter dette «single tier information lifecycle management»: Ett lagringsnivå er tilstrekkelig for både langsiktig arkivering og daglig datalagring. Andre systemer for «ILM» («information lifecycle management») krever minst ett eget lag for arkivet, atskilt fra den daglige lagringen.

– Det vi sier er at du ikke trenger noe spesialisert SAN [lagringsnettverk] for å forvalte alt du har av innhold. Du kan bruke vår teknologi og spare så mye penger at du kan forbeholde SAN-et ditt til databasene. Da vil SAN-et også være en langt bedre og mer varig investering.

Arkiverte dokumenter skal ikke kunne forfalskes. Hvordan verner dere om dokumentenes integritet?

– Det har vi to tiltak for. Det første er at vi kjører to «hash» på hver fil som lagres. Det ene hashet er identifikatoren. Det andre er et integritetshash. Vi har fått patent på det som beskriver hvordan de to hashene er knyttet til hverandre. Båndet mellom de to innebærer at det er mulig å foreta en uavhengig sjekk av hvorvidt dokumentet er ekte, det vil si utenfor den infrastrukturen vi har laget.

Dette er en nyvinning i forhold til de første generasjonene CAS: Der brukte man det samme hashet til både identifikator og integritetssjekk.

– Det andre vi gjør er at vi kan oppgradere algoritmen som kjører integritetshashet. All kryptering er, som kjent, utsatt for at folk kan bryte låsen. Slik vi har laget CAStor, vil vi kunne bytte algoritme for integritetshashet dersom den skulle vise seg usikker en gang i framtiden.

Arkitekturen i CAStor er laget slik at man legger til nye noder i klyngen etter hvert som lagringsbehovet øker. Hver node øker både lagringskapasiteten, og hastigheten på datastrømmen.

- Siden man slipper å forholde seg til et skjørt filsystem, er det heller ingen begrensning på hvor mange filer systemet kan lagre, eller på hvor store filene kan være. – Systemet er massivt skalerbart, fra 1,5 terabytes og oppover til mange petabytes. Siden man slipper å forholde seg til et skjørt filsystem, er det heller ingen begrensning på hvor mange filer systemet kan lagre, eller på hvor store filene kan være. Skalerbarheten er lineær. Hver node er en standard x86-server, fra Dell, HP, IBM, Sun og så videre. Du kan blande maskiner fra ulike leverandører. Du trenger ingen av de typiske dyre komponenter i vanlige lagringssystemer: verken RAID, Fibre Channel eller iSCSI. Diskene er standard høykapasitets SATA.

CAStor leveres på noe så grunnleggende enkelt som en USB-pinne, alternativt en CD-ROM. Man kan også lagre avbildninger av pinnens innhold med tanke på Net Boot.

– Installasjonen går nærmest av seg selv. Man booter serveren fra USB-pinnen. Der finnes både operativsystemet for løsningen, og selve programvaren. OS-et er strippet Linux: Det inneholder bare det absolutt nødvendige.

Det eneste man må passe på med maskinvaren er at det må være et visst forhold mellom minne og disk. Klyngen koples sammen og kommuniserer med klienter over standard TCP/IP. I lagringsklyngen er alle noder likeverdige: Ingen er spesialisert for spesifikke funksjoner som aksess. Disker kan flyttes fritt mellom nodene. All data replikeres, og systemet leger seg selv i tilfelle maskinvaresvikt. Tilgangen til data brytes ikke, selv ikke når maskinvaren svikter. Replikering kan defineres over både LAN og WAN med tanke på tilgjengelighet og katastrofeberedskap.

– Klyngen vil automatisk legge en ny fil der det passer best, med tanke på forholdet mellom disk og minne. Det kreves 1 GB minne for å indeksere 30 millioner objekter. Filer skrives alltid sammenhengende: De fragmenteres aldri. Integriteten til hver fil overvåkes av en kontinuerlig «helsesjekk». Overvåkingen gjelder også antall kopier og liknende. Selvlegingen innebærer at man kan fjerne eldre maskinvare etter hvert som det slites, og erstatte den med ny, uten å måtte gjennomføre spesielle tiltak i forhold til dataene.

CAStor-klyngen kan knyttes direkte til sitt speilbilde over et WAN, til en driftskonsoll og til en applikasjonsserver.

PC-er under Windows, MacOS eller Linux kan knyttes til en «File System Gateway» mellom klienten og CAStor-klyngen. En mer avansert utgave av denne kan brukes dersom man vil levere lagringstjenester til PC-er eller mobile klienter over et IP-nettverk. I begge tilfellene er maskinvaren standard x86: Det er Caringos programvare som definerer funksjonene.

Til toppen