rsync unraid –> omv5

Änderungsstand: 2020-08-07

Ich habe mich entschieden, hierfür einen gesonderten Guide zu schreiben.

Zuerst bereite ich den OMV-Rechner vor. Wenn noch nicht geschehen, über den Erweiterungen, rsync installieren. Jetzt erstelle ich einen Benutzer Namens rsyncuser. Dann erstelle ich einen Freigabeordner Namens Unraid-backup mit Privelegien auf meinen erstellten Benutzer. Wenn fertig, auf ACL, Eigentümer auf rsyncuser, Gruppe auf user und alles auf Lesen/Schreiben/Ausführen. Auch bei „Andere“. Ersetzen und Rekursiv jeweils auf an. Dann auf „Anwenden“.

Nun klicke ich im linken Menufeld „rsync“ an, gehe auf „Server“, dann auf „Aktivieren“. Anschließend auf „Module“, „Hinzufügen“, dann auf Benutzer und füge meinen rsyncuser hinzu, dann auf Allgemein und wähle den eben erstellten Freigabeordner Backup-unraid.

  • Name: Backup-unraid
  • Benutzer: rsyncuser
  • Gruppe: users
  • chroot aktivieren: An
  • Liste: An
  • Erlaubte Hosts: Die Unraid-Server-IP

Alles andere stelle ich auf Aus. Auch Benutzer authentifizieren! Da ich die Unraid-Server-IP als erlaubten Host angegeben habe, ist das kein Problem und für das weitere Vorgehen nötig.

Die OMV-Konfiguration ist erledigt.

Nun zu Unraid.

Wer das interne Beispiel eines rsync-Backups nicht benötigt, kann nach der zweiten Markierung weiterlesen.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Backup und Restore der Datenfiles, Unraid-intern, mit rsync.

Hierfür gibt es 2 Grundlegende Backup-Befehle. Als Beispiel verwende ich den Ordner appdata als Backupquelle, der alle Docker-Config’s beinhaltet. Zuerst lege ich einen Freigabeordner an, worauf das Backup abgelegt wird (/mnt/user/backups/rsappdata).

Backup Unraid-intern (nur als Beispiel):

sudo rsync -aAXv /mnt/user/appdata/ /mnt/user/backups/rsappdata/

Mit diesem Befehl wird ein Backup des Ordners appdata auf einen Freigabeordner gelegt. Hierbei dauert nur das erste Backup seine Zeit. Alle weiteren Backups werden inkrementell gesichert. Hierbei werden auf dem Backup-Ziel keine Daten gelöscht. Wenn also in der Zwischenzeit Docker entfernt wurden, befinden sich die Config-Files der gelöschten Docker immer noch im Backup-Verzeichnis, auch wenn weitere Backups getätigt wurden. Natürlich dient es nur zu Informationszwecken, um zu sehen, wie rsync funktioniert. Weiter unten zeige ich Beispiele, wie man ein rsync-Backup zu einem anderen Server tätigt.

sudo rsync -aAXv --delete /mnt/user/appdata/ /mnt/user/backups/rsappdata/

Ähnlich zum ersten Befehl werden hier allerding Sachen, die im Quell-Ordner (appdata) gelöscht wurden, auch im Backupordner gelöscht.

Diesen Befehl könnte man auch noch erweitern, indem man gewisse Verzeichnisse angibt, die man nicht im Backup aufnehmen möchte, wie z.B. den Ordner duplicati:

cd && sudo rsync -aAXv --delete --exclude=/duplicati/* /mnt/user/appdata/ /mnt/user/backups/rsappdata/

Möchte man mehrere Ordner ausschließen, wie z.B. duplicati und nginx, sieht das so aus (kombinierbar mit oder ohne –delete):

cd && sudo rsync -aAXv --delete --exclude={/duplicati/*,/nginx/*} /mnt/user/appdata/ /mnt/user/backups/rsappdata/

Restore Unraid-intern:

sudo rsync -aAXv /mnt/user/backups/rsappdata/ /mnt/user/appdata/

oder

sudo rsync -aAXv --delete /mnt/user/backups/rsappdata/ /mnt/user/appdata/

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Rsync-Backup extern, zum OMV-Server (produktiv):

Als Backupziel benutze ich für diesen Test einen Raspi mit OMV5 als Betriebssystem und einer 3TB HDD als Datenlaufwerk. Die Konfiguration habe ich, wie oben beschrieben, abgeschlossen. In diesem Beispiel sichere ich den kompletten appdata-Ordner, inkl. Unterordner.

Rsync-Befehl am Hauptserver starten:

sudo rsync -av /mnt/user/appdata rsync://rsyncuser@192.168.252.56:873/Backup-unraid

Dieser Befehl sieht etwas anders aus, als man es eigentlich kennt. Zur Erklärung:

sudo rsync -a /mnt/user/appdata; Das zu sichernde Verzeichnis. Verwendet man diesen Befehl als Befehlszeile im Terminal, kann auch statt -a ein -av gesetzt werden. Damit sieht man auch, was gerade passiert. Als Scriptbefehl lasse ich das v dann weg.

rsync://; Mit diesem Befehl wird angegeben, dass der rsyncserver von OMV als Ansprechpartner (Ziel) verwendet werden soll.

rsyncuser@192.168.252.56; Mein erstellter Benutzername in OMV und die OMV-IP-Adresse.

:873; Der Verwendete Port vom rsyncserver in OMV.

/Backup-unraid; Der Modul Name, welcher in OMV unter rsync – Module angelegt wurde! Wurde ein anderer Name verwendet, ist dieser einzutragen und keinesfalls das Freigabeverzeichnis!!!

.

Jetzt kann der Befehl als Cron-Job eingetragen werden. Hier steht, wie das geht.

.

Restore extern:

Da ich den Ordner appdata komplett sicherte, ist es nun auch möglich, einzelne Unterordner wiederherzustellen. Im folgendem Beispiel stelle ich den Ordner home-assistant wieder her.

In der Unraid-Console oder im Terminal:

sudo rsync -aAXv rsync://rsyncuser@192.168.252.56:873/Backup-unraid/appdata/home-assistant /mnt/user/appdata

Was tun, wenn Unraid Crasht und man das System Neu aufsetzen muss?

Dann, im Beispiel von appdata, folgenden Befehl verwenden (nicht getestet):

sudo rsync -aAXv rsync://rsyncuser@192.168.252.56:873/Backup-unraid/appdata/ /mnt/user/appdata

Es werden nun alle Daten in appdata wiederhergestellt. Jetzt kann man die einzelnen Docker erneut installieren und sämtliche Einstellungen, wie sie vorher waren, bleiben erhalten. Sichert man allerdings mit einem rsync-Befehl auch das komplette Dockerverzeichnis mit, muss mann nicht einmal die Docker neu installieren, sondern nur zusätzlich per Restore wiederherstellen.

.

Noch ein erweitertes Beispiel, wie ein rsync-Befehl aussehen könnte:

sudo rsync -a --bwlimit=5000 --exclude={/mnt/user/appdata/EmbyServer/cache/,/mnt/user/appdata/EmbyServer/logs/} /mnt/user/appdata rsync://rsyncuser@192.168.252.56:873/Backup-unraid

–bwlimit=5000; Damit wird ein Geschwindigkeitslimit gesetzt, damit rsync nicht die komplette Bandbreite verwendet und wärend des Synchronisierens nicht das gesamte Netzwerk auslastet

–exclude={/EmbyServer/cache/,/EmbyServer/logs/}; Die Unterordner cache und logs werden beim rsyncen ignoriert

Erstelle eine Website wie diese mit WordPress.com
Jetzt starten