Eine kurze Geschichte von OpenZFS und TrueNAS CORE®

ZFS

In diesen Artikeln versuchen wir Ihnen, eine kurze Einführung in OpenZFS und in TrueNAS CORE®, der beliebten Lösung von iXsystems zu geben. Unser Ziel ist es, Ihnen einige konzentrierte und leicht verständliche Informationen darüber zu vermitteln, wie OpenZFS und TrueNAS funktionieren, wie Sie das Potenzial Ihres TrueNAS-Servers mit OpenZFS nutzen und wie Sie die häufigsten Fallstricke vermeiden. Um diese Artikel nicht zu lang werden zu lassen, betten wir die Links in die von uns verwendeten Fachbegriffe ein. Fangen wir an…

Herkunft von ZFS

Das Zettabyte Filesystem (ZFS) ist ein skalierbares Dateisystem und ein Volume-Manager, den 2001 Matthew Ahrens und Jeff Bonwick während ihrer Arbeit für Sun Microsystems für das Betriebssystem Solaris entwickelt haben. Hauptziel war es, die Einschränkungen bestehender Dateisysteme zu überwinden, wie beispielsweise die Anzahl von zu hostenden Dateien zu erhöhen, die Speicherkapazität zu maximieren und mehrere Festplatten ohne zusätzliche Hardware zu verwalten.

ZFS bietet als skalierbares Dateisystem viele fortschrittliche Funktionen:

Stand von OpenZFS und ZFS unter Linux

Ursprünglich war ZFS ein Closed-Source-System, aber 2005 öffnete Sun Microsystems den Quellcode seines Solaris-Betriebssystems (der die ZFS-Codebasis enthielt) unter einer GPL-Lizenz: Das OpenSolaris-Betriebssystem war damit geboren.

Ein paar Jahre später kaufte Oracle Sun und schloss so diesen Zugang wieder. Zu diesem Zeitpunkt war der Quellcode jedoch schon seit geraumer Zeit offen zugänglich. Die Entwickler spalteten OpenSolaris schnell ab, und führten darauf hin illumos als alternatives Betriebssystem ein. Der ZFS-Teil des Codes portierten sie damit erfolgreich auf mehrere Open-Source-Unix-basierte Betriebssystemplattformen wie FreeBSD und macOS.

Im Jahr 2013 rief eine Gruppe von Entwicklern das OpenZFS-Projekt ins Leben, um die Entwicklungsarbeit zu koordinieren und eine Fragmentierung des Codes zu vermeiden. Ihre Initiative machte ZFS in Unix-ähnlichen Systemen weithin verfügbar – insbesondere unter FreeBSD. Schließlich hatten diese Entwickler den stabilsten und funktionsreichsten Zweig des Codes gepflegt, was wiederum dazu führte, dass man OpenZFS als ZFS on FreeBSD (ZoF) bezeichnete.

Da ihnen die gleiche Code-Basis zu Grunde liegt, ähneln sich OpenZFS und das ursprüngliche ZFS sehr stark. Wegen dieser Ähnlichkeit bezeichnen die Anwender es deshalb schlicht als ZFS. Die proprietäre Version von ZFS existiert derzeit übrigens nur im Betriebssystem Solaris. Alle anderen Plattformen verwenden OpenZFS oder ZFS on Linux (ZoL). Also jene Linux-Portierung von OpenZFS, die 2013 erstmals veröffentlicht wurde. Das ist auch der Grund, warum auch ZoF und ZoL unter Open-Source-Enthusiasten gewöhnlich als ZFS bezeichnet wird.

OpenZFS und ZFS verschmelzen unter Linux

ZoF blieb lange der führende Open-Source-Zweig von ZFS. Aber die zunehmende Popularität von Linux und seine relativ größere Benutzer- und Entwicklerbasis führten schließlich dazu, dass ZoL mit ZoF gleichzog. Die ZoF-Entwickler hingegen waren langsamer dabei, neuere Funktionen in ihre Version zu importieren, da sie sich auf die Stabilität des Dateisystems konzentrierten. Dieser Unterschied im Entwicklungstempo führte schnell dazu, dass ZoL bezüglich Funktionsumfang der überlegene Zweig wurde. So hatte es bereits Persistent L2ARC und Sequential Resilvering integriert.

