Mit TrueNAS Core 12, der Weiterentwicklung von FreeNAS 11.3, unterstützt das BSD-NAS bereits die neuen Funktionen von OpenZFS.
Das Kürzel NAS steht für Network Attached Storage und bezeichnet Server im Netz, die üblicherweise per RAID redundant abgesicherte Speicherkapazitäten bereitstellen. Zunehmend steht NAS aber auch für die Medienzentrale im heimischen LAN, die von jedem Punkt der Welt aus zu erreichen ist. Hersteller wie Qnap und Synology bieten dafür die passende Hard- und Software an.
In der Open-Source-Szene bauen viele Anwender ihr NAS lieber mit vorhandener oder zugekaufter Hardware und freier Software selbst auf. Im LU 11/2017 [1] haben wir bereits einen ausführlichen Blick auf die drei Open-Source-NAS-Distributionen FreeNAS, OpenMediaVault und Rockstor geworfen.
Alter Bekannter
Als aktueller Neuzugang gesellt sich dazu nun TrueNAS Core 12 [2]. Ein Zusammenhang ergibt sich über die Tatsache, dass TrueNAS Core 12 bis vor Kurzem FreeNAS hieß. Hinter FreeBSD und somit hinter FreeNAS steht seit 2009 die eng mit der BSD-Historie verbundene Firma iXsystems, die die Software jetzt umbenannt hat und künftig unter dem neuen Namen weiterentwickelt.
Bereits seit fast zehn Jahren vertreibt das kalifornische Unternehmen FreeNAS mit bezahltem Support als TrueNAS, das ab jetzt TrueNAS Enterprise heißt. Die Varianten Core und Enterprise setzen in Zukunft zu 95 Prozent auf dieselbe Codebasis, was die Entwicklung vereinfacht und beschleunigt.
Skalierbar
Neu vorgestellt wurde im Sommer das nicht auf BSD, sondern auf GNU/Linux Debian aufsetzende TrueNAS Scale, das den Eintritt in die professionelle Welt der Cluster und skalierender Workloads eröffnet [3]. iXsystems nutzt die NAS-Distributionen unter anderem als Anreiz für sein Hauptgeschäft in Form von passenden Servern und Storage-Hardware für die private Cloud [4]. Neben der BSD-Variante plant das Unternehmen im nächsten Jahr eine Linux-Version von TrueNAS Core, die dann voraussichtlich das im Frühsommer erwartete GNU/Linux Debian 11 “Bullseye” als Grundlage nutzt.
Das Unternehmen folgt damit dem Modell, das Red Hat zum Erfolg führte. Die Software steht für alle Nutzer frei zum Herunterladen bereit und läuft auf beliebiger x86-Hardware mit 64-Bit-Architektur. Unternehmen buchen bei Bedarf bezahlte Unterstützung hinzu, zusätzlich vertreibt iXsystems die Software vorinstalliert auf der hauseigenen Hardware.
Mitte Oktober wurde TrueNAS Core 12 in stabiler Form veröffentlicht. Core steht hier stellvertretend für die Attribute Community Supported, Open Source, Rapid Development und Early Availabilty. Die Veröffentlichung besiegelt nicht nur offiziell das Ende von FreeNAS, sondern liefert den ersten offiziellen Auftritt von OpenZFS 2.0, ehemals ZFS on Linux (ZoL).
Auftritt OpenZFS 2.0
OpenZFS 2.0 stammt von Matt Ahrens, Mitentwickler von ZFS bei Sun Microsystems und Gründer von OpenZFS. Das Projekt [5] legte 2019 die Entwicklung von ZFS für FreeBSD und Linux in ein gemeinsames Repository zusammen. Für das 2021 eingeplante OpenZFS 3.0 ist bereits Unterstützung von MacOS X angedacht.
Die gemeinsame Codebasis für FreeBSD und Linux erleichtert nicht nur die Arbeit der Entwickler, sondern kommt auch den Anwendern zugute. Sie ermöglicht etwa künftig, ZFS-Pools zwischen beiden Systemen auszutauschen sowie gepackte und verschlüsselte Daten sehr effizient zwischen Linux und TrueNAS hin und her zu schieben.
Die vereinheitlichte Codebasis soll zusammen mit OpenZFS 2.0 bei TrueNAS Core 12 erste Früchte tragen, denn sie bildet als Dateisystem das Herzstück der Distribution. Es vereint durch OpenZFS unter anderem den Logical Volume Manager (LVM) [6] und ein Software-RAID mit einem Copy-on-Write-Dateisystem (CoW) [7].
OpenZFS 2.0 schont dabei durch reduzierte Zugriffe auf die Speichermedien die Ressourcen stärker als der Vorgänger, was die CPU- und RAM-Auslastung angeht. Auch das Bereitstellen des ZFS-Pools geht nun etwas schneller und mündet mit den anderen Maßnahmen in einer höheren Arbeitsgeschwindigkeit.
ZFS wies längere Zeit beim Einsatz von SSDs Nachteile gegenüber dem jüngeren Dateisystem Btrfs auf. Die sollen mit OpenZFS 2.0 ausgeräumt sein, unterstützt es doch jetzt auf sogenannten Fusion-Pools aus VDEVs (Virtual Devices) das Cachen von Deduplizierungstabellen und Metadaten für den schnelleren Zugriff. Für einen Fusion-Pool benötigen Sie neben den Datenplatten eine oder mehrere kleine SSDs, die Sie beim Aufsetzen des Pools als Fusion-Pool definieren.
Zudem bietet OpenZFS 2.0 nun auch asynchrones TRIM, was die Zeit beim Löschen und Freigeben des Speicherplatzes auf SSDs beschleunigt. Um Datenverluste zu vermeiden, sollten Sie sich vor Gebrauch der neuen Funktionen, die OpenZFS 2.0 im Gegensatz zum früheren ZFS bei FreeBSD unterstützt, gewissenhaft einlesen. Besonders Zstd im Zusammenhang mit Deduplizierung ist hier kritisch.
Neu bei TrueNAS ist auch OpenVPN, das als Client und Server integriert ist. Wenn Sie also bereits OpenVPN in Ihrem Netzwerk betreiben, verbinden Sie sich bei Bedarf mit dem neuen Client darauf. Ansonsten setzen Sie den OpenVPN-Server als Host in Ihrer TrueNAS-Instanz auf.
Verschlüsselt
TrueNAS 12 beherrscht als einzige Open-Source-Lösung das native Verschlüsseln von ZFS-Volumes mittels AES-XTS sowie Zwei-Faktor-Authentifizierung. Zudem unterstützt es das KMIP-Protokoll zum Verwalten von Anmeldeinformationen, auch in der Community-Version. Über die sogenannte TrueCommand Cloud lassen sich mehrere TrueNAS-12-Instanzen durch den Einsatz eines WireGuard-VPN zentral administrieren.
Auch in öffentlichen und privaten Clouds lässt sich TrueNAS einbinden. Unter System | Cloud-Anmeldeinformationen stehen 17 Anbieter und Protokolle zur Auswahl. Dazu gehören unter anderem Amazon S3, Box, Dropbox, Google Cloud Storage, Google Drive, Microsoft Azure, OpenStack sowie HTTP, FTP, SFTP und WebDAV.
Snapshots, also Abbilder des Systems zum Zeitpunkt des Erstellens, erstellen Sie jederzeit manuell oder zeitgesteuert per Cron. Diese Snapshots lassen sich lokal als Backup abspeichern oder auf eine andere beliebige Instanz mit ZFS-Dateisystem replizieren. Der Rollback eines Snapshots innerhalb des Systems benötigt dabei nur wenig Zeit.
Hardware-Anforderungen
Die Hardware-Anforderungen von TrueNAS Core 12 listet der Hersteller auf seiner Homepage auf [8]. Als absolutes Minimum gelten 8 GByte RAM; die Empfehlung lautet, so viel wie möglich zu verwenden. Neben den Festplatten, die die zu verwaltenden Daten aufnehmen, braucht es für TrueNAS Core selbst eine kleine HDD oder besser eine SSD mit mindestens 16 GByte Kapazität.
Die Installation des Systems auf einem hochwertigen USB-Stick funktioniert zwar, wird aber offiziell nicht empfohlen. Für den Datenspeicher raten die Entwickler zu HDDs mit CMR (Conventional Magnetic Recording) im Gegensatz zum moderneren SMR (Shingled Magnetic Recording) [9].
Bei den Dateisystemen unterstützt TrueNAS Ext2/3, FAT, NTFS, UFS und ZFS. Der Zugriff über das Netzwerk kann via CIFS, FTP, NFS, SFTP, SCP, SMB, Rsync und iSCSI erfolgen. Der Server lässt sich mithilfe von SMART und über Protokolldateien überwachen. Bei den Schnittstellen für Festplatten unterstützt TrueNAS PATA, SATA, SCSI, USB und Firewire. Virtuelle Maschinen lassen sich ebenfalls einbinden. Jedes mit TrueNAS verwendbare Dateisystem wird mit Prüfsummen zur Datenintegrität versehen. Für die redundante Datenhaltung bietet TrueNAS CORE RAID-Z1 bis -Z3.
Virtualbox anpassen
Wir haben TrueNAS 12 testweise in Virtualbox installiert. Die Vorgehensweise unterscheidet sich etwas vom Starten der üblichen Images von Linux-Distributionen. Das beginnt bei der Rubrik Allgemein. Hier gehen Sie auf BSD und wählen FreeBSD (64bit). In der Rubrik Massenspeicher erstellen Sie neben einer Festplatte mit mindestens 16 GByte für das System zwei SATA-Festplatten beliebiger Größe als Datenspeicher.
Schließlich stehen weitere Einstellungen in der Rubrik Netzwerk an. Unter Adapter**1 stellen Sie Host-only Adapter ein. Im Namensfeld darunter sollte nun vboxnet0 stehen. Ist das nicht der Fall und können Sie auch keinen Namen auswählen, müssen Sie den Adapter zunächst erzeugen.
Dazu wechseln Sie oben im Hauptmenü zu Datei | Host-only Netzwerk-Manager und erzeugen vboxnet0. Danach sollte der Adapter in den Netzwerkeinstellungen erscheinen; über ihn verbinden Sie sich später zur TrueNAS-Bedienoberfläche im Browser. Für den Adapter 2, den Sie zunächst aktivieren müssen, tragen Sie NAT ein. Darüber verbindet sich das System mit dem Netz (Abbildung 1).

