MACNOTES

Veröffentlicht am  10.06.07, 6:50 Uhr von  

ZFS – Ein Dateisystem für Mac OS X?

Vor knapp acht Monaten stellte die Firma SUN ein neues Dateisystem unter dem Namen ZFS vor. Fast genauso alt sind die Gerüchte, Apple wird in Mac OS X Leopard sein Dateisystem HFS+ durch ZFS ersetzen. Erstmals tauchte ZFS im Leopard-Build 9A321 auf. Seit dem war es recht ruhig um die Gerüchte, bis letzte Woche Sun-Chef Jonathan Schwartze verriet, dass ZFS das Standarddateisystem von Leopard wird.

Das ist der Grund für uns in einem Artikel einmal die Vor- und Nachteile des momentanen Standarddateisystems HFS+ mit denen von ZFS zu vergleichen. Gleichzeitig möchte ich erklären, warum es “so toll ist”, aber auch auf Schwächen bzw. Probleme aufmerksam machen.

HFS

Apple führte das hierarchical file system (HFS) vor knapp 21 Jahren ein. Für die damalige Zeit war es ein sehr fortschrittliches System. Mit Hilfe der Data- und Ressource-Forks war es nämlich möglich Programmcode und z.B. Icon in voneinander getrennten Teilen einer Datei zu speichern. Schon damals wurden Metadaten unterstützt, die in den sogenannten B*-trees gespeichert wurden.

Vor 8 Jahren erneuerte Apple für Mac OS 8.1 das mitlerweile in die Jahre gekommene Dateisystem und machte es fit für die sprunghaft angesteigenden Festplattengrößen. Im ursprünglichen HFS wurden Festplatten in 65.536 Blöcke (2^16) eingeteilt. Ein Block ist die kleinste Größe, die eine Datei im HFS einnimmt, selbst wenn die eigentliche Dateigröße viel geringer ist. Auf einer 1GB großen Festplatte hatte man daher schon 16KB große Blöcke. Mit HFS+ wurde die Anzahl der Blöcke auf 2^32 erhöht. Weitere wesentliche Verbesserungen waren die Unterstützung großer Dateien (Blockadressgröße 32 Bit gegenüber 16 Bit bei HFS) und bis zu 255 Zeichen lange Dateinamen im Unicode-Zeichensatz.

Mit Mac OS X 10.2.2 wurde HFS+um eine Journaling-Funktion erweitert. Dies erhöht vor allen Dingen die Zuverlässigkeit des Dateisystems, da bevor eine Datei in das Dateisystem geschrieben wird, zunächst diese Änderungen in einer Log-Datei protokolliert werden. Die Log-Datei wird in einem speziellen Bereich der Festplatte abgelegt und ermöglicht es, das System nach einem Absturz schnell ohne aufwändige Festplattenchecks wieder lauffähig zu machen. Seit 10.3 gibt es eine weitere HFS-Variante genannt HFSX die auch Dateien in Groß- und Kleinschreibung unterscheiden kann.

Trotz der vielen Verbesserungen am Dateisystem über die letzten Jahre, fehlen HFS+ etliche Dinge, die andere moderne Dateisystem haben:

  • Effiziente Speicherung und Verwaltung kleiner Dateien,
  • Logische Verwaltung der Laufwerke,
  • Sicherstellung der Datenintegrität mit Hilfe von Checksummen und
  • Systemabbilder (sog. Snapshots)

Effizienz und Sicherheit

Bevor ich mit der Vorstellung von ZFS beginne, möchte ich die genannten Punkte etwas näher erläutern und erklären, warum sie auch für den normalen Mac OS X Benutzer interessant und wichtig sind.

Bei den Größen heutiger Festplatten, sind kleine Dateien der erklärte Feind schneller Dateisysteme. Durch seine Unix-Verwandtschaft bringt Mac OS X hunderttausende Dateien mit, die sich selbst auf einem normalen System schnell auf über eine Million summieren. Hinzu kommt, dass Spotlight einzelne Dateien verlangt, um diese zu indizieren. Das Programm Mail speichert in Mac OS X Tiger E-Mails daher nicht mehr im standardkonformen mbox-Format, sondern als einzelne Dateien, damit sie von Spotlight erfasst werden können. Für kleine Dateien sind kleine Blockgrößen daher ideal, allerdings nicht für große Dateien. Eine mögliche Lösung wären variable Blockgrößen oder mehrere kleine Dateien in einem Block zusammenzufassen.

