Btrfs

Btrfs vs OpenZFS

Btrfs vs OpenZFS
Das Btrfs- oder B-Tree-Dateisystem ist der neueste Konkurrent von OpenZFS, dem wohl widerstandsfähigsten Dateisystem auf dem Markt. Beide Dateisysteme haben einige Gemeinsamkeiten, wie die Prüfsumme für Datenblöcke, Transaktionsgruppen und den Copy-on-Write-Mechanismus, wodurch sie beide auf Benutzergruppen abzielen. Was ist der Unterschied und welchen sollten Sie verwenden??

1. Copy-on-Write (COW)-Mechanismus

Beide Dateisysteme verwenden einen Copy-on-Write-Mechanismus. Das bedeutet, dass, wenn Sie versuchen, eine Datei zu ändern, keines der Dateisysteme versucht, die vorhandenen Daten auf der Festplatte mit den neueren Daten zu überschreiben. Stattdessen werden die neueren Daten an anderer Stelle geschrieben und sobald der Schreibvorgang abgeschlossen ist, zeigt das Dateisystem einfach auf die neueren Datenblöcke und die alten Blöcke werden im Laufe der Zeit recycelt. Dieser Mechanismus ermöglicht beiden Dateisystemen Funktionen wie Snapshots und Klonen.

COW verhindert auch Randfälle wie partielle Schreibvorgänge, die aufgrund von Kernel-Panik oder Stromausfall auftreten und möglicherweise Ihr gesamtes Dateisystem beschädigen können corrupt. Wenn COW vorhanden ist, ist entweder ein Schreibvorgang aufgetreten oder nicht, es gibt kein dazwischen.

2. Pooling und RAID

Beide Dateisysteme beabsichtigen, die Notwendigkeit eines Volume-Managers, Raids und anderer Abstraktionen, die zwischen dem Dateisystem und den Platten sitzen, zu eliminieren. Dies ist robuster und zuverlässiger als ein Hardware-RAID-Controller, einfach weil es einen einzelnen Fehlerpunkt eliminiert - den RAID-Controller selbst.

OpenZFS bietet einen stabilen, zuverlässigen und benutzerfreundlichen RAID-Mechanismus. Sie können zwischen Laufwerken spiegeln, verwenden Sie RAIDZ1, das Ihre Daten auf 3 oder mehr Festplatten mit einem Paritätsblock verteilt. So kann es pro Vdev bis zu 1 Festplatte ausfallen. In ähnlicher Weise kann RAIDZ2 4 oder mehr Festplatten verwenden und bis zu 2 Festplatten ausfallen, und ähnlich haben wir RAIDZ3.

Auch Btrfs hat diese Funktionen implementiert, der Unterschied besteht einfach darin, dass es RAID anstelle von RAIDZ und so weiter genannt wird. Einige kompliziertere RAID-Array-Setups wie RAID56 sind zum Zeitpunkt des Schreibens dieses Artikels fehlerhaft und nicht einsatzbereit.

3. Lizenzierung

Einer der Gründe, warum OpenZFS so spät in das GNU/Linux-Ökosystem eingeführt wurde, ist die Lizenzinkompatibilität mit GNU GPL. Ohne zu sehr ins Detail zu gehen, steht Btrfs unter GPL, was es Benutzern ermöglicht, Quellcode zu nehmen und zu ändern, aber die Änderungen sollten auch unter GPL veröffentlicht werden und Open Source bleiben.

OpenZFS hingegen wird unter CDDL lizenziert, was viel freizügiger ist und es Benutzern ermöglicht, Code mit einem größeren Freiheitsgrad zu ändern und zu verteilen.

4. Gemeinschaften und Unternehmen dahinter

OpenZFS hat eine riesige Community dahinter. FreeBSD-Community, Illumos-Community und viele andere Open-Source-Projekte setzen auf OpenZFS und tragen somit zurück zum Dateisystem. Es ist seit seiner Einführung in Bezug auf Codebasis, Benutzerbasis, Funktionen und Flexibilität um ein Vielfaches gewachsen. Unternehmen wie Delphix, iXsystems, Joyent und viele mehr verlassen sich darauf und lassen ihre Entwickler daran arbeiten, weil es eine Kernkomponente ihres Geschäfts ist. Viele weitere Organisationen verwenden OpenZFS möglicherweise ohne unser Wissen, dank der CDDL-Lizenz müssen sie nicht direkt sagen, dass sie es verwenden.

