ZFS (Dateisystem)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
ZFS
Hersteller Sun Microsystems
Vollständige Bezeichnung Zettabyte File System (veraltet)
Erstveröffentlichung Juni 2006 (Solaris 10)
Partitionskennung u. a. 6A898CC3-1DD2-11B2-99A6-080020736631 (GPT)
Maximalwerte
Größe einer Datei 264−1 Byte
Anzahl aller Dateien 248
Größe des Dateisystems 2128 Byte
Eigenschaften
Dateirechte-Verwaltung POSIX, ACLs
Transparente Komprimierung ja (LZJB und gzip)
Transparente Verschlüsselung ja (Einführung mit Oracle Solaris 11 Express 2010.11)[1]
Unterstützende Betriebssysteme Solaris
↳ OpenSolaris
↳ illumos
Unix-artig:
↳ FreeBSD[2]
↳ FreeNAS
↳ TrueOS
↳ NetBSD[3]
↳ macOS[4]
↳ Linux[5]
Windows NT
↳ ab 10[6]

ZFS ist ein von Sun Microsystems entwickeltes transaktionales Dateisystem, das zahlreiche Erweiterungen für die Verwendung im Server- und Rechenzentrumsbereich enthält. Hierzu zählen die vergleichsweise große maximale Dateisystemgröße, eine einfache Verwaltung selbst komplexer Konfigurationen, die integrierten RAID-Funktionalitäten, das Volume-Management sowie der prüfsummenbasierte Schutz vor Datenübertragungsfehlern. Der Name ZFS stand ursprünglich für Zettabyte File System, ist aber inzwischen ein Pseudo-Akronym, wodurch die Langform nicht mehr gebräuchlich ist.[7]

Eigenschaften[Bearbeiten | Quelltext bearbeiten]

ZFS ist ein 128-Bit Copy-On-Write-Dateisystem mit einer im Vergleich zu herkömmlichen Dateisystemen deutlich erweiterten Funktionalität. Bei herkömmlichen Dateisystemen verwaltet genau ein Dateisystem genau eine Partition. Sollen mehrere physische Partitionen zu logischen Partitionen zusammengefasst werden, muss hierzu eine zusätzliche Logical-Volume-Manager-Software installiert werden. Zur Ausfallsicherung können viele Dateisysteme zusätzlich durch ein optionales softwarebasiertes RAID-Subsystem (Software-RAID) abgesichert werden. ZFS fasst diese drei Funktionen zusammen und ergänzt diese um einen prüfsummenbasierten Schutz vor Datenübertragungsfehlern.

Datenträger-Pools[Bearbeiten | Quelltext bearbeiten]

In der Praxis werden zunächst aus physischen Datenträgern (eigentlich Datenspeicher-Geräten) logische Einheiten – sogenannte Pools (bzw. zPools) – gebildet, welche optional auch ausfallsicher ausgelegt sein können (RAID). Innerhalb eines Pools können dann beliebig viele logische Partitionen (mit je einem Dateisystem) angelegt werden, wobei diese, soweit es die Größe des Pools zulässt, dynamisch wachsen, aber auch verkleinert werden können. Um administrative Einschränkungen durchzusetzen, kann für jede logische Partition eine minimale und maximale Größe vorgegeben werden. Die logischen Partitionen können dabei in eine hierarchische Struktur eingebettet werden, innerhalb derer diese und andere Parameter auch vererbt werden können. Weiterhin ist es möglich, Datenbereiche aus Pools als dedizierte „Block-Devices“ (siehe auch Datenblock-orientierte Geräte) zur Verfügung zu stellen.

Die zweite Besonderheit von ZFS ist die besonders einfache Administration. Um einen Pool über mehrere Festplatten zu erzeugen und auf diesem eine Partition anzulegen, werden lediglich zwei einfach strukturierte Befehle benötigt. Das Partitionieren, Aufbauen des logischen Volumens und schließlich das Einhängen ins bestehende Dateisystem werden automatisch erledigt, können aber bei Bedarf auch manuell vorgenommen werden.

Ausfallsicherheit[Bearbeiten | Quelltext bearbeiten]