Ein weiteres Ziel moderner Dateisysteme ist eine Abstraktion der logischen Laufwerke (Volumes) von den physischen (Festplatte). Damit ließe sich z.B. die Größe eines Volumes einfach durch Hinzufügen einer weiteren Festplatte erhöhen. Volumes müssten nicht neu formatiert werden und teure Spezialhardware wäre auch nicht nötig.

Früher war die Sicherstellung von Datenintegrität etwas, was von Banken gebraucht und genutzt wurde. Mit der Wandlung des Computers zum Zentrum des digitalen Lifestyles, werden solche Funktionen aber auch für Endanwender interessant, denn wer verliert schon gerne seine Musik- oder Photosammlung aufgrund von zerstörten Daten. Checksummen können verhindern, dass Daten schleichend, z.B. durch einen Festplattenfehler, zerstört werden. Systemabbilder bilden den Zustand des Dateisystems zu einem bestimmten Zeitpunkt ab. Das klingt erstmal nach einem Backup, aber es gibt zwei wesentliche Unterschiede:

  • Systemabbilder verbrauchen viel weniger Speicherplatz als Backups, da nur die geänderten Blöcke gesichert werden.
  • Die Zeit um ein Backup zu erstellen, steigt mit der Größe des zu sichernden Speichermediums. Systemabbilder lassen sich unabhängig von der Größe immer in konstanter Zeit erstellen.

ZFS

Zunächst bietet ZFS alle Funktionen, die HFS+ bisher auch schon bietet. Darüber hinaus adressiert es aber die vorher genannten Probleme und löst sie.

Um eine zeitgemäße Laufwerksverwaltung zu ermöglichen, ist das Dateisystem nicht mehr nur auf eine Festplatte beschränkt, sondern kann ohne die Hilfe von Volume-Managern auf mehrere Festplatten ausgedehnt werden. Das wird mit Hilfe von sog. zpools erreicht, die aus virtuellen Geräten bestehen. Virtuelle Geräte können einen RAID-Verbund, eine oder mehrere Festplatten darstellen. Damit steht die volle Kapazität aller virtuellen Geräte eines zpools allen Dateisystemen, die auf diesen Pool zugreifen, zur Verfügung. Dabei muss man sich vorläufig keine Gedanken über die Größe machen, denn ZFS ist ein 128-Bit-Dateisystem und damit lassen sich 18 Milliarden Milliarden (18×10^18) mal mehr Daten speichern, als mit aktuellen 64-Bit-Dateisystemen.

Um Snapshots zu unterstützen schreibt ZFS geänderte Daten nicht in alte Blöcke des Dateisystems, sondern reserviert neue dafür. Die Blöcke mit den alten Daten werden erhalten und nicht zur Wiederverwendung freigegeben. Damit stehen alle Informationen, die für einen Snapshot benötigt werden, sofort zur Verfügung. Diese Technik ist außerdem sehr effizient, denn nicht geänderte Datenblöcke, werden von unterschiedlichen Snapshots gemeinsam genutzt. So lassen sich Snapshots platzsparend speichern.

Da ein Snapshot normalerweise unveränderlich ist, lassen sich zusätzlich sog. “Klone” erzeugen, die einen beschreibbaren Snapshot darstellen. Damit werden zwei unabhängige Dateisysteme erzeugt, die zunächst alle Blöcke gemeinsam nutzen. Erst wenn Daten geändert werden, werden diese in Blöcken, die dem Klon zugeordnet sind, gespeichert. Unveränderte Blöcke werden also von allen Klonen immer gemeinsam genutzt.

Um den Umgang mit unterschiedlichen Dateigrößen und kleinen Dateien zu verbessern, erlaubt ZFS die Nutzung variabler Blockgrößen von bis zu 128kb pro Block. Damit wird z.B. bei vielen kleinen Dateien weniger Speicherplatz verschwendet und sie können schneller von der Festplatte gelesen werden. Die Geschwindigkeit des Dateisystems wird zusätzlich durch die Unterstützung von IO-Prioritäten und einer global-optimalen Abarbeitung von IO-Aufgaben verbessert.

Vorteile
Wie die Vorstellung der Funktionen von ZFS zeigt, ist es in der Lage die in HFS+ fehlenden Funktionen zu liefern und es evtl. sogar zu ersetzen. Damit könnte Mac OS X ein modernes, sicheres und schnelles Dateisystem bekommen, welches z.B. auch die in Leopard kommende Time-Machine-Funktion deutlich besser als eine auf HFS+ realisierte Implementierung ermöglichen würde.

