ZFS biedt geavanceerde opslagfuncties zoals integriteitscontrole, snapshots en volumebeheer, zowel op Linux als FreeBSD. Echter, de manier waarop het systeem geïntegreerd is, verschilt per platform: op veel Linux-distributies blijft de OpenZFS-module los van de kernel, wat kan betekenen dat deze na een update opnieuw moet worden gecompileerd; bij FreeBSD is ZFS geïntegreerd in het eigen ontwikkelingsproces en het uitrolproces van het besturingssysteem. Deze verschillen beïnvloeden het onderhoud, maar maken geen van beide opties per definitie de beste keuze voor alle servers.
In 30 seconden: de kernpunten van ZFS op Linux en FreeBSD
- Linux gebruikt een apart module-systeem. Zoals in Debian, waar het pakket
zfs-dkmshet mogelijk maakt om de module voor de geïnstalleerde kernel te compilaren. - Licentie legt scheidslijnen uit. OpenZFS gebruikt CDDL, terwijl de Linux-kernel onder GPLv2 valt. De juridische interpretaties van de compatibiliteit tussen beide licenties lopen uiteen.
- FreeBSD integreert ZFS in haar releasecyclus. Dit maakt enkele gelijktijdige updates van kernel en ZFS mogelijk, maar vereist ook dat beide onderhouden worden.
- Versies doen ertoe. Een recente kernel kan vragen om een versie van OpenZFS met de juiste aanpassingen voor compatibiliteit.
- De keuze hangt af van het gebruiksscenario. Linux heeft een breed ecosysteem met diverse distributies en tools; FreeBSD biedt een meer geïntegreerde ZFS-ervaring in het basissysteem.
Deze discussie bestaat al geruime tijd. Zo gaf een mailwisseling in januari 2019 over Linux 5.0 aan dat er spanningen waren tussen sommige kernel-onderhouders en degenen die bepaalde interfaces nodig hadden voor ZFS. Christoph Hellwig adviseerde een gebruiker over te stappen op FreeBSD. De discussie benadrukte de technische en licentieproblemen die nog altijd invloed hebben op hoe OpenZFS op Linux wordt verdeeld en onderhouden.
Waarom ZFS een eigen aanpak nodig heeft op Linux
OpenZFS is een bestandssysteem en volumebeheer dat oorspronkelijk in Solaris ontstond en nu door een ontwikkelaarsgemeenschap wordt onderhouden. Het codebase wordt gebruikt in zowel Linux als FreeBSD. De kern van het probleem ligt niet in ZFS zelf, maar in de wijze waarop het in het besturingssysteem wordt geïntegreerd.
Linux wordt uitgebracht onder GPLv2, terwijl OpenZFS onder CDDL valt. De Free Software Foundation (FSF) ziet daarin een incompatibiliteit wanneer de codes worden gecombineerd op een wijze die volgens hen de integratie van ZFS in de kernel vereist. Canonical, de maker van Ubuntu, stelde in 2016 dat het distribueren van ZFS als losstaand module weliswaar juridische complicaties kan hebben, maar dat het gebruik van een extern module mogelijk compatibel is met beide licenties.
Het is dus belangrijk om technisch en juridisch te scheiden: officieel is er geen rechter die alle mogelijkheden en grenzen van de combinatie Linux en ZFS heeft vastgesteld. OpenZFS’s eigen documentatie stelt dat het distribueren van de software als kernmodule in Linux niet toegestaan is onder de licenties, maar dat het verspreiden van broncode of een losstaand binair module dat wel is.
In Debian bijvoorbeeld wordt ZFS via het pakket zfs-dkms aangeleverd. DKMS (Dynamic Kernel Module Support) maakt het mogelijk om externe modules te compileren voor de geïnstalleerde kernel. Bij kernel-updates moet deze module vaak opnieuw worden gecompileerd, wat extra beheer vraagt.
Dit brengt extra beheerwerkzaamheden met zich mee. Bij een incompatibiliteit moet de module worden aangepast voordat ZFS betrouwbaar werkt met de nieuwe kernel, vooral bij systemen die op ZFS gestart worden en dus tijdens het opstartproces toegang moeten hebben tot het bestandssysteem.
Niet alle Linux-distributies behandelen ZFS op dezelfde wijze. Ubuntu biedt specifieke pakketten, en systemen met lange-termijn support krijgen doorgaans minder vaak een grote kernel-update, waardoor de kans op incompatibiliteiten kleiner wordt, maar niet wegneemt dat een juiste versie van zowel kernel als ZFS vereist is.
De controverse onder Linux-onderhouders
Op 15 januari 2019, tijdens de ontwikkeling van Linux 5.0, zorgde een wijziging in de export van interne functies voor problemen met code voor ZFS on Linux. In de mailinglist van de kernel raakte men hierover in gesprek. Christoph Hellwig adviseerde toen dat gebruikers moesten overstappen op FreeBSD.
Greg Kroah-Hartman gaf aan dat hoewel ZFS technisch aantrekkelijk is, de licentie-onverenigbaarheid een probleem vormt. Hij maakte zich zorgen over de juridische implicaties en over de last voor kernel-ontwikkelaars om interne interfaces voor externe modules open te houden.
In januari 2020 sprak ook Linus Torvalds hierover. Hij waarschuwde dat het toevoegen van modules zoals ZFS niet dezelfde garanties biedt voor onderhoud en stabiliteit als geïntegreerde kernel-functies.
Dit betekent niet dat Linux gebruik van ZFS verbiedt of dat OpenZFS geen onderhoud krijgt. Het officiële repository blijft nieuwe versies uitbrengen en geeft aan welke Linux-kernels en distributies compatibel zijn. Wel wordt er niet aangenomen dat het onderhouden van alle interne interfaces door Linux onderdeel is van de verplichtingen van het kernel-team.
Bij kernelwijzigingen moet OpenZFS haar code aanpassen aan nieuwe eisen voor modules extern. Het project houdt stabiele releases en LTS-versies, maar de tijd die nodig is voor compatibiliteit verschilt afhankelijk van de complexiteit van de wijziging en het werk van de ontwikkelaars.
Onderzoek door Vivian Voss toonde aan dat de tijd tussen kernel-updates en de compatibiliteit met ZFS kan variëren: meestal tussen 5 en 88 dagen voor de 17 hoofdversies van Linux tussen 6.6 en 7.2, met een mediane van 38 dagen. Dit is een gemiddelde, geen garantie voor de toekomst. De daadwerkelijke impact hangt ook af van distributiebeleid en de gebruikte OpenZFS-versie.
De situatie bij FreeBSD
FreeBSD volgt een andere aanpak: ZFS is sinds versie 7.0, uit 2008, onderdeel van de basisinstallatie. Het project gebruikt tegenwoordig OpenZFS voor recente versies. Tijdens de installatie kan ZFS automatisch worden geconfigureerd, zonder afhankelijk te zijn van een extern DKMS-module zoals bij Debian.
Het grote voordeel is dat FreeBSD kernel en ZFS binnen dezelfde release kunnen worden getest en geoptimaliseerd. Hierdoor is minder afhankelijkheid van aparte modules die wachten op compatibiliteit, en kunnen updates gelijktijdig worden uitgerold.
Daarnaast biedt FreeBSD tools als bectl, waarmee het beheer en herstel van ZFS-bootomgevingen mogelijk is. Dat verlaagt de risico’s bij problemen na een update, mits het systeem goed is voorbereid en herstelmogelijkheden klaarstaan.
De aanpak betekent niet dat er geen onderhoud nodig is: regelmatig moet OpenZFS worden bijgewerkt, getest en geoptimaliseerd voor de verschillende FreeBSD-versies. Maar het voordeel ligt in de organisatie: het systeemstuur en de bestanden worden in één ecosysteem beheerd, in plaats van dat een los module zich moet aanpassen aan het kernel-ontwikkelingsproces.
De nieuwste versie, FreeBSD 15.1, gepland voor uitgifte op 16 juni 2026, illustreert deze aanpak. Hoewel oudere versies zich mogelijk nog op eerdere OpenZFS releases baseren, is de verwachting dat de uiteindelijke stabiele release consistent is met de geïntegreerde ontwikkelcyclus.
Het is belangrijk om te beseffen dat Linux en FreeBSD fundamenteel verschillen: Linux heeft een grote en diverse ecosysteem van distributies en tools, zoals TrueNAS dat op Linux gebaseerd is en recentelijk overgaat op een Linux-platform voor zijn producten. FreeBSD biedt daarentegen een meer gesloten en geïntegreerde aanpak, die voor bepaalde toepassingen, zoals opslagservers, aantrekkelijk kan zijn.
De keuze tussen beide systemen wordt niet alleen bepaald door de aanwezigheid van ZFS, maar vooral door wie de versiecoördinatie en onderhoudsplanning organiseert, en door de eisen van het beheer en de update-cyclus binnen de operationele omgeving.
Veelgestelde vragen
Waarom heeft ZFS DKMS nodig op Debian?
Debian levert OpenZFS als een aparte module via zfs-dkms. DKMS maakt het mogelijk om deze module automatisch te recompileren voor de geïnstalleerde kernel bij systeemupdates, mits de versie van OpenZFS compatibel is.
Is het illegaal om ZFS te gebruiken op Linux?
Er is geen rechterlijke uitspraak die definitief de juridische status heeft bepaald. De FSF ziet een incompatibiliteit tussen GPLv2 en CDDL, terwijl Canonical aangeeft dat het gebruik van een losstaand ZFS-module onder de licenties mogelijk is.
Is ZFS ingebouwd in FreeBSD?
Ja. ZFS is vanaf versie 7.0, uit 2008, onderdeel van de kerninstallatie. Het gebruik van OpenZFS in moderne versies biedt een geïntegreerde opslagoplossing die eenvoudig te onderhouden is binnen het systeem.
Welke keuze is beter voor een server met ZFS?
Dat hangt af van de omgeving: FreeBSD integreert ZFS in de releasecyclus en maakt goede afstemming mogelijk; Linux biedt meer flexibiliteit qua distributies, beheer en ondersteuning, en kan daardoor ook eenvoudiger in diverse omgevingen worden ingezet.
