TrueNAS in der AD-Domäne & Rsync-Backup – Enterprise Homelab #4

Im dritten Teil dieser Serie haben wir TrueNAS Scale als VM aufgesetzt und den SAS-Controller per PCI Passthrough komplett durchgereicht — inklusive RAID-Z1-Pool und SMB-Freigabe. Jetzt fehlen zwei Bausteine, die ein Heimserver-Setup von „läuft“ auf „läuft enterprise-tauglich“ heben: das zweite TrueNAS in die Active-Directory-Domäne hängen und das NAS per Rsync auf ein zweites NAS spiegeln.


Das Video dazu — schau es dir gerne zuerst an, dann macht dieser Guide noch mehr Sinn:


https://youtu.be/AEj2ePGb43Q



Was du für diesen Guide brauchst

  • Zwei TrueNAS-Scale-Systeme im selben Netzwerk — bei mir laufen sie als VMs auf zwei Proxmox-Hosts: NAS1 auf Prox2, NAS2 auf Prox3
  • Eine erreichbare Active-Directory-Umgebung mit Kerberos-Realm und einem AD-User mit Domain-Join-Berechtigung
  • DNS so konfiguriert, dass beide NAS den AD-DC auflösen können — und idealerweise auch umgekehrt
  • Ein bestehendes Dataset auf NAS1 (Quelle) und SSH-Root-Zugriff zwischen den beiden Hosts

In diesem Guide


Schritt 1: Active Directory anbinden

Der Pfad in der TrueNAS-Scale-UI ist eindeutig: Credentials → Directory Services → Add. Als Typ wählst du Active Directory. Jetzt brauchst du fünf Werte aus deiner AD-Umgebung — bei mir sehen sie so aus:

Domain Name:    tfc-gaming.eu
Kerberos Realm: TFC-GAMING.EU
Domain User:    Administrator
Hostname:       prox2-truenas
Site Name:      Default-First-Site-Name

Der Kerberos-Realm ist der FQDN in Großbuchstaben. Beim Domain-Join-User reicht ein Administrator-Account mit Domain-Join-Berechtigung; sein Passwort tippst du direkt im Formular. Beim Hostname bleibst du bei der Nomenklatur, die du in der Serie schon verwendet hast — bei mir prox2-truenas, weil die VM auf dem Proxmox-2-Host läuft. Dieser Name wird automatisch in den DNS-Server der Domäne eingetragen, sobald der Join klappt. Der Site-Name wird in der Regel automatisch erkannt — die Default-First-Site-Name reicht für die meisten Setups.

Wichtig: Wenn TrueNAS beim ersten Klick auf Save mit Unknown serverless realm meckert, lass das Realm-Feld einfach leer und speichere nochmal. TrueNAS holt sich den Realm dann automatisch aus den Credentials und dem Domain-Namen — und der Join klappt.

Nach erfolgreichem Save geht der Status auf healthy. Das heißt: NAS2 ist jetzt Mitglied der Domäne. Du siehst das auch daran, dass unter Credentials → User plötzlich die Domänen-Benutzer, Domänen-Admins und Domänen-Gäste auftauchen — neben deinen lokalen Usern. Damit kannst du jede Freigabe auf NAS2 jetzt mit AD-Gruppen-Berechtigungen versehen, statt lokale Konten zu pflegen.


Schritt 2: SSH-Connection anlegen

Für den Rsync-Job machen wir es richtig: kein Passwort, sondern eine SSH-Connection mit Keypair-Auth zwischen NAS2 (das holt) und NAS1 (das gibt). Der charmante Teil: TrueNAS hat einen Wizard, der Keypair-Anlage und Public-Key-Verteilung auf das Ziel-NAS in einem Schritt erledigt — du musst keinen Key manuell kopieren und an den Root-User von NAS1 hängen.

Connection im Wizard anlegen

Auf NAS2 öffnest du Credentials → Backup Credentials → SSH Connections → Add. Folgende Werte trägst du ein:

Name:     Prox2-NAS → Prox3-NAS
Host:     <IP oder DNS von NAS1>
Username: root
Setup:    Generate New SSH Key

Den Connection-Namen wähle ich so, dass die Richtung im Namen steht — dann findest du dich auch in einem halben Jahr noch zurecht. Statt das Passwort einzugeben, klickst du auf Generate New SSH Key. Save.

TrueNAS legt im Hintergrund ein Keypair an, hängt den Public Key am Root-User von NAS1 in authorized_keys und testet die Verbindung sofort. Bei mir klappt das im ersten Versuch — Voraussetzung ist, dass DNS und Firewall zwischen den beiden Hosts stimmen und SSH am Quell-NAS aktiviert ist.

