• IT-Karriere:
  • Services:

Ein Raid ersetzt kein Backup

Doch nicht nur durch Raid eignet sich ZFS gerade für Server und NAS-Systeme. Das Dateisystem unterstützt beispielsweise Snapshots, die den derzeitigen Zustand eines Laufwerks als Backuppunkt abspeichern. Beim initialen Erstellen benötigen Snapshots keinen Platz auf dem Speichermedium. Jedoch wird der benötigte Speicherplatz mit jeder veränderten, erzeugten oder verschobenen Datei innerhalb des vom Snapshot abgedeckten Datensets vergrößert.

Stellenmarkt
  1. Insight Health GmbH & Co. KG, Waldems
  2. Kommunale Unfallversicherung Bayern, München

Der von Snapshots belegte Speicher ist read only, belegt also permanent Speicher auf dem Datenträger, der nicht modifiziert werden kann. Das ist nur logisch, wollen wir doch keine Inkonsistenzen in Snapshots haben. Denn damit ist es beispielsweise möglich, einen älteren Zustand des abgebildeten Laufwerks wiederherzustellen.

Es sollte allerdings beachtet werden: Da Snapshots phyisch nah an den Quelldaten liegen, sollten wir dies nicht als volles Backup betrachten. Per zfs send und zfs receive können Snapshots auf externe Laufwerke ausgelagert und von dort wieder zurückgespielt werden. Diese Replikationsfunktion ermöglicht ein weitaus effizienteres Backup auf komplett unabhänige und physisch getrennte Storage-Systeme.

ZFS ermöglicht Snapshots, da es ein Copy-on-write-Dateisystem ist. Beim Überschreiben einer Datei kopiert es die neuen Daten zuerst an eine andere Stelle und löscht die ursprünglichen Daten nicht direkt, wie es beispielsweise bei NTFS und ext4 der Fall ist. Sollte das eigene System beim Schreibvorgang abstürzen, ist es so etwa weniger wahrscheinlich, dass Daten verloren gehen.

Allerdings hat dieser Prozess auch einen Nachteil: Ein in ZFS formatiertes Laufwerk sollte nicht zu 100 Prozent mit Daten belegt sein. Administratoren sprechen auch von der 80-Prozent-Regel. Danach sollten 20 Prozent der Festplatte oder SSD frei bleiben. Der Youtube-Channel 45 Drives hat dies wohl bereits getestet und festgestellt, dass die Leistungseinbußen eines ZFS-Laufwerks in der Praxis aber erst ab etwa 85 bis 90 Prozent Belegung auftreten. Trotzdem: Bei großen Applikationen mit vielen physischen Datenträgern - etwa ein großer Fileserver - sollte dies bei einer Kostenrechnung beachtet werden.

Wie andere Dateisysteme auch, nutzt ZFS für die Prüfung gespeicherter Dateien Checksummen - in diesem Fall sind diese 256 Bit groß. Sie werden aber nicht zusammen mit den Daten im gleichen Block abgespeichert. Stattdessen werden sie unabhängig von Dateien abgelegt - in über den Datenblöcken liegenden Eltern-Datenblöcken. Das Dateisystem legt dazu mehrere übergeordnete Blöcke an, in denen Informationen zu den Positionen einzelner Daten und eben deren Checksummen für die Prüfung auf ihre Richtigkeit abgelegt werden.

Jeder Eltern-Block im ZFS-Storage-Pool ist an mehreren Stellen auf dem Datenträger redundant abgelegt und wird seinerseits wieder von der Checksumme in einer Ebene darüber abgesichert. Die Daten selbst sind dabei auf der untersten Ebene des Baumes, den Blättern, abgelegt. Die Wurzel des Baumes ist der sogenannte Überblock, der in sehr vielen Kopien abgelegt wird. Dieses Prinzip wird Merkle-Baum genannt.

Was der Haltbarkeit von SSDs und HDDs zugutekommt, ist die sogenannte Deduplizierung. Mit Hilfe dieser Funktion werden Daten, die bereits an anderer Stelle auf dem Datenträger vorhanden sind, nicht noch einmal komplett neu geschrieben. Stattdessen legt das System einfach nur einen Zeiger an, der auf den Standort der abgelegten Datenblöcke verweist. Das spart Schreibvorgänge und mindert dadurch den Verschleiß der Hardware. Nicht nur ZFS beherrscht diese Technik, allerdings kann es Deduplizierung schon während eines Schreibvorgangs, also inline, durchführen und muss dies nicht im Nachgang mit einem separaten Task erledigen, das kostet allerdings Rechenleistung.