Redundanz[Bearbeiten | Quelltext bearbeiten]

Wie bei einem klassischen Volume-Manager können die zugrunde liegenden Pools ausfallsicher angelegt sein. Hierzu werden aus mehreren physischen Datenträgern per Software-RAID sogenannte Redundanz-Gruppen gebildet, eine oder mehrere dieser redundanten Gruppen bilden dann einen ausfallsicheren Pool. Das in das Dateisystem integrierte RAID-Subsystem bietet gegenüber klassischen Hardware- oder Software-Raid-Implementierungen den Vorteil, dass zwischen belegten und freien Datenblöcken unterschieden werden kann und somit bei der Rekonstruktion eines Raid-Volumens nur belegter Plattenplatz gespiegelt werden muss, hieraus resultiert im Schadensfall, besonders bei wenig gefüllten Dateisystemen, eine enorme Zeitersparnis. ZFS stellt mehrere RAID-Level zur Auswahl. Bei der Spiegelung (RAID-1) bilden zwei (oder mehr) Festplatten eine gespiegelte Redundanz-Gruppe, wobei die Daten zweimal oder öfter gespeichert werden können. Weiter gibt es zwei RAID-Z genannte Implementierungen. RAID-Z1 arbeitet ähnlich wie RAID-5, RAID-Z2 entspricht weitestgehend RAID 6. Bei RAID-Z1 bilden drei (oder mehr) Festplatten die Redundanz-Gruppe, dabei sind die Daten wie bei einem RAID 5 System paritätsgesichert, so dass eine der Festplatten ausfallen kann, ohne dass dabei Datenverluste entstehen. Durch das integrierte Design des ZFS wird jedoch im Gegensatz zu RAID-5 kein batteriegepufferter Speicher (NVRAM) benötigt, da keine Schreiblücke (write hole) zwischen Daten-Schreiben und Parity-Schreiben auftritt. Die RAID-Z2 genannte, ebenfalls schreiblückenfreie Implementierung von RAID-6 ist seit Solaris Express 47 verfügbar. Seit Juli 2009 ist auch RAID-Z3, also eine RAID-Z-Implementierung mit 3 Paritätsbits, verfügbar.[8] Die Geschwindigkeitsoptimierung durch parallelen Zugriff (RAID-0 – Striping) wird von ZFS automatisch vorgenommen.

Snapshots[Bearbeiten | Quelltext bearbeiten]

Copy-On-Write erlaubt es, sehr effizient Snapshots zu erstellen, dies geschieht praktisch sofort und das Dateisystem bleibt online. Ein Snapshot friert den aktuellen Dateisystemzustand ein, darauf folgende Schreiboperationen repräsentieren jeweils die Differenzen zum letzten Snapshot. ZFS-Snapshots können zum Lesen gemountet oder auch archiviert (zfs send) werden, des Weiteren gibt es ZFS-Clones, diese entsprechen einem beschreibbaren Snapshot.[9]

Automatische Datenfehlerkorrektur[Bearbeiten | Quelltext bearbeiten]

Neben den Möglichkeiten, Daten gegen Festplattenausfälle zu sichern, wird außerdem jeder einzelne Block im Dateisystem mit einer Prüfsumme versehen, sodass Datenfehler im Dateisystem (z. B. verursacht durch Datenübertragungsfehler) automatisch erkannt und ggf. ohne manuellen Eingriff behoben werden können. Der Performance-Verlust ist dabei minimal. Auch stellt ZFS sicher, dass der Zustand des Dateisystems zu jeder Zeit konsistent ist und deshalb auch beispielsweise nach einem Stromausfall kein Überprüfen des Dateisystems (per fsck) notwendig ist.

Deduplikation[Bearbeiten | Quelltext bearbeiten]