Btrfs hatte Red Hat als einen der wichtigsten Verwalter seiner Community. Dies hat jedoch vor einiger Zeit einen schweren Schlag erlitten, als Red Hat das Dateisystem veraltete. Dies bedeutet, dass Sie es in Zukunft in RHEL nicht mehr sehen werden und das Unternehmen keinen kommerziellen Support dafür bereitstellen wird. SUSE ist jedoch so weit gegangen, es zum Standard zu machen, und es gibt immer noch eine blühende Community hinter dem Dateisystem mit Beiträgen von Facebook, Intel und anderen 800-Pfund-Gorillas aus dem Silicon Valley.

5. Verlässlichkeit

ZFS war entworfen von Anfang an zuverlässig sein. Die Leute haben Zpools aus den frühen 2000er Jahren, die immer noch verwendbar sind und garantiert keine fehlerhaften Daten stillschweigend zurückgeben. Ja, es gab ein paar Probleme mit dem Verschwinden von Dateien für OpenZFS unter Linux, aber angesichts seiner langen Geschichte war die Erfolgsbilanz überraschend sauber.

Btrfs hingegen hatte von Anfang an Probleme. Mit fehlerhaften Schnittstellen, um Datenverlust und Dateibeschädigung zu beheben. Auch jetzt noch ist es ein bisschen ein Gespött in der Community. Mach daraus was du willst.

6. Unterstützte Betriebssysteme

Btrfs hat seinen Ursprung mit einem Dateisystem für Linux, während ZFS in Sun für Solaris OS konzipiert wurde. OpenZFS ist jedoch längst auf FreeBSD, Apples OS X, Open-Source-Derivate von Solaris portiert worden. Die Unterstützung für Linux kam etwas später als erwartet, aber sie ist da und Unternehmen verlassen sich darauf. Auch ein Projekt zur Ausführung unter Microsoft Windows macht einige Fortschritte, ist aber noch nicht ganz da.

Fazit: Ein Hinweis zu Monokulturen

All dieses Gerede kann Sie davon überzeugen, OpenZFS zu verwenden, um Ihre Daten zu schützen, und das ist keine schlechte Vorgehensweise. Es ist objektiv besser als Btrfs in Bezug auf Funktionen, Zuverlässigkeit, Community und vieles mehr. Auf lange Sicht ist dies jedoch möglicherweise nicht gut für die Open-Source-Community im Allgemeinen.

In einem ähnlichen Beitrag wie diesem spricht der Autor über die Gefährlichkeit von Monokulturen. Ich ermutige Sie, diesen Beitrag durchzulesen. Das Wesentliche ist dies - Optionen sind wichtig. Eine der größten Stärken von Open-Source-Software (und Software im Allgemeinen) besteht darin, dass wir mehrere Optionen haben, die wir übernehmen können. Es gibt Apache und dann gibt es Nginx, es gibt BSDs und Linux, es gibt OpenSSL und es gibt LibreSSL.

Wenn eine dieser Schlüsseltechnologien einen fatalen Fehler aufweist, wird die Welt nicht aufhören, sich zu drehen. Aber mit der Verbreitung von OpenZFS hat sich die Speichertechnologie zu einer Art Monokultur entwickelt. Daher möchte ich sehr gerne, dass die Entwickler und Systemprogrammierer, die dies lesen, nicht OpenZFS übernehmen, sondern Projekte wie Btrfs und HAMMER.

HD-Remastered-Spiele für Linux, die noch nie zuvor eine Linux-Version hatten
Viele Spieleentwickler und -herausgeber entwickeln HD-Remaster alter Spiele, um die Lebensdauer des Franchise zu verlängern. Bitte Fans, die Kompatibi...
So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...
So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...