Abbildung 1: Es erfordert einige zusätzliche Schritte, um TrueNAS erfolgreich in Virtualbox zu installieren. Neben den zusätzlichen Festplatten für das RAID betrifft das unter anderem die Sektion Netzwerk.
Text-Installer
Damit sind die Vorbereitungen erledigt. Laden Sie das zuvor heruntergeladene ISO-Abbild von TrueNAS Core 12 in das optische Laufwerk von Virtualbox, und starten Sie den Bootvorgang. TrueNAS ist kein Live-Medium, es startet der textbasierte Installer. Hier wählen Sie aus den drei angebotenen Laufwerken mit der Leertaste das oberste mit der Bezeichnung ada0 aus (Abbildung 2).

Abbildung 2: Der TrueNAS-Installer ist zwar textbasiert, aber einfach zu bedienen. Sie wählen dort die Festplatte für das System aus; um die Speichermedien kümmern Sie sich später in der Webschnittstelle.
Nach einigen weiteren Abfragen, wie etwa zum Erstellen eines Passworts, erhalten Sie nach wenigen Minuten die Meldung, dass die Installation beendet ist. In der Maske zum Neustart gibt es noch einen kleinen Fehler, sodass Sie die VM manuell beenden müssen.
Nach dem Entfernen des Abbilds starten Sie neu und warten nun einige Minuten, während die automatische Initialisierung der Installation abläuft. An deren Ende erhalten Sie eine Class**A IP wie 10.x.y.z und eine Class**C IP in der Form 192.168.x.y (Abbildung 3). Letztere übertragen Sie in einen Webbrowser und gelangen so in die Login-Maske der Webschnittstelle von TrueNAS. Dort melden Sie sich als User root mit dem das bei der Installation erstellten Geheimnis als Passwort an.