Im Oktober 2009 wurde Deduplikation für ZFS freigegeben.[10] Dadurch werden Blöcke mit identischem Inhalt nur noch einmal physisch abgelegt, was hilft Plattenplatz zu sparen. Ein typischer Anwendungsfall ist das Anlegen von virtuellen Festplatten für virtuelle Maschinen, die jeweils alle eine Installation eines virtualisierten Betriebssystems enthalten. Eine weitere wäre aus gleichartigen Backups redundante Information zu entfernen. Deduplikation benötigt allerdings viel RAM, wodurch ZFS bei Nutzung als ressourcenhungrig bezeichnet wurde. In OpenZFS bietet sich daher eher die LZ4 Kompression an, die eher auf Geschwindigkeit als auf Kompression ausgelegt ist und keinen zusätzlichen Speicher benötigt.

Performance[Bearbeiten | Quelltext bearbeiten]

Weiterhin ist ZFS ein relativ schnelles Dateisystem; aufgrund der integrierten RAID-Funktionen und End-To-End-Checksummen kommt es jedoch in der Geschwindigkeit auf älteren bzw. langsameren Systemen nicht an einfachere Dateisysteme heran, wobei die Performance von ZFS auch davon abhängig ist, welche RAID-Funktionalität genutzt wird und ob die einzelnen Platten unabhängig voneinander und gleichzeitig Daten transferieren können.

Datenkapazität[Bearbeiten | Quelltext bearbeiten]

ZFS ist für sehr große Datenmengen ausgelegt, was durch die durchgängige Verwendung von 128-Bit-Zeigern erreicht wird. In der Praxis sind die Grenzen jedoch mit denen eines 64-Bit-Dateisystems vergleichbar. Bei der Implementation unter Solaris und beispielsweise auch FreeBSD werden 64-Bit-Datentypen verwendet, da es in C derzeit keine architektur- und compilerübergreifend nutzbaren 128-Bit-Datentypen gibt. Im Wesentlichen werden die ersten 64 Bits des Zeigers immer zusammen mit 64 Nullen abgespeichert, die bei der Verarbeitung ignoriert werden. Das ermöglicht es, bestehende Dateisysteme später als echte 128-Bit-Dateisysteme weiterhin verwenden zu können. Die Kapazität von ZFS ist so ausgelegt, dass sie für immer ausreicht.

Weiterentwicklung[Bearbeiten | Quelltext bearbeiten]

Sun entwickelte ZFS seit 2001 für das Betriebssystem Solaris und hat es 2006 mit Solaris 10 6/06 offiziell, inklusive kommerziellem Support, veröffentlicht. Zudem stellte Sun ZFS unter der Common Development and Distribution License (CDDL) für OpenSolaris (ab Build 27a) bereit. ZFS war auf allen von Solaris unterstützten Architekturen verfügbar: SPARC und IA-32 (also 32-Bit x86 und 64-Bit x86, x64). Entworfen und umgesetzt wurde das Projekt vom Sun-Team unter der Leitung von Jeff Bonwick.

Auf Basis der Veröffentlichung von Sun wurde ZFS von Pawel Jakub Dawidek, mit Unterstützung durch Sun-Entwickler, bereits früh auf FreeBSD portiert[11] und ist seit FreeBSD 7.0 (veröffentlicht Anfang 2008) im Basissystem enthalten, wurde damals aber noch als experimentell eingestuft; Mit FreeBSD 8.0 (Ende 2009) gilt es als stabil.[12]

Auch Apple hatte ZFS-Unterstützung, vorerst nur lesend, in Mac OS X Leopard (veröffentlicht Ende 2007) integriert. Volle Implementierung war für die Server-Version 10.6 (Snow Leopard, 2009) angekündigt worden, wurde dann jedoch doch nicht umgesetzt. Stattdessen wurden auf Apples Open-Source-Projektseite Mac OS Forge Quelltext und Binärprogramme der ZFS-Portierung veröffentlicht. Am 23. Oktober 2009 gab Apple dort bekannt, dass das ZFS-Projekt eingestellt worden war.[13] Don Brady, der bei Apple für die Entwicklung von ZFS zuständig gewesen war, gründete nach seinem Austritt bei Apple die Firma Ten’s Complement und entwickelte dort das Dateisystem unter dem Namen ZEVO weiter. 2012 wurde die Firma von GreenBytes übernommen,[14] die 2014 wiederum von Oracle übernommen wurde.[15][16] Obwohl ZEVO kostenpflichtige kommerzielle Software war[17] gab es von GreenBytes 2012 eine Community Edition gratis.[18]

