Willkommen zu dieser umfassenden Anleitung! Wenn Sie leistungsstarken und zuverlässigen Netzwerkspeicher benötigen und die Stabilität sowie Flexibilität von Ubuntu Server schätzen, sind Sie hier genau richtig. In diesem Artikel zeigen wir Ihnen, wie Sie TrueNAS, eine führende Open-Source-Speicherlösung, erfolgreich auf einem System installieren und konfigurieren, das bereits Ubuntu Server als Basis verwendet. Diese Kombination ist ideal für Heimlabore, kleine Unternehmen oder jeden, der die Vorteile von ZFS-Speicherverwaltung und vielseitigen Dateifreigabediensten nutzen möchte, während er gleichzeitig die Kontrolle über ein vertrautes Linux-System behält.
Was ist TrueNAS und warum auf Ubuntu Server?
TrueNAS (ehemals FreeNAS) ist ein robustes und funktionsreiches Network Attached Storage (NAS)-Betriebssystem, das auf FreeBSD basiert. Es bietet eine Vielzahl von Diensten wie Dateifreigaben (SMB/CIFS, NFS, AFP), iSCSI-Ziele, integrierte Datenreplikation, Snapshots und das Herzstück: das hochmoderne ZFS-Dateisystem. ZFS ist bekannt für seine Datenintegrität, Skalierbarkeit und Leistungsfähigkeit, was es zur ersten Wahl für kritische Speicheranwendungen macht.
Normalerweise wird TrueNAS direkt auf Bare-Metal-Hardware installiert. Doch es gibt gute Gründe, es stattdessen auf einem System mit Ubuntu Server zu betreiben. Die häufigste und praktischste Methode hierfür ist die Virtualisierung. Indem Sie TrueNAS als virtuelle Maschine (VM) auf Ihrem Ubuntu Server hosten, können Sie:
- Die Hardware-Ressourcen des Systems effizienter nutzen, indem Sie Ubuntu Server für andere Aufgaben (z.B. Docker-Container, Webserver) verwenden, während TrueNAS den Speicher verwaltet.
- Die Flexibilität von Ubuntu Server beibehalten, insbesondere wenn Sie mit Linux-Umgebungen vertrauter sind.
- Einfache Verwaltung von VMs mit Tools wie KVM/QEMU und virt-manager.
- Möglicherweise ältere Hardware wiederverwenden oder ein einziges, leistungsstarkes System für mehrere Zwecke nutzen.
Es ist wichtig zu verstehen, dass wir TrueNAS nicht *in* Ubuntu Server integrieren, sondern es *als eigenständiges Betriebssystem* *auf* Ubuntu Server laufen lassen, und zwar in einer virtuellen Maschine. Dies ermöglicht TrueNAS, seine volle Funktionalität, insbesondere mit ZFS, zu entfalten.
Voraussetzungen und Hardware-Empfehlungen
Bevor wir mit der Installation beginnen, stellen Sie sicher, dass Ihr System die folgenden Anforderungen erfüllt:
Hardware-Anforderungen:
- CPU: Ein moderner Mehrkernprozessor (Intel oder AMD) wird dringend empfohlen. TrueNAS selbst ist nicht extrem CPU-intensiv, aber ZFS und zusätzliche Dienste profitieren von mehr Kernen.
- RAM: Dies ist der wichtigste Aspekt für TrueNAS, insbesondere mit ZFS. TrueNAS empfiehlt mindestens 8 GB RAM für eine Grundinstallation. Für jeden zusätzlichen Terabyte (TB) Speicherkapazität wird 1 GB RAM empfohlen. Wenn Sie vorhaben, Deduplizierung oder anspruchsvolle Anwendungen zu nutzen, sollten Sie 16 GB oder mehr in Betracht ziehen. Denken Sie daran, dass sowohl Ubuntu Server als auch die TrueNAS-VM RAM benötigen.
- Boot-Laufwerk für Ubuntu Server: Eine SSD (Solid State Drive) mit mindestens 60 GB ist ideal für das Host-Betriebssystem.
- Dediziertes Boot-Laufwerk für TrueNAS VM: Eine kleine virtuelle Festplatte (z.B. 16-32 GB) auf der Ubuntu-Host-SSD ist ausreichend. Alternativ können Sie eine separate kleine SSD für TrueNAS direkt an die VM durchreichen.
- Datenlaufwerke für TrueNAS: Hier kommen Ihre eigentlichen Speicherplatten ins Spiel. Dies sollten separate physische Festplatten sein, die nicht vom Ubuntu Server für sein Dateisystem verwendet werden. Für optimale Leistung und Datenintegrität sollten diese Laufwerke direkt an die TrueNAS-VM weitergegeben werden (Disk Passthrough). SATA- oder SAS-Laufwerke sind gängig. Planen Sie mindestens zwei für einen redundanten Pool (z.B. Mirror oder RAID-Z).
- Netzwerk: Eine stabile Gigabit-Ethernet-Verbindung ist ein Muss für ein NAS. Mehrere NICs können für Link Aggregation oder getrennte Netzwerke nützlich sein.
Software-Voraussetzungen:
- Ubuntu Server: Eine frische Installation der neuesten LTS (Long Term Support)-Version (z.B. 22.04 LTS) wird empfohlen.
- Internetverbindung: Für Updates und die Installation von Paketen.
- TrueNAS CORE ISO: Laden Sie die neueste Version von der offiziellen TrueNAS-Website herunter.
Schritt 1: Vorbereiten des Ubuntu Server für Virtualisierung (KVM)
Zuerst müssen wir den Ubuntu Server für die Virtualisierung mit KVM (Kernel-based Virtual Machine) und QEMU vorbereiten. KVM ist die native Virtualisierungslösung für Linux und bietet hervorragende Leistung.
1.1 System aktualisieren
Stellen Sie sicher, dass Ihr Ubuntu Server auf dem neuesten Stand ist:
sudo apt update
sudo apt upgrade -y
sudo reboot
1.2 KVM und notwendige Pakete installieren
Installieren Sie KVM, QEMU und libvirt (eine API für die Verwaltung von Virtualisierungsplattformen) sowie Bridge-Utilities für die Netzwerkkonfiguration:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst -y
1.3 Benutzer der libvirt-Gruppe hinzufügen
Fügen Sie Ihren Benutzer zur Gruppe libvirt
hinzu, um VMs ohne sudo
verwalten zu können. Ersetzen Sie <IhrBenutzername>
durch Ihren tatsächlichen Benutzernamen:
sudo adduser <IhrBenutzername> libvirt
sudo adduser <IhrBenutzername> kvm
Melden Sie sich ab und wieder an (oder starten Sie das System neu), damit die Änderungen wirksam werden.
1.4 Netzwerk-Bridge konfigurieren
Eine Netzwerk-Bridge ermöglicht es Ihrer TrueNAS-VM, direkt auf Ihr lokales Netzwerk zuzugreifen, als wäre sie ein physisches Gerät. Dies ist essentiell für NAS-Funktionen.
Bearbeiten Sie die Netzwerk-Konfigurationsdatei. Unter modernen Ubuntu-Versionen (Netplan) finden Sie diese typischerweise unter /etc/netplan/*.yaml
. Suchen Sie die Datei (z.B. 00-installer-config.yaml
) und bearbeiten Sie sie:
sudo nano /etc/netplan/00-installer-config.yaml
Der Inhalt könnte ursprünglich so aussehen:
network:
ethernets:
enpXs0: # Ihr primäres Netzwerk-Interface
dhcp4: true
version: 2
Ändern Sie ihn, um eine Bridge (br0
) zu erstellen und Ihr physisches Interface (enpXs0
) zu dieser Bridge hinzuzufügen. Ersetzen Sie enpXs0
durch den Namen Ihres primären Netzwerk-Interfaces (finden Sie mit ip a
) und passen Sie die IP-Adresse, Gateway und DNS-Server an Ihr Netzwerk an. Eine statische IP-Adresse ist für den Server dringend empfohlen:
network:
ethernets:
enpXs0:
dhcp4: no
optional: true # Optional, wenn Sie möchten, dass der Host auch ohne Bridge bootet
bridges:
br0:
interfaces: [enpXs0]
dhcp4: no
addresses: [192.168.1.10/24] # Statische IP für den Host
routes:
- to: default
via: 192.168.1.1 # Ihr Gateway
nameservers:
addresses: [192.168.1.1, 8.8.8.8] # Ihre DNS-Server
version: 2
Speichern Sie die Datei (Strg+O
, Enter
) und schließen Sie den Editor (Strg+X
).
Wenden Sie die Änderungen an:
sudo netplan apply
Überprüfen Sie, ob die Bridge erstellt wurde und die Netzwerkkonnektivität funktioniert: ip a
sollte jetzt br0
mit der konfigurierten IP-Adresse anzeigen. Pingen Sie Ihr Gateway oder eine externe Website.
Schritt 2: Die TrueNAS VM erstellen
Wir verwenden virt-install
, ein Kommandozeilen-Tool, das eine Vielzahl von Optionen für die VM-Erstellung bietet und gut skriptbar ist. Alternativ können Sie virt-manager
(ein grafisches Tool) verwenden, wenn Sie eine Desktop-Umgebung installiert haben oder X-Forwarding nutzen.
2.1 TrueNAS ISO in den richtigen Pfad verschieben
Legen Sie die heruntergeladene TrueNAS ISO-Datei in das Standardverzeichnis für ISOs ab:
sudo mv /pfad/zu/TrueNAS-13.0-U6.1.iso /var/lib/libvirt/images/
Ersetzen Sie /pfad/zu/TrueNAS-13.0-U6.1.iso
durch den tatsächlichen Pfad und Dateinamen Ihrer ISO.
2.2 Virtuelles Boot-Laufwerk für TrueNAS erstellen
TrueNAS benötigt ein eigenes kleines Boot-Laufwerk. Erstellen Sie eine virtuelle Festplattendatei auf der SSD des Hosts:
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/truenas_boot.qcow2 32G
Diese Datei wird das Betriebssystem von TrueNAS hosten. 32 GB sind mehr als ausreichend.
2.3 Die TrueNAS VM mit virt-install erstellen
Dieser Befehl erstellt die VM. Achten Sie auf die Parameter:
sudo virt-install
--name TrueNAS
--ram 16384
--vcpus 4
--os-type freebsd
--os-variant freebsd12.0
--disk path=/var/lib/libvirt/images/truenas_boot.qcow2,bus=virtio
--disk /dev/sdb,bus=virtio,format=raw
--disk /dev/sdc,bus=virtio,format=raw
--network bridge=br0,model=virtio
--graphics vnc,listen=0.0.0.0
--noautoconsole
--cdrom /var/lib/libvirt/images/TrueNAS-13.0-U6.1.iso
Erläuterung der wichtigen Parameter:
--name TrueNAS
: Name Ihrer VM.--ram 16384
: 16 GB RAM zugewiesen. Passen Sie dies an Ihre Hardware und TrueNAS-Anforderungen an. Denken Sie daran, dass ZFS stark von RAM profitiert.--vcpus 4
: 4 virtuelle CPU-Kerne.--os-type freebsd --os-variant freebsd12.0
: TrueNAS basiert auf FreeBSD.--disk path=/var/lib/libvirt/images/truenas_boot.qcow2,bus=virtio
: Das virtuelle Boot-Laufwerk für TrueNAS.virtio
ist der leistungsstärkste Festplattencontroller.--disk /dev/sdb,bus=virtio,format=raw
: Wichtig! Dies ist der Disk Passthrough. Ersetzen Sie/dev/sdb
und/dev/sdc
(und weitere, falls vorhanden) durch die tatsächlichen Pfade Ihrer dedizierten physischen Festplatten für TrueNAS. Diese Laufwerke dürfen keine Daten enthalten, die Sie behalten möchten, da TrueNAS sie formatieren wird.format=raw
ist hier entscheidend, um direkten Zugriff zu gewährleisten.--network bridge=br0,model=virtio
: Verbindet die VM über die zuvor erstellte Bridgebr0
mit dem Netzwerk.virtio
ist hier ebenfalls der effizienteste Netzwerkadapter.--graphics vnc,listen=0.0.0.0
: Ermöglicht den Zugriff auf die VM-Konsole über VNC.--noautoconsole
: Verhindert, dassvirt-install
automatisch die Konsolenverbindung öffnet.--cdrom /var/lib/libvirt/images/TrueNAS-13.0-U6.1.iso
: Bootet die VM vom TrueNAS-Installations-ISO.
Nach dem Ausführen des Befehls wird die VM erstellt und gestartet. Sie können sich nun über einen VNC-Client (z.B. Remmina auf Linux, TightVNC auf Windows) mit der VNC-Adresse Ihres Servers (z.B. 192.168.1.10:5900
oder 192.168.1.10:0
für den ersten VNC-Server) verbinden, um die Installation zu sehen und zu steuern.
Schritt 3: TrueNAS in der VM installieren
Sobald die VM bootet, sehen Sie den TrueNAS-Installer im VNC-Fenster:
- Wählen Sie „1) Install/Upgrade”.
- Wählen Sie das kleine virtuelle Boot-Laufwerk aus, das Sie für TrueNAS erstellt haben (z.B.
ada0
odervda
, normalerweise das kleinste Laufwerk in der Liste). Stellen Sie sicher, dass Sie nicht versehentlich Ihre Datenlaufwerke auswählen! - Bestätigen Sie die Installation und legen Sie ein sicheres Root-Passwort fest.
- Nach Abschluss der Installation werden Sie aufgefordert, das System neu zu starten.
- Wichtig: Trennen Sie das ISO nach der Installation. Sie können dies über
virsh edit TrueNAS
tun und die Zeile mit<cdrom>
entfernen oder imvirt-manager
die ISO-Datei auswerfen. - Starten Sie die VM neu:
sudo virsh reboot TrueNAS
.
Schritt 4: Erste Konfiguration von TrueNAS
Nach dem Neustart bootet die TrueNAS-VM von ihrem virtuellen Boot-Laufwerk. Im VNC-Fenster sehen Sie die TrueNAS-Konsole. Hier wird die IP-Adresse angezeigt, unter der Sie auf die Web-Oberfläche zugreifen können (z.B. http://192.168.1.X
).
4.1 Zugriff auf die Web-Oberfläche
Öffnen Sie einen Webbrowser auf Ihrem Client-Computer und geben Sie die angezeigte IP-Adresse ein. Melden Sie sich mit dem Benutzernamen root
und dem Passwort an, das Sie während der Installation festgelegt haben.
4.2 Speicherpools erstellen (ZFS)
Dies ist der wichtigste Schritt: Ihre Datenlaufwerke zu einem ZFS-Speicherpool zusammenfassen.
- Navigieren Sie im TrueNAS-Webinterface zu „Storage” > „Pools”.
- Klicken Sie auf „Add” > „Create New Pool” > „Create Pool”.
- Geben Sie Ihrem Pool einen Namen (z.B.
data_pool
). - Wählen Sie die physischen Laufwerke aus, die Sie der VM durchgereicht haben. Ziehen Sie sie von „Available Disks” in den „Data VDevs”-Bereich.
- Wählen Sie den gewünschten RAID-Typ (VDev-Layout), z.B. Mirror (für zwei Platten), RAID-Z1 (für drei oder mehr Platten, eine Parity), RAID-Z2 (für vier oder mehr Platten, zwei Parity für mehr Redundanz). RAID-Z ist das ZFS-Äquivalent zu RAID-5/6 und bietet exzellente Datenintegrität.
- Bestätigen Sie die Erstellung des Pools. Alle Daten auf diesen Laufwerken werden gelöscht.
4.3 Datasets und Freigaben erstellen
Mit einem Pool können Sie jetzt Datasets (Unterverzeichnisse mit eigenen ZFS-Eigenschaften) und Freigaben erstellen:
- Datasets: Klicken Sie neben Ihrem Pool auf die drei Punkte und wählen Sie „Add Dataset”. Geben Sie einen Namen (z.B.
media
,backup
) und optional erweiterte Optionen an (z.B. Komprimierung). - SMB/CIFS-Freigaben: Für Windows-Clients gehen Sie zu „Shares” > „SMB Shares” > „Add”. Wählen Sie den Pfad zu Ihrem Dataset aus (z.B.
/mnt/data_pool/media
) und geben Sie einen Freigabenamen an. Passen Sie Berechtigungen an. - NFS-Freigaben: Für Linux/Unix-Clients gehen Sie zu „Shares” > „NFS Shares” > „Add”. Geben Sie den Pfad und die erlaubten Host-IPs/Netzwerke an.
4.4 Benutzer und Berechtigungen
Erstellen Sie Benutzer in TrueNAS („Accounts” > „Users” > „Add”) und weisen Sie ihnen die entsprechenden Gruppen zu. Konfigurieren Sie Dateisystemberechtigungen für Ihre Datasets, um den Zugriff zu steuern.
Best Practices und Überlegungen
- RAM ist König: Wir können es nicht oft genug betonen: ZFS liebt RAM. Je mehr RAM Sie Ihrer TrueNAS-VM zuweisen, desto besser die Leistung und Stabilität, insbesondere bei größeren Datenmengen und anspruchsvollen Operationen. Ein Minimum von 8 GB ist wirklich nur für sehr kleine Setups. 16 GB oder mehr sind ideal.
- Disk Passthrough: Das Durchreichen ganzer physischer Festplatten an die VM ist der Goldstandard für TrueNAS in einer VM, da es ZFS den direkten Zugriff auf die Hardware ermöglicht. Vermeiden Sie die Verwendung von Partitionen auf den Host-Laufwerken oder die Speicherung von ZFS-Pools auf virtuellen Festplattendateien (wie
.qcow2
) für Ihre Datenpools, da dies die Datenintegrität gefährden und die Leistung mindern kann. - Host-Ressourcen: Stellen Sie sicher, dass Ihr Ubuntu Server genügend RAM und CPU-Kerne für seine eigenen Aufgaben behält, nachdem Sie Ressourcen der TrueNAS-VM zugewiesen haben.
- Backups der TrueNAS-Konfiguration: Exportieren Sie regelmäßig Ihre TrueNAS-Konfiguration („System” > „General” > „Save Config”), um sie im Falle eines Systemausfalls schnell wiederherstellen zu können.
- Regelmäßige Updates: Halten Sie sowohl Ihren Ubuntu Server als auch Ihre TrueNAS-VM auf dem neuesten Stand, um Sicherheitslücken zu schließen und von neuen Funktionen zu profitieren.
- USV (unterbrechungsfreie Stromversorgung): Schließen Sie Ihren Server an eine USV an und konfigurieren Sie TrueNAS so, dass es bei einem Stromausfall ordnungsgemäß heruntergefahren wird. Dies ist entscheidend für die Datenintegrität.
Fehlerbehebung
- VM startet nicht oder zeigt keine VNC-Konsole: Überprüfen Sie mit
sudo virsh list --all
den Status der VM. Falls sie nicht läuft, überprüfen Sie die Libvirt-Logs (/var/log/libvirt/qemu/TrueNAS.log
) auf Fehler. Stellen Sie sicher, dass KVM in der BIOS/UEFI Ihres Hosts aktiviert ist. - TrueNAS VM hat keine Netzwerkverbindung: Überprüfen Sie die Netplan-Konfiguration auf dem Host. Stellen Sie sicher, dass die Bridge
br0
aktiv ist und das physische Interface korrekt zugewiesen wurde. Überprüfen Sie auch die Netzwerkeinstellungen in der VM-Konfiguration (virsh edit TrueNAS
). - TrueNAS erkennt keine Datenlaufwerke: Stellen Sie sicher, dass die Laufwerke im
virt-install
-Befehl korrekt als--disk /dev/sdX,bus=virtio,format=raw
hinzugefügt wurden und dass sie nicht bereits vom Host-System gemountet oder partitioniert sind.
Fazit
Die Installation von TrueNAS als virtuelle Maschine auf Ubuntu Server bietet eine leistungsstarke und flexible Lösung für Ihre Speicherbedürfnisse. Sie profitieren von der Robustheit von ZFS, den umfangreichen NAS-Funktionen von TrueNAS und der vertrauten Umgebung von Ubuntu Server für andere Dienste. Obwohl die anfängliche Einrichtung etwas komplexer ist als eine Bare-Metal-Installation, werden die langfristigen Vorteile in Bezug auf Hardware-Effizienz und Systemflexibilität die Mühe mehr als wettmachen. Mit dieser detaillierten Anleitung sollten Sie nun in der Lage sein, Ihr eigenes, zuverlässiges Speichersystem erfolgreich aufzubauen. Viel Erfolg!