Zeta File System

Zeta File System

ZFS ist ein von Sun Microsystems entwickeltes transaktionales Meta-Dateisystem mit integriertem Volume-Management. 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.[1]

ZFS
Hersteller Sun Microsystems
Vollständige Bezeichnung Zettabyte File System (veraltet)
Erstveröffentlichung Juni 2006 (Solaris 10)
Maximalwerte
Größe einer Datei 16 Exbibyte
Anzahl aller Dateien 248
Größe des Dateisystems 16 Exbibyte
Eigenschaften
Dateirechte-Verwaltung POSIX
Unterstützende Betriebssysteme Solaris, Mac OS X, FreeBSD

Inhaltsverzeichnis

Eigenschaften

Herkömmliche Dateisysteme verwalten jeweils nur eine Partition und werden ggf. durch einen Logical Volume Manager unterstützt, der physikalische Partitionen zu logischen zusammenfassen kann und dabei Funktionalität zur Ausfallsicherung (siehe RAID) bereitstellen kann. ZFS fasst diese Funktionen zusammen und bildet zunächst aus den physischen Datenträgern eine logische Einheit, den so genannten Pool. Innerhalb eines Pools können dann beliebig viele logische Partitionen (mit je einem Dateisystem) angelegt werden, wobei diese dynamisch wachsen und schrumpfen, soweit die Größe des Pools es zulässt. 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 Partionieren, Aufbauen des logischen Volumes und schließlich das Einhängen ins bestehende Dateisystem werden automatisch erledigt, können aber bei Bedarf auch manuell vorgenommen werden.

Wie bei einem klassischen Volume-Manager können die Pools Spiegel bilden (siehe RAID-1), wobei die Daten zweimal oder öfter gespeichert werden können. Bilden mehrere Festplatten ein RAID-Z, werden die Daten wie bei einem RAID-5 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 zwischen Daten-Schreiben und Parity-Schreiben auftritt. Ebenso existiert seit Solaris Express 47 eine RAID-Z2 genannte schreiblückenfreie Implementierung von RAID-6. Die Geschwindigkeitsoptimierung durch parallelen Zugriff (RAID-0 – Striping) wird von ZFS automatisch vorgenommen.

Weitere Merkmale, die man sonst nur bei Volume-Managern findet, sind die Möglichkeit zur schnellen Erstellung von Snapshots (eingefrorene Nur-Lese-Sicherungen) und darauf Clones (schreib- und lesbare Replikate), wobei jeweils nur die Differenzen zum ursprünglichen Dateisystem gespeichert werden.

Neben den Möglichkeiten, Daten gegen Festplattenausfälle zu sichern, wird außerdem jeder einzelne Block im Dateisystem mit einer Prüfsumme versehen, so dass 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.

Weiterhin ist ZFS ein relativ schnelles Dateisystem; aufgrund der integrierten RAID-Funktionen und End-To-End-Checksummen kommt es jedoch in der Geschwindigkeit noch nicht an länger etablierte Dateisysteme heran.

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 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.

“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 Zitates sei anzumerken, 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. Die Gesetze der Quantenmechanik erzwingen eine Mindestmenge von Energie pro Informationseinheit, da die Information sonst auf Grund der quantenmechanischen Unschärfe verloren geht. 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. Daher wird die Füllung eines solchen Speicherpools auf absehbare Zeit als nicht durchführbar angesehen.

Entwicklung

Sun hat das ZFS für Solaris 10 entwickelt und stellt es auch unter der Common Development and Distribution License (CDDL) für OpenSolaris (ab Build 27a) bereit. Seit Solaris 10 6/06 besteht offiziell Support für ZFS. ZFS ist sowohl für SPARC als auch für x86/x64 Solaris verfügbar. Entworfen und umgesetzt wurde das Projekt vom Sun-Team unter der Leitung von Jeff Bonwick.

