OpenMediaVault – Datensicherung via SyncThing

Ich habe bereits in anderen Anleitungen die Installation und Einrichtung von OpenMediaVault als NAS-Software gezeigt.
Was bisher noch fehlte, war eine Möglichkeit, unsere Daten von einem PC oder Smartphone auf dem NAS automatisch sichern zu lassen, damit immer irgendwo eine Kopie der Daten vorhanden ist.
Diese Anleitung beschreibt kein wirkliches Backup und schon gar nicht die 3-2-1-Empfehlung.
Es handelt sich hierbei lediglich um eine Kopie.
Für mich ein „Backup für arme“, was aber dennoch im Notfall helfen kann.
Für manche genügt es auch, eine Kopie der Daten zu haben, da das Betriebssystem an sich nicht so wichtig ist.
Die Datensicherung von Windows macht im Hintergrund tatsächlich auch nichts anderes.

Eine einfache und bequeme Art eine Datenkopie automatisch erstellen und aktuell halten zu lassen, ist mit der Verwendung des Programms Syncthing möglich.
Das kostenlose und OpenSource-Tool ist für sehr viele Betriebssysteme verfügbar.

Der Vorteil für unser Ausgangsszenario ist hier, das SyncThing den Modus „nur lesen“ oder auch „nur schreiben“ besitzt.
So lassen sich Daten auf das NAS-System schreiben, aber nicht automatisch davon lesen, was eine Art Schutzmechanismus sein kann.
Ebenfalls haben wir eine Dateiversionierung mit intrigiert.
Damit ist es uns möglich, auf ältere Versionsstände von Daten zugreifen zu können, um diese im Bedarfsfall wiederherstellen zu können.
Wer auf ZFS oder BTRFS setzt und zusätzlich eine Deduplizierung aktiv hat, kann gleichzeitig auch noch Speicherplatz sparen.

Im OMV-Forum wird empfohlen, SyncThing via Docker zu installieren.
Das finde ich aber nicht sonderlich praktisch, da es mehr Konfigurationsaufwand ist und wir am Ende SyncThing nicht automatisch über die Paketverwaltung aktualisieren können.
Ohne Docker ist es meiner Meinung nach deutlich bequemer.

Die Installation ist sehr simpel!





Installation in OpenMediaVault

1. Wir fügen das offizielle Repository von SyncThing hinzu:

# apt install curl
# curl -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
# echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

2. Wir Updaten die Paketquellen und lassen SyncThing installieren

# apt update
# apt install syncthing

3. Für mehr Sicherheit und wenige Warnmeldungen, erstellen wir einen neuen Nutzer für SyncThing

# adduser backup

=> Ihr könnt ihn so benennen wie ihr wollt. Ich nutze hier den Namen “backup”, um es etwas schöner darstellen zu können, wo ein Nutzername und wo ein Programmname steht. Ihr könnt ihn auch gerne “syncthing” nennen.

4. Wir richten SyncThing nun als Dienst ein, damit das Tool automatisch bei Systemstart gestartet wird

# cd /usr/lib/systemd/system/
# cp [email protected] [email protected]
# systemctl enable [email protected]
# systemctl start [email protected]

=> WICHTIG: Ersetzt hier den Nutzernamen “backup” gegen euren Nutzernamen!

5. Zugriff auf das Webinterface über das LAN erlauben
Öffne dazu die Konfigurationsdatei, welche sich nun im Home-Verzeichnis des angelegten Nutzers (backup) befindet mit einem Editor.

# nano /home/backup/.config/syncthing/config.xml

Suche nach der Localhost-IP-Adresse und ändere diese zu 0.0.0.0 oder zur IP-Adresse deines OpenMediaVaults (z.B. 192.168.0.100)

>> 127.0.0.1:8384 ZU 0.0.0.0:8384 ODER 192.168.0.100:8384

Starte danach SyncThing neu, damit die Änderungen übernommen werden.

# systemctl restart [email protected]

=> Ersetze hier wieder den Nutzernamen “backup” gegen deinen!

6. SyncThing im Webbrowser öffnen
Du kannst nun die SyncThing-Instanz im Webbrowser öffnen, indem du die IP von OpenMediaVault inkl. des Ports 8384 aufrufst.
Die Verbindung ist NICHT verschlüsselt, daher geht nur HTTP!

http://192.168.0.100:8384/

7. Achte darauf, das dein Nutzer nun genügend Lese und Schreibrechte in dem Verzeichnis besitzt, in das die Daten abgelegt werden sollen.

# chown -R backup:backup /Pfad/wo/die/Daten/abgelegt/werden