Abbildung 3: Nach der Installation und einem Neustart erfolgt die Initialisierung von TrueNAS. An deren Ende erhalten Sie unter anderem eine IP in der Form http://192.168.x.y, die Sie im Browser eingeben und damit das Dashboard starten.
Kommandozentrale
Es begrüßt Sie nun das Dashboard von TrueNAS, in dem Sie Systeminformationen zur CPU, dem RAM und den Netzwerkschnittstellen sowie das Icon eines noch zu erstellenden ZFS-Pools finden. Optisch unterscheidet sich TrueNAS Core 12 zunächst nicht sonderlich vom Vorgänger: Es verwendet die Oberfläche von FreeNAS 11, die letztes Jahr mit Googles Web-Application-Framework Angular neu entwickelt wurde (Abbildung 4). Sagt Ihnen das TrueNAS-Branding nicht zu, kehren Sie in den Einstellungen über das Zahnrad oben rechts und Auswahl der Option Retro-Logo zum gewohnten FreeNAS-Branding zurück. Optional administrieren Sie TrueNAS aber auch ganz ohne Web-Interface.

Abbildung 4: Das aufgeräumte Web-Interface von TrueNAS bietet neben einem Überblick im Dashboard in der Seitenleiste Zugriff auf die weiteren Einstellungen.
Im Dashboard gilt es beim Netzwerk noch zwei kleine Änderungen vorzunehmen. Notieren Sie die IP-Adresse, die das System bei em0 anzeigt, und öffnen Sie die zugehörige Konfiguration durch einen Klick auf das Zahnrad. Entfernen Sie den Haken bei DHCP, und tragen Sie unten die IP-Adresse ein, die bei Virtualbox vermutlich 192.168.56.101 lautet. Damit legen Sie eine statische IP-Adresse für diese VM fest. Bei em1 machen Sie das Gegenteil, indem Sie DHCP aktivieren. Nun ist TrueNAS bereit.
Unter System | General stellen Sie die Lokalisierung auf Deutsch und die entsprechenden Standards um. Anschließend legen Sie unter Speicher | Pools einen Pool aus den beiden erzeugten Festplatten ada1 und ada2 an und vergeben einen Namen sowie die gewünschten Attribute. Damit haben Sie ein RAID-Z1 erstellt, das Ihre Daten ziemlich ausfallsicher auf die beiden Platten dupliziert (Abbildung 5).