ZFS wird derzeit von Pawel Jakub Dawidek mit Unterstützung durch Sun-Entwickler auf FreeBSD portiert.[2] Eine derzeit noch als experimentell eingestufte Version der Portierung ist in FreeBSD 7.0 verfügbar. Auch Apple hat ZFS-Unterstützung in die aktuelle Mac-OS-X-Version (10.5 Leopard) integriert (allerdings vorerst nur im Lesemodus). Ein Lese- und Schreibzugriff auf das ZFS wird für spätere Mac-OS-X-Versionen kommen. Für Entwickler ist ein Treiber für den experimentellen Schreibzugriff verfügbar. Ferner existiert das Projekt ZFS on FUSE. [3], welches ZFS auch unter Linux nutzbar macht. Am 12. September 2008 erschien ZFS on FUSE in Version 0.5.[4]

Technische Daten

Wortlänge 128-Bit
Volumemanager Integriert
Höchstanzahl von Dateien 248
maximale Größe des Dateisystems 16 Exbibyte (= 16 × 260 Byte)
maximale Größe einer Datei 16 Exbibyte (= 16 × 260 Byte)
maximale Größe jedes Pools 3 × 1023 Pebibyte (ca. 3 × 1038 Byte)
maximale Anzahl an Dateien in einem Verzeichnis 256
maximale Anzahl an Geräten im zPool 264
Dateisysteme im zPool 264
zPools im System 264

Siehe auch

Einzelnachweise

  1. vgl. You say zeta, I say zetta
  2. http://lists.freebsd.org/pipermail/freebsd-current/2007-April/070544.html
  3. http://www.wizy.org/wiki/ZFS_on_FUSE
  4. http://zfs-on-fuse.blogspot.com/2008/09/zfs-fuse-050-released.html

Weblinks

Deutsch

Englisch


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Zettabyte File System — ZFS (Zettabyte File System)  файловая система, изначально созданная в Sun Microsystems для операционной системы Solaris. Эта файловая система поддерживает большие объёмы данных, объединяет концепции файловой системы и менеджера логических… …   Википедия

  • Be File System — BFS Developer Be Inc. Full name Be File System Introduced May 10, 1997 (BeOS Advanced Access Preview Release[1]) Partition identifier Be BFS (Apple Partition Map) 0xEB (MBR) …   Wikipedia

  • Be File System — BFS Hersteller Be Inc. Vollständige Bezeichnung Be File System Erstveröffentlichung 10. Mai 1997 (BeOS) Partitionskennung 0xEB (MBR) Technische Umsetzung …   Deutsch Wikipedia

  • Zettabyte File System — ZFS ist ein von Sun Microsystems entwickeltes transaktionales Meta Dateisystem mit integriertem Volume Management. Der Name ZFS stand ursprünglich für Zettabyte File System, ist aber inzwischen ein Pseudo Akronym, wodurch die Langform nicht mehr… …   Deutsch Wikipedia

  • Zettabyte File System — ZFS ZFS Diffuseur de logiciel Sun Microsystems Nom anglais Zettabyte File System Introduction octobre 2005 (Solaris 10) Identificateur de partition …   Wikipédia en Français

  • Zeta (Betriebssystem) — ZETA Entwickler ZETA Programmierteam Version 1.5 (28. Februar 2007) Abstammung BeOS   ZETA …   Deutsch Wikipedia

  • Zeta (disambiguation) — Zeta or ZETA can refer to:Alphabet* Zeta (letter), the sixth letter of the Greek alphabetAstronomy* Zeta Reticuli, a binary star system located in the Reticulum constellation.cience* Zeta functions, in mathematics ** Riemann zeta function *… …   Wikipedia

  • ZETA — Pour les articles homonymes, voir Zeta (homonymie). ZETA est un système d exploitation de la société allemande YellowTAB. Il se veut une évolution de BeOS. Sommaire 1 Historique 2 …   Wikipédia en Français

  • Zeta Orionis — Starbox begin name=Zeta Orionis Aa/Ab/B Starbox image caption=ζ Ori (in lower right corner) and Flame Nebula Starbox observe epoch=J2000 ra=05h 40m 45.5s dec=−01° 56 prime; 34 Prime; appmag v=1.70/ 4/4.21 constell=Orion Starbox character class=O9 …   Wikipedia

  • magnussoft ZETA — Company / developer yellowTAB / magnussoft OS family BeOS Working state Discontinued Source model Closed source Latest stable release …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”