Durch das moderne Laufwerksmanagement ist es problemlos möglich existierende Dateisysteme dynamisch mit mehr Speicherplatz zu versorgen, indem einfach eine weitere Festplatte als virtuelles Gerät dem zpool hinzugefügt wird. Diese Funktion ist inbesondere für Betreiber von Servern interessant.

Nachteile
Trotz aller Vorteile hat ZFS momentan noch einen gravierenden Nachteil: von ZFS-Partitionen können keine Betriebssysteme gestartet werden. Damit wäre ein Einsatz als Standarddateisystem in Mac OS X erstmal nicht möglich. Jedoch arbeitet man bei Sun an der entsprechenden Umsetzung dieser Funktion. Bis Ende diesen Jahres soll es soweit sein.

Fazit
ZFS ist ein Dateisystem, welches viele Menschen in Leopard eingesetzt sehen möchten. Die ersten Preview-Versionen von Leopard haben gezeigt, dass Apple vermutlich mindestens ZFS unterstützen wird. Damit könnte sich auch ein Migrationspfad andeuten, der sobald ZFS auch Boot-Unterstützung bietet, den vollständigen Umstieg von HFS+ ermöglicht. Da Leopard jedoch noch bis mindestens Oktober auf sich warten lassen wird, ist es durchaus vorstellbar, dass Apple in Zusammenarbeit mit Sun, diese Funktion bis dahin implementieren wird. Damit würde einem Einsatz von ZFS als Standarddateisystem in Leopard nichts im Wege stehen.

Die Vorzeichen stehen also gut und ZFS würde für Mac OS X gegenüber Windows Vista einen weiteren Vorteil darstellen. Jetzt ist also Steve Jobs an der Reihe, am Montag auf der Keynote ZFS als integralen Bestandteil von Leopard anzukündigen.

 Und wie ist deine Meinung?  Schreib uns einfach!

 6 Kommentar(e) bisher

  •  macneo sagte am 10. Juni 2007:

    Also das booten scheint mittlerweile von verschiedenen Entwicklerteams realisiert worden zu sein, unter anderem für BSD.

    Apple könnte somit problemlos selbst die Umsetzung der Bootfähigkeit bewerkstelligt haben. Das “Problem” könnten höchsens die PPC-Macs sein, da für das Booten eine besondere Funktion im EFI von Nöten ist, das heißt eine solche Funktion müsste man auch im Open Firmware der PPC Macs implementieren. Es gibt sicher auch noch andere Lösungen, wenn Apple das also haben will, werden sie ne Lösung finden.

    Antworten 
  •  supeermario sagte am 10. Juni 2007:

    wieder was gelernt… auch wenn ich nur einer bin, bei dem einfach nur alles funktionieren muss. ;-)

    Antworten 
  •  Mido sagte am 10. Juni 2007:

    Alte Macs mit PPC sind doch kein Problem. 1. gibt es solche neu gar nicht mehr zu kaufen, das heisst sie sterben aus, und 2. scherte sich Apple noch nie um Abwärtskompatibilität (vergleiche Mac-Vergangenheit).

    Antworten 
  •  ha sagte am 10. Juni 2007:

    2. scherte sich Apple noch nie um Abwärtskompatibilität (vergleiche Mac-Vergangenheit)

    Das ist definitiv falsch, vgl. den Umstieg von 68k- auf PowerPC und von OS 9 auf X. Mehr Abwärtskompatibilität konnte man da wohl kaum bieten.

    Antworten 
  •  @PimpYourMac sagte am 2. September 2009:

    @Marc3llo Zu diesem Thema empfehle ich einen alten aber guten Artikel: http://macnot.es/863 :) #ZFS

    Antworten 
  •  @PimpYourMac sagte am 2. September 2009:

    @Marc3llo Zu diesem Thema empfehle ich einen alten aber guten Artikel: http://macnot.es/863 :) #ZFS

    Antworten 

Kommentar verfassen

 0  Tweets und Re-Tweets
       0  Likes auf Facebook
         1  Trackback/Pingback
        1. ZVS und HFS Dateisysteme // 3CKIG am 10. Juni 2007
        Werbung
        © 2006-2013 MACNOTES.DE. Made with insanely great for all things Mac. Apple.de