Eine direkte Unterstützung innerhalb des Linux-Kernels ist aus Lizenzgründen problematisch,[19] daher gibt es keine in die offiziellen Kernelquellen integrierte Linux-Implementierung.[20] Allerdings wurde mit dem Projekt ZFS on FUSE eine Implementierung geschaffen, die ZFS auch unter Linux nutzbar machte.[21] Diese lief jedoch im Userspace und hatte dadurch verschiedene Nachteile, unter anderem einen verminderten Datendurchsatz.[22] ZFS on FUSE wird seit 2012 nicht mehr weiterentwickelt, die letzte Version ist 0.7.0 und erschien am 9. März 2011.[23][24] Dessen Ersatz ist die OpenZFS-Portierung ZFS on Linux.

OpenZFS[Bearbeiten | Quelltext bearbeiten]

Unter der Bezeichnung OpenZFS wurde im September 2013 damit begonnen, alle bisherigen, von Sun bzw. Oracle unabhängigen Entwicklungen in einem Projekt zusammenzuführen. Dabei sollte das Dateisystem unter anderem auch betriebssystemübergreifend vereinheitlicht werden.[25][26][27]

Als Basis dienten die bereits vorhandenen Weiterentwicklungen, wie jene aus FreeBSD, die wiederum auf der CDDL-Veröffentlichung von Sun basieren. OpenZFS ist daher grundsätzlich zwar zu Oracle ZFS kompatibel, aber nicht vollständig.[28][29] Von OpenZFS gibt es einzelne Entwicklungszweige für diverse Betriebssysteme:[30]

Das als Abspaltung von OpenSolaris hervorgegangen freie Betriebssystem illumos dient den OpenZFS-Portierungen als Basis. Neue Funktionen und Weiterentwicklungen werden so in illumos direkt eingepflegt und daraus von den Portierungen, und somit betriebssystemübergreifend, übernommen.[31]

Auch in FreeBSD ist ZFS integriert und kann wahlweise genutzt werden. Einige Distribution verwenden sogar primär ZFS, wie beispielsweise FreeNAS.[32] Von dieser Distribution ist auch eine Enterprise-Version, wahlweise mit zertifizierter Hardware, genannt TrueNAS, verfügbar.[33] Für beide Versionen trägt die Firma iXsystems die Projektverantwortung.

War das ab 2006 entwickelte ZFS on FUSE ursprünglich die einzige Möglichkeit unter Linux, so wurde nun mit OpenZFS ein alternativer Lösungsansatz möglich. Als ZFS on Linux werden dabei die nötigen Kernel-Module außerhalb des Kernel-Quellbaums gepflegt. Da diese Implementierung im Kernelspace läuft entfallen die Nachteile, die sich zuvor aus der (notgedrungenen) Nutzung von FUSE ergeben hatten. Nach Aussagen der Entwickler ist dieses Projekt seit der im April 2013 veröffentlichten Version 0.6.1 reif für den produktiven Einsatz.[34] Es ist u. a. in der Linux-Distribution Ubuntu von Canonical seit Version 16.04 ("Xenial Xerus") enthalten, muss jedoch vom Benutzer installiert werden. Die OpenZFS-Binärpakete werden dabei direkt aus dem offiziellen Repository bezogen.[35]

Für das auf BSD basierende macOS von Apple gibt es mit OpenZFS on OS X (der Name von macOS bis 2016 war OS X) ebenfalls eine Portierung, die als Dateisystemtreiber die Verwendung von ZFS in macOS ab Mountain Lion (Version 10.8, 2012) ermöglicht.[36]

Die Portierung auf Windows von Microsoft heißt ZFSin. Die erste Alpha-Version, ZFSin 0.1, wurde am 20. September 2017 für Windows 10 x64 veröffentlicht.[37]

ZFS von Oracle[Bearbeiten | Quelltext bearbeiten]

