De toekomst van het bestandssysteem
- April 25, 2017
- 0
De column van Sander: Al sinds het moment dat ik ben begonnen met Linux is de vraag: ‘welk bestandssysteem is nou het beste’ altijd relevant gebleven. In de begindagen was dat nog Ext2. Mijn oudste zoon Franck amuseerde zich – toen nog als baby kruipend over de vloer – door mijn Red Hat 5.1 computer aan te zetten en weer uit en weer aan en weer uit en bewees zo dat een journaling file system toch echt wel de moeite waard is.
Inmiddels zijn we 17 jaar verder en is Ext2 opgevolgd door verschillende kandidaten die het allemaal beter beoogden te doen, maar daar geen van allen echt in geslaagd zijn. Het ultieme bewijs hiervan is de richting die moderne enterprise Linux distributies momenteel inslaan.
Ext4 is door hoofdontwikkelaar Ted T’So dood verklaard, terwijl de beoogde opvolger Btrfs nog niet klaar is. Uit pure armoe grijpt men daarom terug op een archaïsch bestandssysteem als XFS. SUSE durft het weliswaar aan om het root volume op Btrfs te zetten, maar vertelt daar ook heel nadrukkelijk bij dat voor data die echt belangrijk is, je beter gebruik kunt maken van XFS.
Ondertussen is er een alternatieve ontwikkeling gaande: het object based storage model. Dit model wordt in cloud omgevingen gebruikt, maar ook door (niet de minste) toepassingen, zoals Dropbox of Instagram foto’s. Hierbij worden bestanden niet langer op de traditionele wijze opgeslagen, maar wordt gewerkt met binaire objecten.
Om de binaire objecten te kunnen benaderen, gebruikt de applicatie een API om te communiceren met een proxy of een ander centraal mechanisme om bestanden te benaderen. Door met deze proxy te praten, komen de verschillende stukjes van de gegevens die nodig zijn automatisch tevoorschijn, zonder dat sprake is van welk bestandssysteem dan ook.
De release van Red Hat Enterprise Linux 7.1 noemt de ondersteuning van een Ceph client als kleine vernieuwing. Dit zou op lange termijn echter wel eens een veel belangrijkere vernieuwing kunnen zijn dan dat nu gedacht wordt. Maar wat zijn dan eigenlijk de voordelen van object storage?
Om te beginnen, is object storage in hoge mate schaalbaar. De schijf staat niet meer centraal, maar is niets anders dan een middel om beschikbare opslag verder uit te breiden als dat nodig is. Dat zorgt ervoor dat er in feite ook geen fysieke begrenzing meer is in wat je kunt doen vanuit een toepassing. Zelfs de getallen van meerdere exabytes die momenteel genoemd worden in moderne bestandssystemen vallen in het niet bij de virtueel ongelimiteerde ruimte die door middel van een object storage model aangesproken kunnen worden.
Met de opkomst van object storage vervalt ook één van de rollen van het besturingssysteem. Zeker in Linux is het bestandssysteem een diep geïntegreerd onderdeel. Met een besturingssysteem dat gecentreerd is om object storage doet het hele bestandssysteem er niet meer toe en vervalt die rol voor het besturingssysteem. De applicatie zelf neemt immers toegang tot de bestanden over door rechtstreekse toegang tot de API waarin het object storage model voorziet.
Zal het inderdaad ooit zover komen dat object storage de huidige rol van het bestandssysteem overneemt? De tijd zal het leren. Enerzijds is het overduidelijk dat de huidige manier waarop Linux bestanden aanstuurt niet efficiënt genoeg meer is en laat het next generation file system te lang op zich wachten. Anderzijds is het een behoorlijke grote stap om van een besturingssysteem dat gebaseerd is op toegang tot bestanden, over te gaan op een besturingssysteem dat rechtstreeks een object store benadert. Wellicht dat binnenkort Btrfs eindelijk een status bereikt waarin ook grote spelers, zoals Red Hat, erin gaan geloven en het allemaal wel mee blijkt te vallen.