ZFS

ZFS (Zettabyte File System) ist ein Meta-Dateisystem, welches bei Sun Microsystems unter der Projektleitung von Jeff Bonwick entwickelt wurde. Es wird seit Solaris Version 10 ausgeliefert.

Pool-Konzept 
Während bisherige Filesysteme einen Datenträger wie die Festplatten mit einem Logical Volume Manager verwalten und als eine Partition behandeln, welche diese physischen Partitionen in logische Partitionen unterteilt, liegt ZFS  ein progressives Konzept zu Grunde: es wird aus den physischen Partitionen ein Pool gebildet. Aus diesem Pool können fast nach Belieben logische Partitionen gebildet werden, welche flexibel in der Ausgestaltung, sprich Grösse, sind.  Dabei lassen sich Ober- und Untergrenzen für die logischen Partitionen festlegen, orientiert an der zur Verfügung stehenden Gesamtgrösse. Diese Logical Units können in eine hierarchische Anordnung eingefügt werden.  Dabei können vererbbare Parameter für die logischen Partitionen mitgegeben werden.  Aus dem Pool können auch Speicherbereiche segmentiert werden, welche als eigenständige, dedizierte Block-Devices deklariert werden.  Der Pool ersetzt also die Funktionalität der logischen Partitionierung der Verwaltung mit dem Logical Volume Manager und der Bildung von RAID-Verbunden.

Pool-Verwaltung 
Die Pool-Verwaltung ist dabei denkbar einfach: um einen Pool über mehrere Festplatten zu erzeugen und darauf eine Partitionen zu bilden, werden lediglich 2 Befehle benötigt.  Die Bildung von Partitionen mit Logical Volumes und das Einhängen in ein Dateisystem erfolgt bei Bedarf automatisch.

RAID-Funktionalität und RAID-Z 
Um RAID-Funktionalität zu erhalten können die Pools die Daten spiegeln. ZFS kann aus mehreren Festplatten ein RAID-Z bilden, welches einem RAID Level 5 entspricht und zusätzlich vor Synchronisations-Problemen, auch Write-Hole genannt, schützt.  RAID-Z funktioniert auch ohne NVRAM mit eigener, batteriegestützter Stromversorgung, da ZFS in dem Design integriert ist. Eine Schreiblücke zwischen Daten-Schreiben und Parity-Schreiben tritt nicht auf.  RAID Level 6 wird seit Solaris Express 47 mit RAID-Z2 erreicht. RAID-Z2 weist ebenfalls keine Schreiblücken auf.  ZFS optimiert die Zugriffszeiten automatisch durch RAID-0-Striping (Paralleler Zugriff auf Daten). 

ZFS ist ein 128-Bit Dateisystem mit einer maximalen Dateigrösse von 16 Exbibyte. Die maximale Anzahl von Dateien beträgt 2 ^ 48 bei einer maximalen Grösse des Dateisystems von ebenfalls  16 Exbibyte. Die maximale Grösse eines Pools beträgt 3 x 10 ^ 23 Pebibyte. Es können maximal 2 ^ 64 zPools gebildet werden. Die maximale Anzahl an Geräten in einem zPool beträgt ebenfalls 2 ^ 64.  Die maximale Anzahl von Dateien in einem Verzeichnis beträgt 2 ^ 56. Die maximale Anzahl von Dateisystemen in einem zPool beträgt 2 ^ 64, ebenso die maximale Anzahl von zPools in einem System (2 ^ 64).  Neben Solaris wird ZFS zukünftig durch Portierungen von Mac OS X und FreeBSD unterstützt. ZFS wird auch für OpenSolaris ausgeliefert unter der Common Development and Distribution License (CDDL).  ZFS ist sowohl auf der SPARC Rechnerarchitektur als auch auf x86 und x64 Rechnerarchitekturen unter Solaris lauffähig.  Das Projekt ZFS on FUSE will ZFS auf Linux nutzbar machen.                     
Siehe auch:    Sun-Microsystems   Solaris   Mac-OS-X   BSD   Second-Extended-Filesystem   Third-Extended-Filesystem   Linux   Global-File-System   Journaling-Dateisystem   Google-BigData