Nach der Übernahme von Sun durch Oracle (in den Jahren 2009 bis 2010) findet die Weiterentwicklung von ZFS im Rahmen von Solaris statt. Da diese jedoch nicht öffentlich ist, ist auch nicht leicht zu erkennen, wie engagiert Oracle dabei tatsächlich vorgeht.[38]

Technische Daten[Bearbeiten | Quelltext bearbeiten]

Wortlänge 128 Bit
Volume Manager integriert
Ausfallsicherheit RAID-1
RAID-Z1 (1 Parity-Bit, ~RAID 5)
RAID-Z2 (2 Parity-Bits, ~RAID 6) und
RAID-Z3 (3 Parity-Bits) integriert
max. Größe des Dateisystems1 16 EiB (= 264 Byte)
max. Anzahl an Dateien in einem Dateisystem 248
max. Größe einer Datei1 16 EiB (= 264 Byte)
max. Größe jedes Pools 2128 Byte
max. Anzahl an Dateien in einem Verzeichnis 248
max. Anzahl an Geräten im Pool 264
max. Anzahl an Dateisystemen im Pool 264
max. Anzahl an Pools im System 264
  • 1Beschränkungen ergeben sich nur durch aktuelle Implementationen. Per Definition könnte das Dateisystem weitaus größere Datenmengen speichern.

Kritik[Bearbeiten | Quelltext bearbeiten]

ZFS wurde für den Server- und Rechenzentrumseinsatz konzipiert und sammelt dort seine Pluspunkte, daraus ergeben sich teilweise Nachteile beim Einsatz auf Arbeitsplatzrechnern und eingebetteten Systemen.

Die Verarbeitung der 128-Bit-Pointer (siehe Eigenschaften) ist vergleichsweise aufwendig, da sie nicht der Wortbreite aktueller CPUs entspricht, die typischerweise bei 32 Bit im Bereich Appliances und älterer Personal Computer sowie bei 64 Bit im Bereich aktueller Einzelplatzrechner und den meisten Servern liegt. Somit ist auf derartigen Systemen keine optimale Performance gegeben. Überhaupt bringt die 128-Bit-Auslegung nur dort Vorteile, wo ungewöhnlich große Datenmengen gespeichert werden sollen. Im SOHO-Bereich hingegen sind je nach Datenträgergröße 32- oder 64-Bit-basierte Dateisysteme bezüglich der ablegbaren Datenmengen ausreichend (vergl. Btrfs, Ext2, FAT32, HFS+, NTFS, UFS usw.), die üblicherweise schon unter Verwendung von 32-Bit-Datentypen Dateisysteme mit einer Kapazität von knapp 16 Terabyte (z. B. ext2) verwalten können, bei 64-Bit-Pointern natürlich weitaus mehr, beispielsweise ca. 8 Exabyte (8 Millionen Terabyte) bei XFS. Die 128-Bit-Auslegung bedeutet hier also nur zusätzlichen Rechen- und Zeitaufwand sowie einen etwas erhöhten Platzbedarf auf dem Medium.

ZFS nutzt Copy-On-Write und ein Journal (ZIL, ZFS Intent Log). ZFS kann so zu jeder Zeit auf ein konsistentes Dateisystem zurückgreifen. Sicherungen und Rücksicherungen von Blöcken sowie Dateisystemprüfungen sind so bei Abbrüchen wie einem Stromausfall nicht nötig. Inkonsistenzen in Metadaten und Daten werden bei jedem Lesevorgang automatisch erkannt und bei redundanter Information soweit möglich automatisch korrigiert. Die Leistung von solchen Dateisystemen nimmt allerdings ab ca. 80 % Belegung spürbar ab, wie bei allen anderen Dateisystemen auch.

Trivia[Bearbeiten | Quelltext bearbeiten]

Zur theoretischen Kapazität von ZFS kursiert folgendes Zitat:

“Populating 128-bit file systems would exceed the quantum limits of earth-based storage. You couldn't fill a 128-bit storage pool without boiling the oceans.”

„Ein 128-Bit-Dateisystem zu füllen würde die quantenmechanische Grenze irdischer Datenspeicherung übersteigen. Man könnte einen 128-Bit-Speicher-Pool nicht füllen, ohne die Ozeane zu verdampfen.“