Die Installation auf Windows

1. Lade dir SyncThing auf der offiziellen Webseite herunter:
https://syncthing.net/downloads/

Alternativ kann auch SyncTracor heruntergeladen werden:
https://github.com/canton7/SyncTrayzor
– Muss Installiert werden
– Besitzt eine eigene GUI
– Hat ein paar kleine Sonderfunktionen mehr mit dabei

2. Entpacke SyncThing und starte die syncthing.exe

Eventuell muss noch der Zugriff durch die Firewall gestarttet werden.

3. Es öffnet sich anschließend ein CMD-Fenster und kurz danach dein Standardbrowser mit der SyncThing-Webseite

Die Installation auf Linux

Wenn du ein Debian/Ubuntu-System nutzt, binde einfach auch das Repository an.

# apt install curl
# curl -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
# echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
# apt update
# apt install syncthing

SyncThing kann dann mit deinem normalen Nutzer gestartet werden.

Andere Distributionen können sich auf der Webseite eine passende Version herunterladen.
https://syncthing.net/downloads/


Weitere nützliche Links

Das Repository von SyncThing: https://apt.syncthing.net/
Weitere Möglichkeiten für die Installation eines Dienstes: https://docs.syncthing.net/users/autostart.html

8 Kommentare

  1. Hi,
    super Tutorial, aber an einer Stelle hänge ich: Wenn ich nicht, wie im Tutorial beschrieben, auf der NAS einen expliziten Backup-Ordner anlegen möchte, sondern stattdessen mehrere Einzelordner auf der NAS mit verschiedenen PC syncen möchte, müsste ich der Anleitung folgend ja die gesamte NAS per chown auf den backup-Nutzer transferieren. Hätte das nicht Auswirkungen auf die Nutzung, weil die Dateien ja aktuell eigentlich anderen Nutzern gehören – es soll ein Sync in beide Richtungen sein.

    Ich habe schon versucht, dem backup Nutzer per Access control list die Berechtigungen für alles zu geben, das resultiert aber leider in einem Permission denied in syncthing. Irgendwelche Ideen?

    • SyncThing kann auch mehrere Ordner verwalten. Du musst nicht das ganze Laufwerk auf einmal synchronisieren, sondern kannst gezielt einzelne Ordner auswählen.
      Wenn du diese Daten auch mit anderen Geräten teilen willst, dann musst du einfach alle einmal online bringen und die Daten miteinander teilen.
      Soweit jeder lesen und schreiben darf, sollte das passen.
      Es sollten nur ggf. keine Benutzerrechte 1:1 synchronisiert werden, da es vermutlich Benutzer A nicht auf Gerät B gibt.

  2. Danke für deine Antwort! Ich kriege leider trotzdem “permission denied” Fehlermeldungen in Syncthing. Der Benutzer, unter dem Syncthing eingerichtet ist (unter deiner Anleitung “backup” genannt) ist Teil der users Benutzergruppe und diese hat eigentlich alle Zugriffsrechte. Trotzdem scheint es nicht zu funktionieren. Hast du noch eine Idee, woran das liegen könnte?

    • Spontan kenne ich darauf aktuell auch keine Lösung.
      Soweit die Berechtigungen korrekt sitzen, sollte das eigentlich problemlos laufen.
      Vergebe mal einfach alle Rechte. Also chmod -R 777 ...., damit auf jeden Fall da rein geschrieben werden kann.
      Wenn das auch nicht gehen sollte, ist grundlegend etwas schief bei dir.

      Ich kann immerhin noch die Info da lassen, das ich diese Anleitung auch soweit 1:1 auf einem TrueNAS-System umsetzen konnte.

  3. Hallo. Bin grad auch dabei SyncThing zu installieren. Jetzt habe ich bei android gesehen, dass es eine SyncThing Fork App gibt, die scheint vom Umfang her mehr zu können. Muss ich da was bei der Installation ändern und anpassen?

    • Hi!
      Kenne den Fork nicht, von daher kann ich dazu keine Aussage treffen.
      Sofern der Fork von der Grundfunktionalität nicht abweicht, muss vermutlich nichts groß angepasst werden.

  4. Hallo Hoerli,

    vielen lieben Dank für die Anleitung.
    Ich habe die Linux bookworm Version genommen und da findet er die config Datei nicht:
    Ab Syncthing Version 1.27 liegt die dann in
    nano /home/backup/.local/state/syncthing/config.xml

    vgl. : https://docs.syncthing.net/users/config.html

    Danke !

    Grüsse Michael

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.