Backupkonzept Linuxserver/Userdaten

XXXBold

Ensign
Registriert
Aug. 2019
Beiträge
150
Hallo zusammen

Ich habe mir kürzlich einen neuen Homeserver zusammengestellt.

Nun laufen einige Dienste darauf, und ich möchte mich als nächstes daran machen, für das Ganze ein Backupkonzept zu erstellen. Gesichert werden soll auf (unterschiedliche) externe Festplatten.

Der Server hat drei physische Festplatten: Eine NVME-SSD für OS und co (BTRFS), und zwei 18TB HDDs (Im BTRFS-Raid1 (Mirror) Mode) für Daten.
Code:
/etc/fstab:

UUID=xxx /               btrfs   ssd,discard,noatime,subvol=@rootfs 0       2
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=xxx  /boot/efi       vfat    umask=0077      0       1

# BTRFS Raid1 device 18TB
UUID=xxx /media/storage18tb btrfs defaults 0     1

Daten, welche gesichert werden sollen
  • Div. Configfiles des Servers selbst (/etc, /home mancher user)
  • Nextcloud Server Daten (Backupfunktionen dafür existieren: https://docs.nextcloud.com/server/stable/admin_manual/maintenance/backup.html) (Konfiguration auf /var/www und /etc, Daten auf /media/storage18tb)
  • Div. grössere Mediendateien auf /media/storage18tb
  • Borgbackup Repos unterschiedlicher user (Zugriff darauf erfolgt über backupuser via SSH) auf /media/storage18tb
1) Ich würde gerne eine tägliche Sicherung einrichten, welche automatisch zu einer bestimmten Zeit läuft (via cron, systemd-timer). Um Datenkorruption zu verhinden, soll vor dem Start Zugriff auf die Nextcloud sowie auf die Borgbackup-Repos deaktiviert werden.
Diese Sicherung kann intern erfolgen, z.B. auf /media/storage18tb an einem gesonderten Ort.

2) Das "eigentliche" Backup kann unregelmässig auf unterschiedliche externe USB-Festplatten erstellt werden (Diese werden nur bei Bedarf ans System angeschlossen und bei Abschluss wieder entfernt). Dabei kann der täglich aktuelle Stand von 1) gesichert werden.

Wie würdet ihr in so einem solches Szenario vorgehen? Falls (sinnvoll) möglich, würde ich gerne Borgbackup/Borgmatic einsetzen. Allerdings weiss ich nicht ob/wie sinnvoll das ist, vorallem wenn damit damit die bestehenden Borgrepos nochmal in quasi ein zweites Repo verpackt werden. BTRFS unterstützt ja auch Snapshots für solche Fälle, damit habe ich mich allerdings noch nicht beschäftigt.

Infos zum Server
OS: Debian 11 (stable)
Anbindung: 400 MBits (synchron)
Hardware: https://geizhals.de/?cat=WL-2911276

Falls weitere Infos von Nöten sind reiche ich diese gerne nach :)

(Bin mir nicht sicher, ob der Betrag hier oder ins "Backup" Forum gehört. Da Linuxspezifisch, habe ich mich für hier entschieden)
 
Gibt es einen bestimmten Grund warum Du Dich gegen diverse NAS-Ideen / Hypervisoren entschieden hast? Es gibt das einige Lösungen - Unraid, TrueNAS, Xpenology etc. auch könnte eine virtualisierte VM leichter mit bspw. Veeam gesichert werden... Ansonsten sehe ich ne Menge scrpting auf Dich zukommen...

1) Müsste wohl Stopp vom entsprechenden Service, geben, dann cp / dd / rsync, dann wieder start.
2) Gleiches Spiel...

Ersntgemeint: Frag mal Chat GPT da hab ich kürzlich di egenauen Befehle für eine Frage bekommen....
 
Wenn du einfach nur ne Kopie der Daten bzw. einen Snapshot erstellst, wird das bei den Meisten nicht als Backup durchgehen. Die Daten sind ja dann nach wie vor komplett veränderlich auf deinem System und alles was die Nutzdaten betreffen kann, kann bzw. viel eher wird auch die Kopien/Snapshots erwischen.