Im Jahr 2019 war ZoL für viele führende Linux-Distributionen verfügbar und Mitte 2020 veröffentlichte Ubuntu – die beliebteste Linux-Distribution – die Version 20.04 LTS mit ZFS als Root-Dateisystem für das Betriebssystem.

Im Dezember 2020 und mit der Veröffentlichung von OpenZFS V2.0.0 gaben die Entwickler von ZoF bekannt, dass sie mit ZoL fusionieren und damit die jahrelange Trennung zwischen ZoL, ZoF und allen anderen Systemen beenden werden solle.

FreeNAS

Das FreeNAS-Projekt wurde im Jahr 2005 von iXsystems initiiert. Ursprünglich basierte es auf einer Mikro-Distribution von Linux. Im Jahr 2010 beschlossen die Entwickler, ihre Lösung auf FreeBSD umzustellen, um von dessen Stabilität und dem fortschrittlicheren ZFS-Code zu profitieren.

Trotz aller fortschrittlichen ZFS-Funktionen war es eine große Herausforderung, da es dieses System damals noch zu 100% kommandozeilenbasiert war. Dies führte zu einem eingeschränkten Nutzerkreis, da nur erfahrene Unix-Administratoren oder technisch versierte Enthusiasten das System benutzten. Diejenigen, die keine Kenntnisse in der Verwaltung von Unix-Shells hatten, blieben außen vor – eine unglückliche Situation.

Ein weiterer Stolperstein: ZFS war nach wie vor nur ein Dateisystem. Um einen Client mit einem ZFS-Server verbinden zu können und so Daten darauf zu speichern, fehlte immer noch ein gängiges Freigabeprotokoll. So mussten die Entwickler irgendwie NFS oder SMB auf diesem Server aktivieren, um ihn als Network Attached Storage (NAS) einsetzen zu können. Dieses Vorhaben geriet zu einer wahren Herausforderung, vor allem weil ZFS von den viel weniger populären Distributionen wie OpenSolaris übernommen wurde.

Deshalb hoben die Verantwortlichen FreeNAS aus der Taufe: Die stabile, auf ZFS basierende Open-Source-NAS-Lösung schloss die bestehende Handhabungs-Lücke mit einem benutzerfreundlichen Web-GUI. iXsystems stellte übrigens früher schon zwei Versionen seiner beliebten NAS-Lösung bereit, wobei TrueNAS als die (kostenpflichtige) Unternehmensversion und FreeNAS die (kostenlose) Open-Source-Version galt. Die Konsequenz daraus: Beiden Versionen hatten eine getrennte Code-Basis und auch unterschiedliche ISO-Images zur Installation.

TrueNAS CORE – Wo ist FreeNAS geblieben?

Im März 2020 kündigte iXsystems an, sowohl FreeNAS als auch TrueNAS in einem einzigen Software-Image und Namen zu konsolidieren, womit TrueNAS übrig blieb.

Zwei Versionen TrueNAS:

  • TrueNAS CORE: Sie beinhaltet die kostenlose Nutzung der Software mit uneingeschränktem Funktionsumfang und ohne Kapazitätsbegrenzung.
  • TrueNAS Enterprise: Diese Version erfordert eine Lizenz, um erweiterte Funktionen wie etwa Hochverfügbarkeit aktivieren zu können.

Demnach ist TrueNAS CORE der neue Name für FreeNAS. Also dieselbe Software, die bereits bei Hunderttausenden von Anwendern bewährt im Einsatz ist und das Vertrauen vieler IT-Experten gewonnen hat. Richtig konfiguriert bietet TrueNAS ein robustes und sicheres Speicher-Backend für viele Anwendungen, die Administratoren für das SOHO bis zu Multi-Terabyte-Unternehmenspools eingesetzten. Mit TrueNAS erhalten Sie außerdem die neueste Version von OpenZFS, die überdies die neuesten Datei-System Funktionen, Updates und Patches enthält.

TrueNAS unterstützt Windows-, macOS- und Unix-Clients sowie verschiedene Virtualisierungshosts wie XenServer und VMware. Zudem profitieren die Nutzer von einer breiten Palette an Protokollen wie SMB, AFP, NFS, iSCSI, SSH, rsync und FTP/TFTP. Zu den fortschrittlichen TrueNAS-Funktionen gehören außerdem die vollständige Verschlüsselung der Laufwerke sowie eine Plug-in-Architektur für Software von Drittanbietern.

