Inden længe lancerer Apple et helt nyt filsystem kaldet Apple File System (APFS). En af fordelene ved APFS er at det erstatter alle de forskellige filsystemer Apple i dag bruger på de forskellige enheder. Fremover vil alle Apples enheder lige fra Apple Watch til Mac Pro benytte det samme filsystem.

APFS er en klar forbedring i forhold til det nuværende filsystem, men er også en historie om forpassede muligheder.

På overfladen vil der ikke være ret mange synlige ændringer i forhold til de vi bruger i dag. Filhåndteringen vil fungere ganske som den plejer. Men under motorhjelmen er der en del ændringer der gør filsystemet hurtigere, mere robust og mere sikkert. Man vil endda i nogle tilfælde få mere plads på sit drev. De største mangler er manglende komprimering, manglende kontrolsum på brugerdata og manglende mulighed for redundans.

I denne artikel vil jeg forklare hvad APFS går ud på, og hvorfor alle brugere af Apples produkter kan se frem til at det bliver rullet ud.

Hvad er et filsystem?

Filsystemet er den del af styresystemets software, der håndterer filer og mapper. Filsystemet kontrollerer læsningen og skrivningen af data og holder styr på filernes metadata. Metadata er oplysninger om hvor filen er placeret på drevet, størrelsen op filen, navnet på filen, tidsstempel og meget andet.

Når vi ser en fil, virker det som om den bare ligger i sin helhed på en slags digital hylde lige til at give frem, hvis den skal bruges. Det er dog sjældent tilfældet. Typisk er den delt op i masser af små dele, der i princippet kan ligge spredt over hele lagermediet. Filsystemet holder styr på hvor og hvorledes, så vi ser den som én samlet fil.

Der findes flere forskellige filsystemer udvikler på forskellige tidspunkter til forskellige typer af behov. De har mange ting til fælles, men også en del ting som er unikke for hvert enkelt. Apple kunne have valgt at benytte t eksisterende nyt filsystem, men har altså valgt at udvikle sit eget.

Hvad er APFS?

APFS er et nyt filsystem, som Apple har brugt tre år på at udvikle helt fra grunden. APFS er designet til at imødekomme dagens (og fremtidens) teknologi og behov. Det er optimeret til Flash- og SSD-lagring og kan skalere fra Apple Watch til Mac Pro.

APFS erstatter det gamle filsystem HFS+, der har rødder helt tilbage til 1985. Det var før vi fik SSD-lagring, dengang 512 KB RAM fremkaldte respekt og en floppydisk kunne indeholde 400KB. I dag måles RAM i gigabytes og lagerplads i tetrabytes. HFS-filsystemet var nyt og banebrydende dengang, men det er ganske enkelt designet til computere med floppydisks og roterende harddiske.

Selvom HFS+ virker, er det blevet en hæmsko for at udnytte de nye muligheder bedre. Med APFS får Apple bragt filsystemet up to date med stærk kryptering, ultra korte svartider og et minimum af overhead.

Bedre ydelse

Flash- og SSD-lagring fungerer helt anderledes end lagring på en traditionel roterende harddiske. Det er meget teknisk, men det korte af det lange er at APFS har optimeret kommunikationen med disken, så den fungerer bedre end med det gamle filsystem.

Apples fokus ligger blandt andet på latency, altså svartider. Det sker blandt andet ved at prioritere de vigtigste ting over baggrundsaktivitet der ikke er tidskritiske. I praksis skulle det betyde at badebolden bliver en sjældnere gæst på din Macs skærm fordi systemet langt sjældnere skal vente på at data bliver indlæst fra disken. HFS+ har ikke denne prioritering, og der er nok det punkt, hvor man vil opleve den største forskel.

64-bit fil-ID'er

APFS understøtter 64-bit fil-ID, hvor HFS+ kun understøtter 32-bit fil-ID. I praksis betyder det, at at vi aldrig nogensinde vil løbe tør for unikke ID'er på alle de forskellige små filstumper. Eller sagt på en anden måde: Med APFS kan filsystemet holde styr på meget mere data med en præcision på 1 nanosekund, hvor tidsstempler før skete på sekund-niveau.

Snapshots og backup

Med APFS bliver det muligt at lave snapshots af filsystemet. Når man lavet et snapshot bliver filsystemets status på det givne tidspunkt frosset fast. Når man arbejder videre og ændrer på filer, er det ændringerne i forhold til ens snapchot, der bliver gemt. Det betyder, at man til enhver tid kan vende tilbage til ens snapshot. I praksis vil det gøre det nemmere og mere effektiv at lave backup af filsystemet. Implementeringen betyder dog også, at APFS ikke er kompatibel med (den nuværende udgave af) Appels Time Machine-funktionalitet.

Kloning sparer plads og tid

En trend i moderne filsystemer er at lagre data med størt mulig effektivitet, for at vride så meget plads ud af et drev som muligt. Det kan eksempelvis gøres ved at komprimere data - hvad APFS ikke benytter sig af (i øjeblikket) - eller ved at undgå at den samme data ligger to gange på drevet. Det sidste er specielt nyttigt i sammenhænge, hor man har den samme fil gemt flere gange eksempelvis på filservere. Men også i helt almindeligt hverdagsbrug er funktionen brugbar.

Med APFS kan man eksempelvis klone filer. En klon er en kopi af en fil eller en mappe, der ikke optager yderligere plads på drevet. Kloner man en fil, bliver den ikke fysisk kopieret, men får i stedet bare lavet en henvisning til originalen. Klon og original deler man andre ord de samme fysiske data.