Jeff Bonwick, Chefentwickler von ZFS

Zum Verständnis des Zitats sei angemerkt, dass die Speicherung oder Übertragung einer Informationseinheit – z. B. ein Bit – an die Speicherung oder Übertragung von Energie gekoppelt ist, da Information ohne ein Medium nicht existieren kann, d. h. Information ist an die Existenz unterscheidbarer Zustände gekoppelt. Um einen Speicherpool mit 128-Bit-Adressierung zu füllen, wäre eine Energiemenge notwendig, die größer ist als die Menge an Energie, die ausreichen würde, um die irdischen Ozeane zu verdampfen. Gleichzeitig ist „boiling the ocean“ im Englischen ein idiomatischer Ausdruck dafür, etwas Unmögliches zu versuchen. Bonwick illustriert damit, dass ZFS für alle Zukunft genügend Kapazität bietet.

Bemerkung

Die mindestens notwendige Energie zur Speicherung von 2128 Bytes beträgt (bei 20 °C) 2100 TWh und ergibt sich nicht aus der Quantenmechanik, sondern aus der Thermodynamik. Sie geht auf Boltzmann und Planck zurück, siehe Boltzmann-Konstante. Damit kann man knapp 3 Kubikkilometer Wasser von 20 °C verdampfen, das ist deutlich weniger als ein Millionstel der Wassermenge unserer Ozeane.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Deutsch[Bearbeiten | Quelltext bearbeiten]