Abbildung 5: Das Erstellen eines Pools als RAID-Z1 ist einfach: In der Maske markieren Sie die beiden Festplatten, vergeben einen Namen für den Pool, und übernehmen ihn durch einen Klick auf den nach rechts zeigenden Pfeil.
Dabei ist Spiegel für das RAID voreingestellt. Durch Auswahl von Stripe verwenden Sie beide Festplatten ohne RAID und damit ohne Redundanz. In den Einstellungen des Pools lassen sich über VDEVs hinzufügen die bereits erwähnten Fusion-Pools einrichten. Alternativ importieren Sie einen bestehenden Pool.
Pools und Datasets
Daten legt das System innerhalb des Z-Pools in Datasets ab (Abbildung 6). Sie ersetzen die herkömmlichen Partitionen und bieten wesentlich mehr Flexibilität [10]. Sie belegen nur so viel Platz im Pool, wie die dort gespeicherten Daten tatsächlich benötigen. Die als Grenzen festgelegten Quotas lassen sich dynamisch anpassen. Jedem Dataset dürfen Sie unterschiedliche Eigenschaften mitgeben. Sie können ineinander verschachtelt werden und vieles mehr (Abbildung 7).

Abbildung 6: Ein verschlüsselter Z-Pool namens grey mit zwei ineinander verschachtelten Datasets. Das gerade unverschlüsselte Kind-Dataset erbt die Eigenschaften des Mutter-Datasets Media.