Das Verschlüsseln von Daten auf Laufwerken ist in ZFS genauso möglich wie auf vielen anderen Dateisystemen auch. Es ermöglicht zusätzlich die Kompression von Dateien, beispielsweise durch lz4. Das kann sehr viel Speicherplatz auf den Datenträgern einsparen, benötigt allerdings zusätzliche CPU-Leistung, wie das IT-Magazin Servethehome in der Praxis testen konnte.

Die Alternative für viele Linux-Nutzer ist Btrfs

Wie anfangs erwähnt, ist ZFS derzeit kein Teil eines Linux-Kernels, da es zum einen von Oracle unter geschlossener Lizenz entwickelt wird und zum anderen als OpenZFS-Projekt, an dem dezentral einige Community-Mitglieder arbeiten.

Unter anderem deshalb hat sich das B-Tree File System Btrfs entwickelt, das derzeit Teil von Suse Enterprise Linux ist und seit der Version 12 dort sogar als Standard verwendet wird. Es ist zudem Teil des Linux-Kernels und muss nicht über separat unterstützte Tools installiert werden. Funktional ist das Dateisystem mit ZFS eigentlich identisch, bis auf eine fehlende Inline-Deduplizierung. Auch hier können Raid-Verbunde, Snapshots und Mirroring genutzt werden, wobei auch hier Copy-on-write im Zentrum der Funktionalität steht.

Ein großes Unternehmen, das Btrfs in angepasster Form in seinen eigenen Rechenzentren verwendet, ist Facebook. Das soziale Netzwerk beschäftigt ein ganzes Entwicklerteam, das nur für das Dateisystem zuständig ist. Der Vorteil: Es wird dadurch ständig und täglich und im weitreichenden praktischen Einsatz weiterentwickelt. Obwohl Btrfs noch vergleichsweise jung ist, hat es dadurch Potenzial, in seiner Reife und Stabilität ZFS irgendwann zu überholen.

Derzeit teilen sich die beiden Dateisysteme jedoch ihre Nutzerbasis auf. Free-BSD-Systeme wie Heim-NAS-Server oder einige Geräte von Netzwerkanbietern werden weiterhin ZFS verbreiten. Die Linux-Community verwendet lieber Btrfs. Fakt ist: Beide Dateisysteme sind in Sachen Sicherheit und Datenstabilität anderen Systemen voraus, sei es Microsofts NTFS oder Exfat, ext4 und andere Standards.

Auch Apple entwickelt mit dem Apple File System APFS ein Dateisystem, das einige Funktionen von ZFS und Btrfs unterstützt - allem voran Snapshots und die Copy-on-Write-Mechanik. Was hier fehlt, ist etwa die Möglichkeit, redundante RAID-Systeme aufzuspannen und eine von den Daten unabhängige Fehlererkennung durch Checksummen.

Dort, wo es möglich ist: Administratoren sollten ernsthaft in Betracht ziehen, eines der beiden Dateisysteme in ihrer Netzwerkumgebung zu verwenden. Wie wir erfahren, ist anfangs einige Arbeit notwendig, sich darin zurechtzufinden. Es lohnt sich aber: Wir können mit Snapshots Backups erstellen, können unsere Daten mit einem Dateisystem-Raid redundant speichern und wir können uns sicher sein, dass wir es mit weniger Datenverlust während Schreibvorgängen oder durch Bitkorrumpierung zu tun haben.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 ZFS erklärt: Ein Dateisystem, alle Funktionen
  1.  
  2. 1
  3. 2


Anzeige
Spiele-Angebote
  1. 16,99€
  2. 23,99€

MightySpiderX 29. Apr 2020

Wenn man ein älteres Backup hat von dessen Account man das Passwort kennt, dann das...

robinx999 02. Jan 2020

Der Post ist aber auch schon recht alt Also zumindest wirklich schlafen tut es nicht...

schily 28. Nov 2019

Es geht um das VFS im Linux Kern, das nativ dermaßen schlecht ist, daß man damit ZFS...

Profi_in_allem 18. Nov 2019

Der Nickel, der die PC-Report Bücher um die Jahrtausendwende geschrieben hat? :)

chewbacca0815 15. Nov 2019

Was bitte haben interner Arbeitsspeicher(!) und Datenübertragungsqualität im Netzwerk...


Folgen Sie uns
       


    •  /