Englisch[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. oracle.com
  2. freebsd.org
  3. wiki.netbsd.org
  4. openzfsonosx.org
  5. zfsonlinux.org
  6. openzfsonwindows.org
  7. vgl. You say zeta, I say zetta
  8. Adam Leventhal: Triple-Parity RAID-Z in Adam Leventhal’s Weblog; abgerufen am 2. November 2009.
  9. Amy Rich: ZFS. Abgerufen am 17. Juni 2010.
  10. Jeff Bonwick: ZFS Deduplication. Abgerufen am 19. Juni 2010.
  11. lists.freebsd.org
  12. svn.freebsd.org
  13. Vgl. ZFS Project Shutdown (Memento vom 29. Oktober 2009 im Internet Archive) (23. Oktober 2009): „The ZFS project has been discontinued. The mailing list and repository will also be removed shortly.“
  14. Chris Mellor: Greenbytes crunches up ex-Apple man's Zevo ZFS. The Register, 23. Juli 2012, abgerufen am 5. Mai 2020 (englisch).
  15. Oracle Buys GreenBytes. Oracle, abgerufen am 5. Mai 2020 (englisch): „On May 15, 2014, Oracle announced it has agreed to acquire GreenBytes, a provider of ZFS technology with domain expertise in the areas of deduplication, replication, and virtualization.“
  16. Chris Mellor: Dedupe, dedupe... dedupe, dedupe, dedupe: Oracle polishes ZFS diamond. The Register, 11. Dezember 2014, abgerufen am 5. Mai 2020 (englisch).
  17. Ben Schwan: Einfach zu installierendes ZFS für den Mac. In: Heise online. 1. Februar 2012. Abgerufen am 5. Mai 2020.
  18. Ben Schwan: ZFS-Unterstützung ZEVO demnächst kostenlos. In: Heise online. 27. Juli 2012. Abgerufen am 5. Mai 2020.
  19. Thorsten Leemhuis: Juristen uneins bei ZFS-Lizenzproblematik in Ubuntu 16.04 LTS. In: Heise online. 29. Februar 2016. Abgerufen am 2. Mai 2020.
  20. Fabian A. Scherschel: Linus Torvalds erteilt ZFS im Linux-Kernel erneute Absage. In: Heise online. 10. Januar 2020. Abgerufen am 22. Mai 2020.
  21. Archivlink (Memento vom 13. Mai 2013 im Internet Archive)
  22. Ben Martin: Using ZFS though FUSE. Linux.com, 19. Juni 2008, abgerufen am 5. Mai 2020 (englisch): „Write operations do suffer a performance loss with zfs-fuse as apposed to an in-kernel filesystem…“
  23. Announcing: ZFS-fuse 0.7.0 (Memento vom 30. Dezember 2012 im Internet Archive)
  24. github.com/zfs-fuse (abgerufen am 5. Mai 2020)
  25. OpenZFS: Community will ZFS-Implementierungen vereinheitlichen – Artikel bei Golem.de, vom 18. September 2013 (Abgerufen am: 24. September 2013)
  26. Oliver Diedrich: OpenZFS. In: Heise online. 18. September 2013. Abgerufen am 2. Mai 2020.
  27. Announcement (englisch) – Ankündigung bei OpenZFS, vom 17. September 2013 (Abgerufen am: 24. September 2013)
  28. Thorsten Leemhuis: Wachstumsprobleme – Besonderheiten beim Zusammenspiel von Linux mit großen Festplatten. In: c’t. Band 2020, Nr. 4. Verlag Heinz Heise, 31. Januar 2011, S. 44, Abschnitt „ZFS != OpenZFS != ZoL“ (Heise Select [abgerufen am 2. Mai 2020]): „Diese Implementierung [ZFS von Oracle] liegt aber nicht offen und stünde daher nicht für die Integration in Linux zur Verfügung. Dass Torvalds den ZFS-Code-Stand von 2010 meint, scheint unsinnig: Der passt gar nicht an Linux dran und hinkt der Entwicklung ohnehin stark hinterher. Aus diesem Code ist OpenZFS hervorgegangen, das einen ähnlichen, im Detail aber anderen Funktionsumfang bietet – und daher nicht vollends kompatibel mit ZFS ist. Auch ZFS on Linux (ZoL), das Linux-Distributionen und -Anwender zur ZFS-Unterstützung nutzen, basiert auf OpenZFS. Das erfreut sich bester Gesundheit, wie Torvalds in seinem zweiten Forenbeitrag auch anführt.“
  29. FAQ. (Wiki) In: OpenZFS Wiki. Abgerufen am 5. Mai 2020 (englisch, Mit Pool-Version 28 von OpenZFS mit ZFS von Solaris und ZEVO kompatibel.).
  30. OpenZFS. (Wiki) Abgerufen am 2. Mai 2020 (englisch).
  31. Philip Paeps: The ZFS filesystem. (PDF; 1,4 MB) COSCUP 2019. 18. August 2019, S. 26-27, abgerufen am 5. Mai 2020 (englisch): „illumos, a fork of the last open source version of Solaris, became the new upstream for work on ZFS“
  32. Features – FreeNAS – Open Source Storage Operating System. In: FreeNAS – Open Source Storage Operating System. (freenas.org [abgerufen am 2. April 2018]).
  33. TrueNAS All-Flash and Hybrid Storage | ZFS Storage Appliance – FreeNAS – Open Source Storage Operating System. In: FreeNAS – Open Source Storage Operating System. (freenas.org [abgerufen am 2. April 2018]).
  34. admin-magazin.de
  35. Thorsten Leemhuis: Linux-Distribution Ubuntu 16.04 LTS freigegeben. In: Heise online. 21. April 2016. Abgerufen am 2. Mai 2020.
  36. OpenZFS on OS X. Abgerufen am 2. Mai 2020.
  37. First binary 20170920 (englisch) von ZFSin (OpenZFS für Windows 10 x64)
  38. Thorsten Leemhuis: Wachstumsprobleme – Besonderheiten beim Zusammenspiel von Linux mit großen Festplatten. In: c’t. Band 2020, Nr. 4. Verlag Heinz Heise, 31. Januar 2011, S. 44, Abschnitt „ZFS != OpenZFS != ZoL“ (Heise Select [abgerufen am 2. Mai 2020]): „Der mehrdeutige Begriff steht im engeren Sinne tatsächlich für die ZFS-Implementierung von Oracle, die seit der Sun-Übernahme von 2010 hinter verschlossenen Türen entwickelt wird. Von außen ist nicht recht zu erkennen, wie engagiert Oracle da noch zu Werke geht – jenseits einer High-End-Storage-Appliance und den Solaris-Überbleibseln ist bei Oracle kaum etwas von ZFS zu sehen.“