Abbildung 7: Fusion-Pools auf kleinen SSDs agieren als Cache für Metadaten und Deduplizierungstabellen, und beschleunigen so den Zugriff. Sie sind vergleichbar mit der früher beliebten SSD-Caching-Technologie, einer Kombination aus HDD und SSD.
Nach dem Erzeugen des Pools erstellen Sie unter Konten nach Bedarf User und Gruppen sowie ein Home-Verzeichnis. Hier hängen Sie den Namen des erstellten Pools in der Form /mnt/home/User/Name an. Für den Admin sollten Sie eine E-Mail-Adresse hinterlegen und den E-Mail-Versand konfigurieren. Damit sind die wichtigsten Schritte für den Einstieg absolviert, und Sie können sich weiter mit dem System vertraut machen.
Dabei lernen Sie unter anderem das Plugin-System kennen, über das Sie TrueNAS in verschiedene Richtungen erweitern. Es stehen offizielle sowie Community-Plugins bereit, die das System unter anderem mit Asigra Backup, Nextcloud, Plex Media Server, Calibre Web, Emby, Syncthing, Grafana, Heimdall sowie einigen Git-Anbietern erweitern. Die einzelnen Plugins organisiert das System getrennt vom Kern des Betriebssystens in Containern in Form von BSD-Jails (Abbildung 8).

Abbildung 8: TrueNAS bietet offizielle und Community-Plugins zum Erweitern des Funktionsumfangs an. Das System isoliert dabei die einzelnen Plugins in voneinander getrennten BSD-Jails.
Fazit
TrueNAS Core 12 macht bei der effektiven Nutzung von ZFS mit der Integration von OpenZFS 2.0 gegenüber der letzten Version FreeNAS 11.3 einen großen Schritt nach vorn. Selbst die freie Core-Edition bietet Funktionen, die gehobene Ansprüche abdecken. Setzen Sie bereits FreeBSD 11.x ein, ist bei der Aktualisierung jedoch Vorsicht geboten. Ein YouTube-Video führt durch den Prozess [11].
Eine Anleitung zur Installation auf echter Hardware finden Sie auf der Webseite von Storage Review [12]. Dort gibt es auch ein Online-Video mit einem Entwickler von iXsystems, der die neuen Funktionen von TrueNAS Core ausführlich erläutert. Bei offenen Fragen bieten die Dokumentation [13] sowie das Community-Forum [14] ausführliche Hilfe zur Selbsthilfe. (cla)
Infos
-
NAS-Distributionen im Vergleich: Ferdinand Thommes, “Farbe bekennen”, LU 11/2017, S. 20, https://www.linux-community.de/39643
-
TrueNAS CORE 12: https://www.ixsystems.com/blog/truenas-12-0-is-released
-
TrueNAS Scale: https://linuxnews.de/2020/06/truenas-scale-vorgestellt
-
iXsystems Hardware: https://www.ixsystems.com/storage/
-
OpenZFS: https://linuxnews.de/2019/11/openzfs-buendelt-die-zfs-entwicklung
-
Download: https://www.truenas.com/docs/hub/initial-setup/install/getting-started/#hardware-requirements
-
Datasets: https://de.wikibooks.org/wiki/ZFS_auf_Linux/_Dataset
-
Migration von FreeBSD: https://www.youtube.com/watch?v=SsxvPhlOiYI
-
Installation auf Blech: https://www.storagereview.com/review/how-to-install-truenas-core
-
Dokumentation: https://www.truenas.com/docs






Hab die Kisten früher auch immer selbst gebaut aber bin bequem geworden und hab mir bei truenas.de die Mini XL für zuhause bestellt :)