Werbung
Checksum-Support
Magnetische Festplatten gehören inzwischen zu den anfälligsten Teilen eines Computer-Systems. Da hier die meisten Datenfehler auftreten, besitzt ZFS einen integrierten Checksum-Support. Dazu wird eine 32-Bit-Prüfsumme zusammen mit einem 256-Bit-Hash verwendet. Wird der entsprechende Datenblock gelesen, werden die Daten über diesen Mechanismus verifiziert. Datenfehler werden so schon auf Dateisystem-Ebene erkannt und können gegebenenfalls behoben werden. Zudem ergibt dieses System einen deutlich zuverlässigeren Überblick über den Zustand der Festplatte, als dies der S.M.A.R.T.-Status tut.
Daten, die bereits vorhanden sind und verändert werden, werden nicht einfach überschrieben. Stattdessen wird ein neuer Block angelegt, die Veränderungen geschrieben und diese dann verifiziert. Metadaten des zu überschreibenden Blocks werden übernommen und zum neuen Block hinzugefügt. So steht noch immer eine alte Version des Datenblocks zur Verfügung, falls bei der Bearbeitung des aktuellen etwas nicht korrekt abläuft und die Daten nicht geschrieben werden können.
Snapshot
Wohl das wichtigste und revolutionärste Feature von ZFS sind die sogenannten Snapshots. Dabei wird vom "lebenden" Dateisystem ein Schnappschuss angefertigt - das Dateisystem wird im aktuellen Zustand eingefroren. Dieser Vorgang nimmt aber keinerlei Zeit in Anspruch, da die Dateien sich ja bereits auf der Festplatte befinden. Im Anschluss werden einfach nur noch die Veränderungen geschrieben. Snapshots lassen sich auch in andere zPools übertragen und erlauben so ein einfaches Backup des File-Systems bei möglichst geringer Datenmenge.
Gerade im Vergleich zu anderen Backup-Lösungen zeigen sich die Vorteile der Snapshots. Nehmen wir einmal Time-Machine von Mac OS X. Verändert sich hier eine 1 GB große Datei, so wird beim nächsten Backup die komplette 1 GB große Datei gesichert. Erfolgen diese Veränderungen in regelmäßigen Abständen, würde dies bei einer stündlichen Sicherung ein gewaltiges Datenaufkommen nach sich ziehen. Die Snapshots von ZFS arbeiten auf Dateiblock-Ebene und speichern eben nur die Veränderungen der Datei. Dies spart Datenplatz und erlaubt auch schnelle Sicherungen bzw. deren Übertragung.