Det betyder også at en kloning sker øjeblikkeligt. Kopierer man eksempelvis sit fotobibliotek på 100GB skal man ikke vente på at der indlæses og kopieres 100GB data. Det fylder heller ikke 100GB ekstra på disken. I stedet opretters der en henvisning der peger på eksisterende data.

Ændrer man på data, så klon og original ikke svarer 100% til hinanden, er det kun forskellen der bliver gemt - resten henviser til de originale data. I praksis betyder det, at man får mere plads på sit drev, end man ville gøre med det gamle filsystem fordi data kan henvise til identisk data. Omvendt betyder det også, at hvis man sletter en fil, vil man ikke nødvendigvis på frigivet den tilsvarende mængde plads fordi filen i virkeligheden ikke fylder så meget.

Deling af plads

Det er ikke kun data der deles. Den fri plads deles også. Det betyder, at man kan partitionere det samme ene drev i flere virtuelle drev, men af de deles om den frie plads. Man behøver altså ikke på forhånd allokere en bestemt mængde plads til et bestemt virtuelt drev. Med det gamle filsystem har man skulle vælge eksakte størrelser på sine partitioner.

Hvor drev A førhen måske ville rapportere om 10GB fri plads og drev B ville rapportere om 20GB fri plads, vil både drev A og B med APFS rapportere om 30GB fri plads fordi de deles om pladsen.

Ingen afgørende ny funktionalitet, men for de der bruger det meget er det givetvis en kærkommen forbedring.

Bedre kryptering

Et af de steder hvor der virkelig er sket noget er med sikkerheden. En stærk kryptering er en nøglefunktion i APFS.

Med APFS tilbyder Apple flere forskellige måder at kryptere på tilpasset de enkelte enheders forskellige behov.

For nuværende kan man med Apples FileVault teknologi kryptere sit drev og i praksis gøre det ulæseligt for alle der ikke har det korrekte kodeord. Det fungerer fint, men har den ulempe at det er enten eller. Alle data låses og låses op på samme tid.

Så når du logger ind på din krypterede Mac og låser data op, er ale data ubeskyttet indtil du logger ud og låser dem igen. Med APFS bliver det muligt at kryptere på filniveau, så du kan beskytte særligt sensitive data i at blive dekrypteret, når du logger ind. Hver eneste fil kan krypteres med en unik nøgle.

Bedre dataintegritet

En af de absolut vigtigste opgaver for et filsystem er at sikre ens data. De skal ikke gå tabt eller blive ændret. Man skal kunne stole 100% på at de data man har lagt på disken kan indlæses igen. Der findes flere måder at sikre det på.

En af de smarteste måde at sikre data på at redundans, det vil sige have flere kopier af den samme data på hvert deres drev. Da Apples computere kun kommer med et enkelt drev, er det dog ikke relevant her. I princippet kunne redundansen ske på chipniveau i det enkelte drev, men det er ikke noget Apple har indbygget i APFS, der således ikke har nogle særlige features i forhold til RAID. Faktisk går Apple den stik modsatte vej med deres datadeling, hvor ødelagte data i originalen også ødelægger kopien.

En anden måde at sikre data på er ved hjælp af kontrolsum på data. En kontrolsum er et slags sammendrag af data der bruges til at fejlkorrigere data. I APFS bruger Apple kun kontrolsum på metadata mens brugerdata ikke kontrolleres med en kontrolsum. Metadata er den data der fortæller alt det praktiske om en fil. Går metadata i stykker kan man potentielt set miste alt data på sit drev ved fejl i en enkelt bit. Derfor er det vigtigt at fejlkorrigere her. Da metadata ikke fylder så meget, vil det ikke give ret meget overhead på ens data. Ved brugerdata derimod er det ikke besværet værd, mener Apple. Ydelsestabet vil være alt for stort (omkring 1%), og da SSD-lagring har indbygget egen fejlkorrektion har et SSD i princippet så lav en fejlrate at man ikke vil opleve det i drevets levetid.

Et kritisk sted i datalagring er selve lagringsprocessen. Filsystemet skal beskytte mod datatab selvom systemet går ned midt i processen. For at sikre dette bruger Apple i APFS en ny copy-on-write-metode. Uden at blive for teknisk betyder det, at når man vil gemme ændringer af data, så bliver de ikke modificeret på drevet med fare for datatab, hvis noget går galt. I stedet lagres der en helt ny fil, hvorefter den gamle slettes. Crasher systemet undervejs, vil der derfor altid være et af de to sæt data til rådighed. Fra brugerens synspunkt vil en dataændring enten have fundet sted eller ikke have fundet sted. Der findes ikke noget midt i mellem, da det sker i ét hug. Man risikerer altså ikke at stå en i situation hvor en fil er ødelagt fordi processen er blevet stoppet halvvejs.

Hurtig indeksering af mapper

Med APFS kan systemet hurtigt beregne størrelsen på den enkelte mapper i hierakiet og opdatere denne efterhånden som arkivet udvikler sig.

Hvordan skifter du APFS?

APFS blev præsenteret i sommeren 2016 på Apples udviklerkonference, WWDC. Men det er først nu, her i foråret 2017, Apple begynder at rulle det ud. Fra og med iOS 10.3 vil iPhonen og iPaden eksempelvis blive opdateret til det nye filsystem. Apples Macs og resten af deres enheder vil følge efter. Skiftet sker helt automatisk, når du opdaterer til den udgave af styresystemet, hvor understøttelsen begynder. Du behøver ikke geninstallere styresystemet eller noget som helst, det hele vil fungere som en vanlig opdatering.

Apple har udgivet en teknisk guide til det nye filsystem på deres udviklerportal: developer.apple.com