<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>TrueNAS on SecretMine.de</title><link>https://secretmine.de/tags/truenas/</link><description>Recent content in TrueNAS on SecretMine.de</description><generator>Hugo -- gohugo.io</generator><language>de-DE</language><lastBuildDate>Wed, 24 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://secretmine.de/tags/truenas/index.xml" rel="self" type="application/rss+xml"/><item><title>Mein Backupkonzept - 2025 Edition</title><link>https://secretmine.de/blog/2025/2025-12-24-mein-backupkonzept-2025-edition/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2025/2025-12-24-mein-backupkonzept-2025-edition/</guid><description>&lt;p&gt;Ein kleines Weihnachtsgeschenk? Naja. Wie dem auch sei.&lt;/p&gt;
&lt;p&gt;Ich habe in den letzten Monaten immer wieder an meinem Backupkonzept gefeilt, bis es in der jetzigen Form stabil und weitestgehend automatisiert läuft. Das Ganze ist ein Mix aus Proxmox-Backups und Datei-Backups mit Restic - mit Fokus auf Verschlüsselung und Praktikabilität.&lt;/p&gt;
&lt;h2 id="proxmox-cluster-zuhause"&gt;Proxmox-Cluster zuhause
&lt;/h2&gt;&lt;p&gt;Mein Haupt-Homelab läuft als Proxmox-Cluster. Alle VMs und LXC-Container werden täglich mit dem &lt;a class="link" href="https://secretmine.de/blog/2025/2025-03-30-proxmox-backup-server-fuer-den-hauptcluster/" &gt;Proxmox Backup Server&lt;/a&gt; gesichert. Das Ziel ist eine billige große SSD im Cluster. Für kritische Systeme (Nextcloud, DNS, Reverse Proxy etc.) gibt es zusätzlich ein &lt;a class="link" href="https://secretmine.de/blog/2025/2025-09-25-proxmox-backup-server-via-s3-in-richtig/" &gt;Offsite-Backup&lt;/a&gt; über S3 zu Backblaze B2. Der Part läuft verschlüsselt, da ich keinem Anbieter 100%ig vertraue. Wichtig war mir, dass der Backup-Server dedupliziert und komprimiert, um die Kosten für den S3-Storage möglichst gering zu halten. Da Proxmox Backup Server das inzwischen nativ kann, war der Aufwand überschaubar.&lt;/p&gt;
&lt;p&gt;Neben dem automatischen täglichen Backup gibt es außerdem einen manuellen Sync auf eine externe Festplatte, die normalerweise im Keller lagert. Diese ist als &amp;ldquo;Removable Storage&amp;rdquo; im Backup Server eingehängt und dient als zusätzliche Offline-Kopie im Worst-Case. Ich habe auch einen Thin Client mit einer Festplatte und Proxmox Backup Server im Keller, zu dem ich unregelmäßig die Backups spiegele. Aufgrund der geringen Bandbreite in den Keller will ich diese Variante aber ablösen, dafür habe ich mit der externen Festplatte begonnen.&lt;/p&gt;
&lt;h2 id="nutzerdaten-nextcloud-gameserver-usw"&gt;Nutzerdaten (Nextcloud, Gameserver usw.)
&lt;/h2&gt;&lt;p&gt;Für Dienste, die viele Nutzerdaten enthalten, setze ich zusätzlich auf Restic. Nextcloud-Daten und Backups der Gameserver werden etwa alle acht Stunden auf eine Hetzner Storage Box geladen. Auch hier läuft alles verschlüsselt, und die Snapshots lassen sich im Notfall granular wiederherstellen. Restic erfüllt neben der Verschlüsselung auch hier wieder die Kriterien mit Deduplizierung und Komprimierung, damit ich möglichst effizient viele Snapshots speichern kann.&lt;/p&gt;
&lt;p&gt;Bei der Nextcloud gibt es generell die Besonderheit, dass ich alle Daten, um die Nextcloud wiederherzustellen (&lt;code&gt;www&lt;/code&gt;-Verzeichnis, Datenverzeichnis, Dump der Datenbank) via Restic sichere, die virtuelle Festplatte mit den Nextcloud-Daten wird via Proxmox Backup Server aktuell wegen des Speicherbedarfs tatsächlich nicht gesichert.&lt;/p&gt;
&lt;h2 id="nas"&gt;NAS
&lt;/h2&gt;&lt;p&gt;Im Keller steht ein &lt;a class="link" href="https://secretmine.de/blog/2025/2025-04-27-backup-server-fuer-das-nas/" &gt;Backup-NAS&lt;/a&gt; mit TrueNAS. Hier laufen in unregelmäßigen Abständen manuelle rsync-Jobs, die Daten vom Haupt-NAS kopieren. Über ZFS-Snapshots sind ältere Stände ebenfalls abrufbar. Die Variante mit einem zusätzlichen NAS hat hauptsächlich Kostengründe, da das Speichern von über 10TB inkl. Snapshots sonst sehr viel teurer gewesen wäre.&lt;/p&gt;
&lt;h2 id="vserver-backups"&gt;vServer-Backups
&lt;/h2&gt;&lt;p&gt;Auf meinen externen vServern (hauptsächlich Docker-Dienste, diese Website und mein Mailserver) verwende ich ebenfalls Restic mit einer Hetzner Storage Box als Ziel.&lt;/p&gt;
&lt;h2 id="sicherung-der-keys-und-monitoring"&gt;Sicherung der Keys und Monitoring
&lt;/h2&gt;&lt;p&gt;Ich hatte zwischenzeitlich die Situation, dass die Keys für alle Offsite-Backups nur in einer Keepass-Datei in meiner Nextcloud gespeichert waren - die wiederum Teil genau dieser Offsite-Backups sind. Da ich alles verschlüssele, was offsite landet, hätte ich im Worst-Case zwar Backups, aber keinen Zugang mehr zu diesen Backups gehabt. Deshalb lagern die Keys mittlerweile zusätzlich auf einem USB-Stick bei meinen Eltern, just in case.&lt;/p&gt;
&lt;p&gt;Die Backup-Scripte werden mittels &lt;a class="link" href="https://secretmine.de/blog/2025/2025-10-31-scriptausfuehrung-mit-healthchecks-ueberwachen/" &gt;Healthchecks&lt;/a&gt; auf ihre Ausführung überwacht, damit nicht (schon wieder) monatelang keine Backups passieren.&lt;/p&gt;
&lt;h2 id="offene-punkte"&gt;Offene Punkte
&lt;/h2&gt;&lt;p&gt;Was ich bisher zu selten mache sind Restore-Tests. Ich habe zwar bei jeder verwendeten Technik irgendwann mal einen Test-Restore gemacht und geprüft, aber seitdem nicht wieder getestet. Ich möchte für einige wichtige Dinge wie z.B. die Nextcloud auch Langzeitbackups einführen, die einen monatlichen Stand für mehrere Jahre effizient und günstig vorhalten können. Restic nutze ich aktuell nur mit &lt;code&gt;--keep-last n&lt;/code&gt;, hier sollte ich eine bessere Retention Policy einsetzen. Mein Backup-Script loggt aktuell auch zu wenig - das ist generell ein offener Punkt.&lt;/p&gt;
&lt;p&gt;Auch eine Dokumentation, wie Dinge wiederhergestellt werden können, fehlt komplett. An dem Thema bin ich aber aktuell dran. Basis wird eine möglichst automatische Datensammlung mit Ansible, Ergänzung mit eigenen Informationen und dann Erzeugen eines Wikis mittels MKDocs. Wenn ich das irgendwann mal fertig habe, gibt es dazu auch wieder einen Post.&lt;/p&gt;
&lt;p&gt;Eine Ansible-Rolle zum Deployen vom Backup-Script wäre auch noch angenehm, aktuell passiert das komplett händisch.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit
&lt;/h2&gt;&lt;p&gt;Das Setup ist über die Zeit gewachsen und sicher nicht perfekt - aber es deckt die wichtigsten Fälle ab: Hardwaredefekt, Ransomware, versehentliches Löschen und kompletten Verlust vom Cluster (bspw. durch einen Brand). Und das ganze wie üblich in möglichst kosteneffizient. Einige Dinge muss ich allerdings noch nachbessern.&lt;/p&gt;</description></item><item><title>Backup-Server für das NAS</title><link>https://secretmine.de/blog/2025/2025-04-27-backup-server-fuer-das-nas/</link><pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate><guid>https://secretmine.de/blog/2025/2025-04-27-backup-server-fuer-das-nas/</guid><description>&lt;p&gt;Irgendwie bin ich in letzter Zeit im Backup-Fieber&amp;hellip; Ich weiß auch nicht.&lt;/p&gt;
&lt;p&gt;Bisher wurden die Daten von meinem NAS (etwa 8TB belegt) nicht gesichert, ich habe nur die wichtigsten paar hundert GB ab und an in meine Storagebox bei Hetzner gesynct. Damit bin ich aber nicht so zufrieden, da der Datenverlust im Zweifelsfall doch deutlich wäre.&lt;/p&gt;
&lt;h2 id="festplatten"&gt;Festplatten
&lt;/h2&gt;&lt;p&gt;Irgendwo müssen solche Datenmengen hin, so viel hat man auch nicht einfach an Festplatten herumliegen. Cloud-Speicher ist in den Größenordnungen auch eher teuer, selbst wenn man Archivspeicher (z.B. S3 Glacier bei Scaleway) nutzt. Daher habe ich hierfür Festplatten gekauft. Weil es nur um Backups geht, waren refurbished Platten für mich okay, solange die in einem RAID oder ZFS laufen. Konkret wurde es eine Seagate Enterprise Capacity mit 12TB und eine Seagate Ironwolf mit 12TB. Ich habe verschiedene Modellreihen genommen, um einem gleichzeitigen Ausfall etwas vorzubeugen.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Die Festplatten" class="gallery-image" data-flex-basis="356px" data-flex-grow="148" height="1010" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://secretmine.de/blog/2025/2025-04-27-backup-server-fuer-das-nas/images/hdds.jpg" srcset="https://secretmine.de/blog/2025/2025-04-27-backup-server-fuer-das-nas/images/hdds_hu_6e2bb4cdee595106.jpg 800w, https://secretmine.de/blog/2025/2025-04-27-backup-server-fuer-das-nas/images/hdds.jpg 1500w" width="1500"&gt;&lt;/p&gt;
&lt;h3 id="benchmarks"&gt;Benchmarks
&lt;/h3&gt;&lt;p&gt;Bevor ich die Festplatten tatsächlich nutze, habe ich kurz mit CrystalDiskBench mit meinem Windows-Rechner Tests gemacht.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Benchmark Seagate Enterprise Capacity 12TB (refurbished)" class="gallery-image" data-flex-basis="328px" data-flex-grow="136" height="352" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://secretmine.de/blog/2025/2025-04-27-backup-server-fuer-das-nas/images/bench_12tb_enterprise_capacity.png" width="482"&gt;
&lt;img alt="Benchmark Seagate Ironwolf 12TB (refurbished)" class="gallery-image" data-flex-basis="328px" data-flex-grow="136" height="352" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://secretmine.de/blog/2025/2025-04-27-backup-server-fuer-das-nas/images/bench_12tb_ironwolf.png" width="482"&gt;&lt;/p&gt;
&lt;h2 id="server"&gt;Server
&lt;/h2&gt;&lt;p&gt;Ich habe aus vorhandener Hardware einen kleinen Server gebaut, der dann in den Keller kommt und bei Bedarf eingeschaltet werden kann. Die Hardware ist absolut nicht herausragend, reicht für den Zweck allerdings problemlos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CPU: Intel Pentium G3258&lt;/li&gt;
&lt;li&gt;RAM: 4GB &lt;em&gt;(zweiter Slot vom Mainboard leider defekt)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Datenträger:
&lt;ul&gt;
&lt;li&gt;120GB SSD (TrueNAS)&lt;/li&gt;
&lt;li&gt;2x 12TB HDD&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ich habe dann das aktuelle TrueNAS Scale installiert und ein RAIDZ1 erstellt. Ich habe mich hier explizit für RAIDZ1 statt einem Mirror entschieden, damit ich später simpel die Kapazität mit z.B. einer weiteren 12TB-Platte erweitern kann. Das RAIDZ1 verhält sich mit zwei Festplatten eigentlich wie ein Mirror. Schade ist hierbei, dass sich so ein zdev nicht über die UI erstellen lässt, das muss per CLI passieren.&lt;/p&gt;
&lt;h2 id="datensicherung"&gt;Datensicherung
&lt;/h2&gt;&lt;p&gt;Anfangs hatte ich die Sicherungen mit &lt;code&gt;rsync&lt;/code&gt; gemacht, das funktioniert auch soweit gut. Es hat jedoch einen gravierenden Nachteil: Das Verschieben von Dateien wird nicht erkannt. Deswegen habe ich nun auf &lt;code&gt;rclone&lt;/code&gt; umgestellt, weiterhin per SFTP. Dort gibt es das Argument &lt;code&gt;--track-renames&lt;/code&gt;, was bei Dateien, die entweder nur in der Quelle oder nur im Ziel sind, versucht, ein Matching zu möglichen anderen Dateien zu machen und entsprechend umzubenennen. Das scheint auch gut zu funktionieren.&lt;/p&gt;
&lt;p&gt;Nach einem Sync lege ich händisch einen ZFS Snapshot an, um den alten Stand einzufrieren. Mein Plan ist, dass ich den kompletten Prozess automatisiere, also dann folgende Schritte in ein Script gieße:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NAS hochfahren&lt;/li&gt;
&lt;li&gt;Backup-NAS hochfahren&lt;/li&gt;
&lt;li&gt;Sync ausführen und abwarten&lt;/li&gt;
&lt;li&gt;ZFS-SNapshot auf Backup-NAS erstellen&lt;/li&gt;
&lt;li&gt;Backup-NAS herunterfahren&lt;/li&gt;
&lt;li&gt;NAS in Standby schicken&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das soll dann etwa 1x pro Woche erfolgen. Ich habe mich bisher mit der TrueNAS-API noch nicht auseinandergesetzt, aber ansonsten kann ich die ZFS-Snapshots auch einfach direkt per CLI erstellen.&lt;/p&gt;</description></item></channel></rss>