Was bedeutet das?

Alle Neueinsteiger in ZFS auf TrueNAS CORE erhalten eine einheitliche und gut gewartete Variante des brillanten Datei-Systems – nämlich OpenZFS. Ferner kommen Sie relativ schnell in den Genuss der neuesten Funktionen, Leistungs- und Sicherheitsupdates von ZFS und müssen nicht darauf warten, bis externe Entwicklerteams sie veröffentlichen.

Timeline FreeNAS TrueNAS CORE OpenZFS
Eine kurze Zeitleiste der OpenZFS- und TrueNAS-Entwicklungen

Gründe für FreeNAS, TrueNAS CORE und OpenZFS

Block- und Dateifreigabe

Die Königsdisziplin von TrueNAS. Immerhin unterstützt TrueNAS alle wichtigen Betriebssysteme mit SMB/CIFS (Windows-Dateifreigaben), NFS (Unix-Dateifreigaben) und AFP (Apple-Dateifreigaben) sowie FTP, iSCSI (Blockfreigabe) und WebDAV zur gemeinsamen Nutzung von Daten über das Netzwerk. Die iSCSI-Implementierung unterstützt VMware VAAI, Microsoft ODX und Microsoft Windows Server 2008 und 2012 R2 Clustering.

Vorteil: Windows, macOS X, viele Linux-Distributionen und PC-BSD® können eine Verbindung über SMB-Freigaben herstellen, ohne dass eine zusätzliche Konfiguration auf der Client-Seite erforderlich ist. Die meisten Unix-ähnlichen Betriebssysteme unterstützen die Verbindung mit NFS von Haus aus, und kostenlose Clients sind weithin verfügbar. AFP wird hauptsächlich von macOS X verwendet und eignet sich gut für eine Netzwerkumgebung mit Macintosh-Clients. TrueNAS® unterstützt sogar Time Machine-Backups.

Datenschutz

ZFS ist von Anfang bis Ende auf Datenintegrität ausgelegt. Das dort verwendete RAID-Z bietet als Software-RAID den Single-Parity-Schutz wie RAID 5, jedoch ohne an der berüchtigten „Schreiblücke“ zu scheitern. Diese Schwachstelle vermeidet ZFS nämlich durch seine fortschrittliche Copy-on-Write-Architektur. Die zusätzlichen Level RAID-Z2 und RAID-Z3 bieten sogar den doppelten bzw. dreifachen Paritätsschutz. TrueNAS bringt überdies eine Spiegelungsoption via Software mit. Der Pool-Manager-Bildschirm von TrueNAS listet jede mögliche Paritätsanordnung auf, basierend auf der Anzahl der Festplatten, die Sie beim Erstellen eines neuen Volumes auswählen.

Jedes ZFS-Dateisystem wird außerdem von oben nach unten mit Prüfsummen verifiziert, um die Datenintegrität zu gewährleisten. Wenn Inkonsistenzen gefunden werden, können Paritätsblöcke verwendet werden, um beschädigte Daten zu reparieren. Einen regelmäßigen Datenabgleich aktiviert das System zudem per Default. Der Benutzer kann ihn aber auch bequem über die Webschnittstelle konfigurieren und planen.

Snapshots

Dank ZFS können Admins jederzeit Snapshots des gesamten Dateisystems erstellen und speichern. Solange ein Snapshot existiert, lassen sich Dateien und ganze Datensätze dort wiederherstellen, wo sie zum Zeitpunkt der Erstellung des Snapshots waren.

Snapshots erstellt das System einmalig oder in bestimmten Zeitabständen via Weboberfläche. Das gesamte Dateisystem setzt der Benutzer jederzeit auf Wunsch auf den letzten Snapshot zurück. Wobei Klones ältere Snapshots dem Anwender dabei helfen, Daten aus dieser Version des Dateisystems wiederherzustellen. Über die Weboberfläche sehen die Administratoren, wie viel Speicherplatz ein bestimmter Snapshot auf dem Volume belegt. Er ist überdies in der Lage bei Bedarf einzelne Snapshots zu löschen, zu klonen oder zurückzusetzen.

