Seit Oktober 2020 ist FreeNAS mit TrueNAS verschmolzen. Als Ergebnis dieser Fusion steht mit TrueNAS 12.0 CORE ein kostenfreies Betriebssystem für Netzwerkspeicher bereit, das sich hinter den kommerziellen Konkurrenten nicht zu verstecken braucht. Wir werfen im Workshop einen Blick auf die Inbetriebnahme und Features wie Cloudsynchronisation und Einbindung von Drittanwendungen.
Der FreeNAS-Nachfolger TrueNAS [1] gilt als eines der beliebtesten Open-Source-Speichersysteme. Ihren guten Ruf verdankt die Umgebung der vorbildlichen Kombination aus Funktionalität und Benutzerfreundlichkeit. Den Einstieg in die TrueNAS-Welt erlaubt die freie Variante TrueNAS CORE. Unternehmen, die zusätzlichen Support wünschen, greifen zu einer der beiden Alternativen Enterprise oder Scale (siehe Kasten "TrueNAS-Editionen").
TrueNAS CORE eignet sich für alle Unternehmen, die einen zentrale Storage-Server benötigen, auf dem Datei-, Block-, Objekt- und Anwendungsdaten abgelegt werden sollen. Allen drei Editionen ist gemein, dass sie über das Managementtool "TrueCommand" verfügen. Dahinter verbirgt sich ein Webinterface, das eine einheitliche Schnittstelle zu allen TrueNAS-Systemen bereitstellt – das können auch die vom Hersteller angebotenen eigenen Hardware-NAS-Systeme sein.
TrueNAS im Überblick
Als das Herzstück einer Storage-Umgebung gilt die symbiotische Paarung eines Dateisystems mit den physischen Speichermedien. Anbieter iX Systems hat sich für das ZFS-Dateisystem entschieden, da es hohe Sicherheitsstandards erfüllt und gängige Speichermedien effektiv verwaltet. ZFS gilt als besonders ausfallsicher – laut Angaben der Entwickler kann ein korrekt konfiguriertes TrueNAS-System den Ausfall mehrerer Speichermedien tolerieren und sogar ein Bootmedium mit einer Kopie der Konfigurationsdatei neu generieren. In der eigenen Hardware verbaut iX Systems Platten von Western Digital.
Der FreeNAS-Nachfolger TrueNAS [1] gilt als eines der beliebtesten Open-Source-Speichersysteme. Ihren guten Ruf verdankt die Umgebung der vorbildlichen Kombination aus Funktionalität und Benutzerfreundlichkeit. Den Einstieg in die TrueNAS-Welt erlaubt die freie Variante TrueNAS CORE. Unternehmen, die zusätzlichen Support wünschen, greifen zu einer der beiden Alternativen Enterprise oder Scale (siehe Kasten "TrueNAS-Editionen").
TrueNAS CORE eignet sich für alle Unternehmen, die einen zentrale Storage-Server benötigen, auf dem Datei-, Block-, Objekt- und Anwendungsdaten abgelegt werden sollen. Allen drei Editionen ist gemein, dass sie über das Managementtool "TrueCommand" verfügen. Dahinter verbirgt sich ein Webinterface, das eine einheitliche Schnittstelle zu allen TrueNAS-Systemen bereitstellt – das können auch die vom Hersteller angebotenen eigenen Hardware-NAS-Systeme sein.
TrueNAS im Überblick
Als das Herzstück einer Storage-Umgebung gilt die symbiotische Paarung eines Dateisystems mit den physischen Speichermedien. Anbieter iX Systems hat sich für das ZFS-Dateisystem entschieden, da es hohe Sicherheitsstandards erfüllt und gängige Speichermedien effektiv verwaltet. ZFS gilt als besonders ausfallsicher – laut Angaben der Entwickler kann ein korrekt konfiguriertes TrueNAS-System den Ausfall mehrerer Speichermedien tolerieren und sogar ein Bootmedium mit einer Kopie der Konfigurationsdatei neu generieren. In der eigenen Hardware verbaut iX Systems Platten von Western Digital.
Für Administratoren stellt sich zunächst eine bekannte Frage: Soll die Storage-Umgebung reale Hardware verwenden oder auf einer Virtualisierungsplattform fußen? Nach Ansicht von iX Systems ist die Hardwarevariante zu präferieren, wenngleich TrueNAS sich auch virtualisieren lässt. Sollten Sie sich für die Virtualisierung entscheiden, dann achten sie darauf, dass TrueNAS den Speichercontroller steuern kann. Außerdem sollten Sie automatische Bereinigungspools auf dem virtuellen Speicher deaktivieren.
Die Entwickler weisen explizit auf den hohen Bedarf an Arbeitsspeicher hin. Der Grund: Die Umgebung teilt den dynamischen Arbeitsspeicher zwischen Sharing-Diensten, Plug-ins, Jails (dazu später mehr) und virtuellen Maschinen. Deshalb sollten Sie sich vor der Inbetriebnahme besondere mit der RAM-Bestückung des TrueNAS-Systems beschäftigen. iX Systems empfiehlt mindestens 8 GByte RAM für grundlegende TrueNAS-Operationen mit bis zu acht Laufwerken. Für jedes weitere hinzugefügte Laufwerk sollten Sie jeweils 1 GByte einplanen. Wenn Sie VMs sichern wollen, rät der Anbieter zur Verwendung von 16, 32 oder mehr GByte Arbeitsspeicher.
Inbetriebnahme von TrueNAS
Die Installation von TrueNAS gestaltet sich einfach, da die Entwickler eine ISO-Datei zum Download bereitstellen, die Sie zur Hardware- und VM-basierten Installation verwenden können. Planen Sie größere Installationen, sollten Sie die Hardwarevoraussetzungen anhand des Hardware Guide für die CORE-Variante [2] prüfen. Der Installationsprozess ist durch die Wahl der Installationsvariante und des Zielmediums sowie das Einrichten der Root-Passworts bestimmt. Routinierte Administratoren können hier nichts falsch machen. Wenn Sie sich für die VM-Varianten entscheiden, sollten Sie für das virtuelle Storage-System mindestens 8 GByte RAM vorsehen. Abhängig von der Netzwerkkonfiguration verwenden Sie den Netzwerktyp "NAT, Bridged" oder "Host-only" für eine Standalone-Installation.
Nach dem Abschluss der Installation ist ein Neustart der Umgebung notwendig. Über das konsolenbasierte Setup nehmen Sie grundlegende Einstellungen vor. Das Menü öffnet sich zum Abschluss des Bootvorgangs automatisch. Das Konsolensetup führt auch die URL auf, unter der das Webinterface ansprechbar ist. Die Einrichtung erlaubt Ihnen zudem die Anpassung der Netzwerkkonfiguration, der Link-Aggregation, der VLAN-Interfaces, der Standardroute und des DNS. Auch ein Reset zur Wiederherstellung der Basiskonfiguration ist möglich.
Bezüglich der Konfiguration von TrueNAS müssen sich Administratoren ein wenig umstellen, denn über das Konsolenmenü sind lediglich die bisher genannten Netzwerkeinstellungen, ein Reset, ein Reboot und das Herunterfahren der Umgebung möglich. Für weitergehende Systemanpassungen ist immer das Webinterface zuständig. Standardmäßig werden Änderungen auf Konsolenebene nicht in die Einstellungsdatenbank geschrieben. Daher gehen alle in der Befehlszeile vorgenommenen Änderungen verloren und werden auf die ursprünglichen Datenbankeinstellungen zurückgesetzt, wenn Sie das System neu starten.
TrueNAS-Editionen
Den einfachen Einstieg in die TrueNAS-Welt erlaubt die freie Software TrueNAS CORE, der FreeNAS-Nachfolger. Diese Basisvariante läuft auf fast jedem x86_64-System und bietet eine solide Storage-Funktionalität. Dank Plug-in-Architektur lässt sich das Basissystem um Applikationen wie Plex, NextCloud und Asigra erweitern.TrueNAS Enterprise zielt auf Hochverfügbarkeit und wird vorzugsweise auf mehreren Controllern bereitgestellt. Die Entwickler bieten hier spezielle Supportpakete. In Verbindung mit der Hardware der TrueNAS-M-Serie skaliert es auf 15 GByte/s und 20 Pbyte.TrueNAS SCALE ist das jüngste Mitglied der Familie. Diese Variante bietet Hyper-Converged Infrastructure einschließlich Linux-Containern und VMs. Es beinhaltet die Option, Systeme zu clustern und Scale-out-Speicher mit Kapazitäten von bis zu Hunderten PByte bereitzustellen. Unter [3] stellen die Entwickler einen detaillierten Vergleich der TrueNAS-Varianten bereit.
Beim Systemstart versucht TrueNAS automatisch, eine Verbindung mit einem DHCP-Server herzustellen. Wenn Sie in Ihrem Netzwerk mDNS (Multicast Domain Name Services) verwenden, können Sie auch den Host-Namen oder eine Domäne angeben. TrueNAS ist so konfiguriert, dass es standardmäßig den Host-Namen und die Domäne "truenas.local" verwendet. Über das Webinterface können Sie im Menü "Network / Global Configuration" alternative Hostnamen und Domains spezifizieren.
Nach dem Abschluss der Installation des Basissystems loggen Sie sich über die im Konsolensetup angegebene URL ein. Verwenden Sie den Benutzernamen "root" und das zuvor spezifizierte Passwort. Um in den Genuss der vollständigen Funktionalität des Webinterfaces zu gelangen, sollten Sie Cookies und die Ausführung von Java-Script zulassen. Für den Zugriff empfehlen die Entwickler den Browser Firefox.
Nach dem Login präsentiert Ihnen die Storage-Umgebung das TrueNAS-Dashboard, das verschiedene Basisinformationen zur installierten Version, der Nutzung von Systemkomponenten und dem Netzwerkverkehr anzeigt. Es bietet Zugriff auf alle Verwaltungsoptionen von TrueNAS. In der obersten Reihe befinden sich Links zu externen Ressourcen und Schaltflächen zur Steuerung des Systems. Über das linksseitige Navigationsmenü greifen Sie auf die verschiedenen Funktionsbereiche zu. Die Schaltfläche neben dem iX-Systems-Logo zeigt die TrueCommand-Verbindungsoptionen. Der Kopfzeile können Sie Informationen über laufende Prozesse, die Abarbeitung aktueller Aufgaben und relevante Warnungen entnehmen.
Bild 1: Das übersichtliche Webinterface von TrueNAS erlaubt die Administration sämtlicher TrueNAS-Speichersysteme.
Konfigurieren des Speichers
Jetzt, da Sie die Umgebung grundlegend eingerichtet haben, können Sie sich ersten Speicheraufgaben zuwenden. Anhand eines einfachen Beispiels zeigen wir das typische Procedere bei der Speicherkonfiguration. Im vorliegenden Fall legen wir eine gespiegelte Poolkonfiguration an, wobei das eine Speichermedium für die Speicherung der Daten zuständig ist und das andere als Spiegel dient. Dazu benötigen wir zunächst zwei ausreichend dimensionierte Festplatten. Theoretisch kann ein Pool nur aus einem Medium bestehen, doch ist das aus nachvollziehbaren Gründen nicht zu empfehlen.
Für ein solches Setup klicken Sie auf "Storage / Pools" und erzeugen mit einem Klick auf "New Pool" eine neue Konfiguration. Weisen Sie dieser eine Bezeichnung zu. Unter "Available Disk" markieren Sie die Medien und verschieben diese in das Feld "Data VDevs". VDevs sind virtuelle ZFS-Geräte. Ein oder mehrere physische Laufwerke fasst das System zu einem ZFS-kompatiblen VDev-Typ zusammen. Mit einem Klick auf "Suggested Layout" kann TrueNAS die verfügbaren Festplatten prüfen und das primäre Daten-VDev mit Laufwerken identischer Größe in einer ausgewogenen Konfiguration zwischen Speicherkapazität und Datenredundanz füllen. TrueNAS schlägt automatisch "Mirror" als optimales Layout für maximale Datenspeicherung und bestmögliche Datensicherheit vor.
Neue Pools besitzen einen sogenannten Root-Datensatz, der eine weitere Unterteilung in neue Datasets oder ZFS-Vol-umes (Zvol) ermöglicht. Bei einem Dataset handelt es sich um ein Dateisystem samt spezifischen Berechtigungen, ein Zvol ist ein virtuelles Blockgerät mit einer vordefinierten Speichergröße. Um eine dieser Varianten zu generieren, entscheiden Sie sich im Pool Manager für die Option "Add dataset" beziehungsweise "Add Zvol".
Bild 2: Im Pool Manager verwaltet der Administrator die Speichermedien.
Zugriff freigeben
Nachdem Sie einen ersten Storage-Pool angelegt haben, ist es an der Zeit, diesen für die gemeinsame Nutzung freizugeben. Da in den meisten Infrastrukturen Windows-Clients das Bild bestimmen, ist der SMB-basierte Zugriffstyp der wichtigste. Die entsprechende Konfiguration gestaltet sich einfach. Zunächst müssen Sie die Berechtigungen anpassen. Dazu klicken Sie auf "Storage / Pools" und wählen das Dataset, das sie für den netzwerkweiten Zugriff freigeben wollen. Klicken Sie nun auf das Einstellungen-Symbol und dann auf "Edit Permissions". In der Spalte "Access Control List" wählen Sie ein geeignetes ACL-Preset aus und öffnen es mit "Open". Mit "Save" sichern Sie die Einstellung.
Wechseln Sie danach zu "Sharing / Windows Shares (SMB)" und klicken Sie auf "ADD", um die Samba-Freigabe einzurichten. Hier müssen Sie lediglich den Pfad und eine Bezeichnung angeben. Beim Pfad handelt es sich um das gewünschte TrueNAS-Verzeichnis, das das SMB-Protokoll für den Client-Zugriff verwendet. Mit einem Klick auf "SUBMIT" sichern Sie die SMB-Konfiguration. Befinden sich das TrueNAS-System und der Windows-Client im gleichen Netzwerk, ist ein Zugriff von Seiten des Clients wie gewohnt über den Windows Explorer möglich.
Wenn Sie eine Unix-basierte Ablage generieren wollen, müssen Sie zunächst auf Seiten der Clients sicherstellen, dass das Paket "nfs-common" verfügbar ist. Das Procedere ähnelt dem voran beschriebenen. Allerdings wählen Sie "Sharing / Unix Shares (NFS)" und bestätigen die Wahl mit "ADD". Im Dateibrowser bestimmen Sie die Dataset-Konfiguration und klicken auf "SUBMIT". Bestätigen Sie die Konfiguration mit "ENABLE SERVICE". Um den Zugriff auf einen Unix-basierten Client zu konfigurieren, öffnen Sie die Kommandozeile und führen Sie den Befehl showmount -e <IP-Adresse des TrueNAS-Systems> aus, also etwa
showmount -e 192.168.178.200
Die Antwort sollte so aussehen:
Export list for 192.168.178.200: /mnt/pool1/testdataset
Legen Sie als Nächstes ein lokales Verzeichnis für den NFS-Mount an:
sudo mkdir nfstemp/
Schließlich müssen Sie das freigegebene Verzeichnis noch mounten:
sudo mount -t nfs 192.168.178.200:/mnt/pool1/testds nfstemp/
Mit dem Befehl "cd" wechseln Sie dann in den lokalen Ordner und nehmen dort die gewünschten Datenaktionen vor.
Das bringt TrueNAS 13
TrueNAS 13 steht seit Februar 2022 als Beta-Version zum Download zur Verfügung. Version 13 verspricht drei zentrale Verbesserungen: Neben einer Aktualisierung auf OpenZFS 2.1 haben die Entwickler Optimierungen für große Systeme mit intensiver Festplattennutzung angekündigt. Außerdem bietet TrueNAS eine verbesserte Unterstützung der Machine Check Architecture. Weitere Details sind unter [4] einsehbar.
Benutzerimport und Feinjustierung
Wie es sich für ein professionelles Speichersystem gehört, verfügt TrueNAS über umfangreiche administrative Funktionen. Als Unix-basierte Umgebung erfolgt die Benutzerverwaltung im Unix-Stil. Verwenden Sie in Ihrer Umgebung bereits einen Verzeichnisdienst, können Sie die bestehenden Kontoinformationen bequem importieren. Die Funktionen der Benutzer- und Gruppenverwaltung finden Sie im Menü "Accounts".
Weitere systemübergreifenden Konfigurationsmöglichkeiten entnehmen Sie dem Menü "System / General". Hier setzen Sie eine breite Palette von Systemanpassungen um, beispielsweise die Änderung der Webschnittstellenadresse, die Anpassung der Lokalisierungsoptionen und Datenerfassung bis hin zu den Self-Encrypted-Drives-, Konsolen- und Speicheroptionen. Und sollte Ihnen das Design des Standard-Webinterfaces nicht zusagen, können Sie über "General Preferences / CREATE NEW THEME" eine neue Vorlage bauen.
Auf der Startseite der TrueNAS-Administration finden Sie in der rechten Kopfzeile den Taskmanager, der Ihnen Informationen zu den laufenden Prozessen liefert. TrueNAS verfügt außerdem über ein Warnsystem, das visuelle Alarme beim Erreichen kritischer Zustände ausgibt. Eine weitere wichtige Funktion ist die Reportfunktion, die Ihnen Visualisierungen von verschiedenen Messwerten bereitstellt. Dabei greift TrueNAS auf die Visualisierungs-App Graphite zurück. Sie liefert Ihnen Einblicke in die Auslastung von CPU, Festplatten, Speicher, Netzwerk und das Dateisystem. Um noch weiter in die Tiefen des Systems einzutauchen, steht über TrueCommand die Webshell zur Verfügung.
Cloudsynchronisation einrichten
TrueNAS stellt nicht nur netzwerkweit Dateidienste bereit, sondern eignet sich auch als Backupumgebung – und zwar für nahezu beliebige Datenquellen. Die Umgebung bietet grundsätzlich verschiedene Optionen zur Datensicherung. Im Cloudzeitalter ist die Cloudsynchronisierung eine der zentralen Anforderungen an eine Sicherungslösung. TrueNAS unterstützt Dienste von Amazon S3, Google Cloud und Microsoft Azure sowie eine Vielzahl weiterer Anbieter.
Sie können TrueNAS so konfigurieren, dass Daten in die Cloud zu senden, von dort zu empfangen oder mit einem Clouddienst zu synchronisieren sind. Über das Einrichten einer Cloud-Sync-Aufgabe übertragen Sie Daten einmalig oder richten einen wiederkehrenden Zeitplan zur kontinuierlichen Datensicherung ein. Im ersten Schritt tragen Sie die Anmeldeinformationen ein. Dazu gehen Sie über "System / Cloud Credentials / ADD", weisen dem neuen Eintrag eine Bezeichnung zu und wählen über das Drop-down-Menü den Anbieter aus. Abhängig vom Dienstleister geben Sie die Authentifizierungsoptionen an. Bestätigen Sie die Eingaben mit "VERIFY CREDENTIAL" und einem abschließenden Klick auf "SUBMIT".
Zur Definition relevanter Aktionen führen Sie nun "Tasks / Cloud Sync Tasks" aus und klicken auf "ADD". Mit den gespeicherten Anmeldedaten befüllen Sie den Abschnitt "Remote". Im Auswahlmenü "Direction" bestimmen Sie mit "PUSH" beziehungsweise "PULL" die Transferrichtung. Legen Sie außerdem unter "Transfer Mode" mit "COPY" den Übertragungsmodus fest. Es folgt die Wahl der Quell- und Zielverzeichnisse. Mit den Steuerungsoptionen definieren Sie unter "Control" den Zeitplan für die Ausführung. TrueNAS erlaubt mit "DRY RUN" die Durchführung eines Testdurchlaufs. Mit "RUN NOW" starten Sie den ersten Sicherungsvorgang. Dem Protokoll entnehmen Sie anschließend den Status der Sicherung.
Drittanwendungen und VMs anflanschen
Wie andere Netzwerkspeicher ist auch TrueNAS für das Zusammenspiel mit Drittanwendungen vorbereitet, die Sie beispielsweise als Plug-in oder Jail integrieren können. Bei Jail handelt es sich um ein eingeschränktes FreeBSD-Betriebssystem, das als separate Untergruppe von TrueNAS installiert wird. Grundsätzlich können Jails eine Vielzahl von Programmen bereitstellen und auf sehr spezifische Anwendungsfälle abstimmen. Sie erfordern allerdings eine gewisse Routine beim Umgang mit FreeBSD und der Kommandozeile.
Die Ausführung von Drittapplikationen erfolgt stets losgelöst vom Netzwerkspeicher selbst. Etwaige Sicherheitslücken gefährden daher weder die Ausführung von TrueNAS noch machen Sie die Umgebung anfällig. Bei Plug-ins handelt es sich um vorgefertigte Applikationen, die für das Zusammenspiel mit TrueNAS konzipiert sind. Einige dieser Erweiterungen stellt iX Systems selbst bereit, andere kommen aus der Open-Source-Community.
Exemplarisch wollen wir am Beispiel des Plex-Mediaservers den Umgang mit TrueNAS-Plug-ins zeigen. Erzeugen Sie zunächst ein Dataset namens "Audio" und eines mit Namen "Video" – beide Mountpoints werden von Plex verwendet. Dazu wechseln Sie in das Menü "Plugins" und führen die Installation des Mediaservers durch. Wichtig ist, dass Sie die Bootoption "Up" setzen. Anschließend legen Sie im Plug-in-Setup die Mountpoints fest und passen die ACL-Einstellungen an. Nach der Installation der Erweiterung hinterlegen Sie über "Manage" die Logindaten für Plex. Damit ist der Mediaserver in die TrueNAS-Umgebung integriert und von den Netzwerkclients aus nutzbar.
Bei der Verwendung von Plug-ins, die eine Netzwerkschnittstelle verwenden, ist eine Besonderheit zu beachten: Sie müssen das Hardware-Offloading unter "Network / Interface" deaktivieren. Dies kann allerdings die allgemeine Netzwerkleistung für diese Schnittstelle verringern. Aus diesem Grund empfehlen die Entwickler die Verwendung einer sekundären Schnittstelle für Anwendungsumgebungen.
Weiterhin können Sie in TrueNAS auch VMs installieren, vorausgesetzt, diese stehen als ISO-File zur Verfügung. Das Procedere gestaltet sich einfach: Wechseln Sie zu "Virtual Machines" und klicken Sie auf "ADD". Das System startet einen VM-Wizard, der Sie durch die verschiedenen Schritte zur Auswahl des Betriebssystems, Zuweisung von CPU und Speicher, Festplatten, Netzwerkschnittstelle und Installationsmedium führt. Der Ablauf entspricht im Wesentlichem dem, was Sie von VirtualBox & Co. kennen. Zum Abschluss der VM-Konfiguration bestätigen Sie die Einstellungen mit "SUBMIT".
Der Zugriff auf die zuvor generierte VM erfolgt über das Menü "Virtual Machines". Hier können Sie das betreffende Betriebssystem wie gewohnt installieren. Haben Sie ein CD-ROM-Laufwerk für die Installation des ISO-Images verwendet, sollten Sie dieses nach der erfolgreichen VM-Inbetriebnahme über das Einstellungen-Menü entfernen.
Fazit
TrueNAS macht seinem Namen alle Ehre – es handelt sich um ein "echtes" NAS-System, das dank des Webinterfaces einfach zu administrieren ist. Die Basisfunktionen sind schnell eingerichtet und bieten eine solide Storage-Funktionalität. Dank des Plug-in-Mechanismus lässt sich die Umgebung auch schnell für das Zusammenspiel mit anderen Anwendungen nachrüsten.