Eine Information für alle Nutzer einer (sehr) alten Synology NAS. Wie z.B. meiner eigenen DS413.
Ich wollte - dank @Jean Video und @LinuxMintUser Bereitstellung seiner NAS - das Backup auch auf meiner eigenen NAS aufsetzen. Bekam dann allerdings einen Fehler. Habe das dann mit Claude angeschaut und folgendermaßen gelöst.
Verworfener Ansatz
Borg nativ auf dem NAS laufen lassen (SynoCommunity-Paket + borg serve via SSH-User borg). Grund: Borgs hashindex-Format hat einen bekannten, ungefixten Bug auf big-endian-CPUs – und die NAS-CPU (PowerPC e500v2/SPE) ist big-endian. Upstream warnt explizit vor Datenverlust/Repo-Korruption. → borg-User und Paket wieder von der NAS gelöscht.
Lösung
Architektur (warum so und nicht anders)
- Borg läuft NICHT auf der NAS (
MHNAS1, 192.168.178.27). Grund: NAS-CPU ist PowerPC e500v2 (Big-Endian) – Borgs Hashindex-Format hat dort einen bekannten, ungelösten Upstream-Bug (Repo-Korruptionsrisiko).
- borgbackup/borg#9521
- borgbackup/borg#889 – Upstream rät generell von Borg auf Big-Endian-Systemen ab.
- Die SynoCommunity-BorgBackup-Paket-Installation und der dedizierte
borg-SSH-User auf der NAS wurden deshalb wieder entfernt.
- Borg läuft komplett auf
mhmini1 (Debian-Server, 192.168.178.21, x86_64, Little-Endian). Die NAS dient nur noch als reiner Netzwerkspeicher (NFS), auf den Borg über einen normalen lokalen Pfad schreibt – keine SSH-Verbindung zu Borg auf der NAS.
NAS-Konfiguration (MHNAS1)
- Freigegebener Ordner:
/volume1/borg
- NFS-Berechtigung: Client-IP
192.168.178.21, Lese-/Schreibzugriff, Squash = “Kein Mapping”
- POSIX-Rechte: 777 (wichtig – Synology setzt bei neuen Freigaben standardmäßig 755, das blockiert NFS-Schreibzugriff von Nicht-Root-Clients)
Mount auf mhmini1 (Debian)
In /etc/fstab:
192.168.178.27:/volume1/borg /mnt/mhnas1/borg nfs rw,users,noauto,x-systemd.automount,nfsvers=3 0 0
Mountpoint: /mnt/mhnas1/borg
Gotcha: Nach Hinzufügen eines neuen fstab-Automount-Eintrags reicht systemctl daemon-reload nicht aus, um ihn zu aktivieren. Einmalig sudo mount /mnt/mhnas1/borg ausführen, sonst zeigt der Pfad nur den leeren lokalen Platzhalter-Ordner (sieht wie ein Rechteproblem aus, ist aber keins).
Borg-Repository
- Pfad:
/mnt/mhnas1/borg/mhmini1
- Verschlüsselung: Keine (
--encryption=none, bewusste Entscheidung)
- Repository-ID:
e912ecaa5401efb224886ae85b4d6a64b1868235c3c48927cc75452ef985e278
Einbindung in Libre Workspace
Systemverwaltung → Vollautomatische Backups:
| Feld |
Wert |
| Borg-Repository |
/mnt/mhnas1/borg/mhmini1 |
| SSH-Zugriffs-Fingerprint |
leer |
| Borg-Verschlüsselung |
Aus |
| Borg-Passphrase |
leer |
| “Borg-Repository befindet sich auf einem Synology NAS” |
nicht aktiviert |
| Tägliche Backup-Zeit |
03:00 |
| Aufbewahrung |
7 täglich / 4 wöchentlich / 6 monatlich |
Wichtig: Das “Borg-Repository”-Feld wird 1:1 an borg create/prune übergeben – ein lokaler Pfad funktioniert genauso wie eine SSH-URL. Das Synology-Häkchen würde nur
--remote-path=/usr/local/bin/borg setzen (für den klassischen SSH-zu-NAS
Backup-Umfang: Komplettes /-Dateisystem (inkl. /home/peter), außermedia /mnt /var/log /dataund/home/lw.*/Nextcloud` (rclone-Mounts,separat behandelt). Läuft als root.
Bekannte Eigenheiten
- Einmalige Borg-Warnung: Beim allerersten Zugriff auf ein frisches unverschlüsseltes Repository schreibt Borg eine harmlose Warnung ins Fehlerlog (“previously unknown
unencrypted repository”). Libre Workspace bewertet jedes nicht-leere Feh zeigt also beim ersten Lauf fälschlich Orange/“Fehler” an, obwohl alles okwar. Tritt danach nicht mehr auf (Borg merkt sich die Vertrauensentscheidung).
- “Backup läuft”-Anzeige kann hängen bleiben: Libre Workspace prüft nugendwo in der
ps aux-Ausgabe vorkommt – das kann durch einen unbeteiligten Prozess (z.B. ein grep/pgrep mit diesem Suchbegriff) fälschlich ausgelöst werden. Falls die Anzeige lange “läuft” zeigt, ohne dass ein echter do_backup.sh/borg create-Prozess in ps aux zu sehen ist: das ist der UI-Bug, kein echtes
Nützliche Befehle (auf mhmini1, ggf. mit sudo für root-Dateien)
# Liste aller Archive
borg list /mnt/mhnas1/borg/mhmini1
# Infos/Größe
borg info /mnt/mhnas1/borg/mhmini1
# Dateien in einem Archiv durchsuchen
borg list /mnt/mhnas1/borg/mhmini1::<archivname> <pfad-teilstring>
# Wiederherstellung (Beispiel: einzelne Datei/Ordner)
borg extract /mnt/mhnas1/borg/mhmini1::<archivname> <pfad>
Für den Restore kann man dann LW verwenden oder es mit Vorta machen.
Borg-Backup Restore mit Vorta
Setup: Vorta läuft auf dem Desktop-Rechner (mhmini1). Repo liegt auf MHNAS1, erreichbar über den vorhandenen NFS-Mount /mnt/mhnas1/borg/mhmini1.
Einmalige Einrichtung (bereits erledigt)
- Vorta installiert:
sudo apt install vorta
- Repository in Vorta hinzugefügt: Add → Existing Repository
- Pfad:
/mnt/mhnas1/borg/mhmini1
- Passphrase: leer lassen (Repo ist unverschlüsselt)
Restore-Ablauf
- Vorta öffnen (Tray-Icon).
- Tab Archives → gewünschtes Backup (Datum/Uhrzeit) auswählen.
- Mount klicken → als Mountpoint
~/borg-restore wählen (leerer Ordner, einmal per mkdir ~/borg-restore angelegt).
- Ordner
~/borg-restore in Thunar öffnen, gewünschte Datei(en) suchen und an den Zielort kopieren.
- In Vorta wieder Unmount klicken, sobald fertig kopiert wurde.
Bekanntes Problem: “Unable to add your repository” / Permission denied
Ursache: Der automatische Backup-Dienst auf mhmini1 läuft als root, daher gehören neue Segmentdateien im Repo root:root (Mode 0600) und sind vom Desktop-User peter nicht lesbar. Tritt vermutlich nach jedem neuen automatischen Backup wieder auf.
Fix (via Synology DSM File Station, kein SSH nötig):
- File Station öffnen → Ordner
borg → Rechtsklick auf mhmini1 → Eigenschaften.
- Tab Berechtigung → bei “Jeder” Häkchen bei Lesen setzen.
- Unten “Auf diesen Ordner, Unterordner und Dateien anwenden” aktivieren → Übernehmen.
- Kann bei vielen Segmentdateien einige Minuten dauern.
Test, ob nötig: im Terminal borg info /mnt/mhnas1/borg/mhmini1 – bei PermissionError auf eine data/*/NNN-Datei ist der Fix wieder fällig.
Fix von Claude für Berechtigungen
Claude hat ein Skript erstellt, das Cron gesteuert folgendes macht:
- Timer aktiv: borg-fix-permissions.timer läuft täglich um 03:00 Uhr, repariert automatisch die root-Owner-Permission auf dem Borg-Repo – getestet und funktioniert (borg info läuft danach fehlerfrei durch).
Damit läuft bei mir der Backup seit einigen Tagen sauber und auch ein Test Restore hat geklappt.
Vielleicht hilft es ja irgendwem (aber wer hat schon ein so alte NAS…)