Replikation

ZFS-Snapshots stellen mehr als nur lokale Backups dar – sie dienen auch der Erstellung von Remote-Backups. Das Replizieren von Snapshots des Dateisystems auf ein entferntes ZFS-Dateisystem erzeugt dort also ein vollständiges Duplikat. Darüber hinaus fungieren zusätzliche Snapshots desselben Dateisystems als inkrementelle Backups, wodurch sich deren Größe auf die Änderungen reduziert, die zwischen den Snapshots vorgenommen wurden. Im Falle einer katastrophalen Beschädigung eines lokalen ZFS-Dateisystems (z. B. Festplattenausfall über den Paritätsschutz hinaus oder unwiederbringlicher Ausfall eines Protokollgeräts) kann jeder gesicherte Snapshot an ein neues ZFS-Dateisystem gesendet werden, wobei sich alle Daten bis zu dieser Sicherung wiederherstellen lassen.

Verschlüsselung

TrueNAS ist das erste und einzige Open-Source-Projekt, das Verschlüsselung auf ZFS-Volumes bietet! Bei der Erstellung des Volumes steht eine Option zur Verschlüsselung des gesamten Volumes zur Verfügung, die eine dem Industriestandard entsprechende AES-XTS-Verschlüsselung bietet. Zudem ist eine Hardwarebeschleunigung aktivierbar, wenn der Prozessor AES-NI-fähig ist.

Verschlüsselte Volumes können nur von TrueNAS-Systemen gelesen werden, die im Besitz des Master Keys für dieses Volume sind. Der Benutzer erstellt optional eine Passphrase, um sein System zusätzlich vor Verlust oder Diebstahl zu schützen.

Die Verschlüsselung schafft Vertrauen bei der Ausmusterung und dem Recycling von Festplatten, da die Laufwerke nicht mehr gelöscht werden müssen, sofern die Hauptschlüssel unkenntlich gemacht wurden.

Web-Schnittstelle

Das Ziel von TrueNAS ist es, komplexe Verwaltungsaufgaben für seine Benutzer zu vereinfachen. Jeder Aspekt eines TrueNAS-Systems kann über seine Web-Benutzeroberfläche verwaltet werden. Ein Einrichtungsassistent vereinfacht die Konfiguration bei der Installation oder später im Einrichtungsprozess weiter. Die Erstellung von Datasets und Volumes, das Anlegen von iSCSI LUNs, das Festlegen von Berechtigungen für einzelne Freigaben oder das Einspielen von Software-Updates – all das kann erledigt werden, ohne dass ein wichtiger Schritt übersehen wird oder ein stiller Fehler auftritt.

Alle Dienste sind konfigurierbar und viele von ihnen verfügen über erweiterte Optionen, die durch Klicken auf die Schaltflächen Bearbeiten > Erweitert geändert werden können.

Neben dem übersichtlichen Web-Interface steht Ihnen die volle Leistungsfähigkeit der FreeBSD-Shell-Umgebung über die GUI als auch über SSH zur Verfügung. Letztendlich macht TrueNAS die NAS-Bereitstellung einfacher als je zuvor und steht dabei nicht zwischen Ihnen und der von Ihnen angestrebten Lösung.

Screenshot FreeNAS TrueNAS CORE OpenZFS
Die TrueNAS-GUI. Ein rationalisiertes Verwaltungscockpit für Ihren ZFS-Storage-Server.

Im nächsten Beitrag werden wir die Architektur von ZFS besprechen und versuchen, einige der gängigen Begriffe zu entschlüsseln.


Brauchen Sie eine Beratung?

Kontaktieren Sie uns hier unverbindlich

Starline Kontakt

Noch Fragen? Kontaktieren Sie uns.

Der ausgewiesene Experte für alle Linux- und Ceph-Plattformen kam 2018 zu Starline. Seine Vorliebe gilt raffinierten Open-Source-Lösungen und kniffligen Produktentwicklungen. Deshalb steht er auch für Anfragen bezüglich PetaSAN und FreeNAS bereit. Aber auch ARM-Server von Ambedded oder Mac-Betriebssysteme haben es ihm angetan. Privat befasst sich der Ingenieur gern mit 3D-Druckern und Robotern.

Mohammad Ammar
Technik