Ansonsten, wenn du BTRFS nutzt, lies dich in Snapshots ein. Da kannst du dir entweder etwas selbst bauen, oder nutzt das kleine Programm "timeshift". Je nach Anwendung, muss man auch nichts offline nehmen. Borg ist robust gegenüber unvollständigen Backups, da kannst du also einfach jederzeit ein Snapshot anlegen.

Bei Nextcloud ist es etwas komplizierter, aufgrund der Fülle an möglichen Konfigurationen. Im Zweifelsfall sollte man sich da einlesen, wie robust die Datenbanksoftware gegenüber unvollständig geschriebenen Zuständen ist. NC auf einem Apache mit Postgresql ohne Redis überleben das Wiederherstellen aus Snapshots, die mittem im Betrieb erfolgten. Mit dem üblichen Problemen eines jeden Wiederherstellens alter Zustände, dass sich Clients und Server an einigen Stellen etwas uneins sind, was der gültige Zustand sein soll (Files, Calendar, Contacts bekommen das recht gut aufgelöst, bei 3rd Party Apps kann es aber nervig werden).

Aber nochmal, das ist kein Backup!
 
Danke euch beiden für eure Antworten.

DFFVB schrieb:
Gibt es einen bestimmten Grund warum Du Dich gegen diverse NAS-Ideen / Hypervisoren entschieden hast? Es gibt das einige Lösungen - Unraid, TrueNAS, Xpenology etc. auch könnte eine virtualisierte VM leichter mit bspw. Veeam gesichert werden... Ansonsten sehe ich ne Menge scrpting auf Dich zukommen...
Der Server dient ja nicht nur als NAS, daher habe ich keine entsprechende Lösung direkt installiert. Das mit der Virtualisierung habe ich mir überlegt, aber mich vorerst dagegen entschieden, da ich mich damit nicht auskenne und es vermutlich etwas Overkill wäre. Ich müsste mich in die Thematik mal genau einlesen bevor ich das machen würde, vlt bei der nächsten Installation.
Ein paar Skripte zu schreiben/anzupassen ist für mich okay :)

Piktogramm schrieb:
Wenn du einfach nur ne Kopie der Daten bzw. einen Snapshot erstellst, wird das bei den Meisten nicht als Backup durchgehen. Die Daten sind ja dann nach wie vor komplett veränderlich auf deinem System und alles was die Nutzdaten betreffen kann, kann bzw. viel eher wird auch die Kopien/Snapshots erwischen.
Naja, beispiel habe ich jetzt aktuell ein lokales Borg-Repositry auf dem Raid 1, welches mittels borgmatic täglich aktualisiert wird. Da es von root angelegt wird, haben andere Nutzer darauf kein Zugriff, daher ist eine solche Änderung schonmal auszuschliessen.

Piktogramm schrieb:
Bei Nextcloud ist es etwas komplizierter, aufgrund der Fülle an möglichen Konfigurationen. Im Zweifelsfall sollte man sich da einlesen, wie robust die Datenbanksoftware gegenüber unvollständig geschriebenen Zuständen ist.
Lässt sich mit borgmatic über die pre/post hooks ganz gut lösen: am Anfang wird die Instanz in den Wartungsmodus gestellt, dann wird über mysqldump die DB gesichert+die Daten und am Ende gehts wieder zurück in den Normalbetrieb.

Noch offen ist die "wirkliche" Sicherung auf externe Festplatten. Habe da aktuell kein Modell zur Hand mit genügend freiem Speicher. Nicht so tragisch im Moment, da der Schaden sich beim Datenverlust in Grenzen halten würde und ich ein solches Szenario für unwahrscheinlich halte.
Denke aber auch da wird es dann Sinn machen, auf borgmatic zurückzugreifen, da lassen sich einzelne Konfigurationen anlegen.
Gibts da bestimmte Modelle, die zu empfehlen/zu meiden wären (16TB+)?
 
Zurück
Oben