Tipp: Wenn NAS1 kein TrueNAS ist, kannst du unter Credentials → Backup Credentials → SSH Keypairs auch ein eigenes Keypair anlegen und den Public Key selbst am Root-User von NAS1 in authorized_keys einfügen. Der Wizard-Weg oben ist die Default-Empfehlung, weil er die manuelle Kopieraktion komplett spart.


Schritt 3: Rsync-Task konfigurieren

Jetzt steht der Rsync-Task. Unter Data Protection → Rsync Tasks → Add baust du den Job. Acht Felder sind zu setzen.

Felder im Überblick

Source:         /mnt/tank/daten      (Dataset auf NAS2, Ziel des Pulls)
User:           root
Rsync Mode:     SSH
Remote Path:    /mnt/tank/daten/     (Slash am Ende NICHT vergessen!)
SSH Connection: Prox2-NAS → Prox3-NAS
Direction:      Pull
Schedule:       täglich 00:00
Archive:        ☑
Delete:         ☑

Source ist das Dataset auf NAS2, in das die Daten reinlaufen sollen. User ist der Root-User — der Job läuft im Hintergrund mit dessen Rechten, sonst kommt er an die Dateien nicht ran. Rsync Mode ist SSH, Remote Path der Quellpfad auf NAS1. Genau hier darfst du den abschließenden Slash nicht vergessen, sonst kopiert Rsync das Verzeichnis selbst statt seinen Inhalt.

Direction, Schedule, Flags

Bei der Direction wählst du Pull. Push würde bedeuten, dass NAS2 etwas auf NAS1 schiebt — das wollen wir nicht, NAS2 ist das Backup-Ziel. Den Schedule setzt du auf täglich 00:00.

Die Checkbox Archive aktivieren — das übernimmt Permissions, Symlinks und Timestamps in einem Aufwasch. Und die wichtigste Checkbox: Delete. Damit löscht Rsync auf NAS2 alles, was auf NAS1 gelöscht wurde — eine echte 1:1-Synchronisation. Ohne diesen Haken sammelst du auf dem Backup ewig Datenleichen.

Tipp: Trag im Feld Description etwas Sprechendes ein, z.B. rsync backup data all. Wenn du später mehrere Tasks hast (Daten, Bilder, Videos getrennt), findest du sie so über die Liste sofort.


Schritt 4: Initial-Sync starten

Save. Der Task steht jetzt im Status pending, weil der nächste planmäßige Run erst um Mitternacht startet. Bei mir liegen rund 8 TB Daten auf NAS1 — die schaufeln wir nicht in 24 Stunden über das LAN, der erste vollständige Sync braucht eher zwei bis drei Tage.

Damit der Scheduler nicht parallel einen zweiten Job startet, deaktiviere ich für die initiale Übertragung den Enable-Toggle. Den Job kann ich aber trotzdem manuell antriggern: Klick auf Run Now, der Status springt auf running, der Sync läuft an.

Status: running
Bytes-Transferred sichtbar im Task-Log

Sobald der Initial-Sync durch ist, schalte ich Enable wieder ein. Der tägliche Run um Mitternacht macht ab dann nur noch Inkremente — also nur die Dateien, die sich seit gestern geändert haben. Genau dafür ist Rsync gebaut.


Fazit & nächste Schritte

In vier Videos haben wir jetzt ein TrueNAS-Setup komplett enterprise-tauglich gebaut:

  • NAS in der AD-Domäne — Berechtigungen auf SMB-Freigaben über AD-Gruppen statt lokale Konten
  • SSH-Connection NAS1↔NAS2 per Wizard — keine Passwörter im Job, sauberer Public-Key-Auth ohne manuelles Hin-und-Her-Kopieren
  • Rsync-Pull täglich um 00:00 mit Archive- und Delete-Flag — eine echte 1:1-Synchronisation, kein wucherndes Backup-Halde-Verzeichnis
  • Initial-Sync via Run Now sauber gestartet, ohne dass der Scheduler parallel reinfunkt

Das gibt dir Ausfallsicherheit auf einem zweiten Server und saubere Permissions-Vergabe für deine User-Accounts — beides Punkte, die in jedem Bewerbungsgespräch zum Thema Homelab als Hausaufgabe gelten.

Im nächsten Video kommt der nächste Enterprise-Baustein für das Setup — den Link trage ich hier nach, sobald die Folge online ist.

Wenn dir der Guide weitergeholfen hat, freue ich mich über ein Abo — die nächsten Videos kommen regelmäßig. Bei Fragen einfach in die Kommentare.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert