Backupstrategie Empfehlungen (mit borg/ssh/rsync)

Hi zusammen,

im Zuge eines remote-Backups (also außerhalb des Serverraums, kein Proxmox-Backup-Server) hoffe ich darauf, dass ein NAS den Ansprüchen genügen kann:

  • Stadt muss es kaufen können
  • ich will es stromsparend betreiben (nicht 24/7)
  • es sollte borgbackup darauf laufen können
  • genügend schnell sein (kein celeron-scheiß aus dem letzten Jahrtausend)

Hat jemand Erfahrung oder Ideen, ob QNAP/Synology oder was anderes hier taugt?

VG, Tobias

Hallo Tobias,

wir nutzen schulintern ein paar Synology-Diskstations für Backups. Das funktioniert über NFS problemlos aber das Problem dabei ist, dass es auf diesem Weg natürlich immer Vollbackups sind und die geschriebenen Datenmengen auf diese Weise (unnötig) groß sind. Das macht ZFS und der Proxmox-Backup-Server in Zusammenarbeit natürlich sehr viel eleganter! Da geht es dann entsprechend auch deutlich schneller …

Wenn man also den Punkt „Verschleiß der Platten“ mit in die Rechnung aufnimmt, relativiert sich der günstige Anschaffungspreis der Diskstations wieder etwas, da man auch regelmäßig(er) die Platten erneuern muss…

Viele Grüße,
Michael

:rofl:

Sorry, ich musste einfach schmunzeln… Aber die Kompetenz von BorgBackup ist doch genau, dass es nicht immer Vollbackups sind, oder? Das müsste doch funktionieren…

LG
Max

Ja, aber wir nutzen einfach nur Proxmox und eine Diskstation mit NFS … da läuft kein BorgBackup… (was nicht heißt, dass man das nicht nachrüsten könnte. Aber da ist mir persönlich ein PBS lieber … na ja: am Ende bleibt es Geschmackssache :man_shrugging:)

ah, dass man NFS nutzt und dann (egal was: rsync, rsnapshot, borgbackup) nutzt, darauf bin ich nicht gekommen. Ich ging davon aus, dass ich borgbackup auf dem NAS installieren können muss.

Allerdings hängt sich die Frage an, in welcher Form man die Backup-Daten am besten erstellt, wenn man die Deduplikation von borgbackup nutzen möchte: dann muss ich wohl die komprimierung abstellen, oder hat jemand LZO, ZSTD oder GZIP gegeneinander getestet, ob sich das deduplizieren lässt? Und klappt das mit „ohne“ Komprimierung, weil das ja „tars“ werden.

Ich weiß, vermutlich interessiert das die PBS-Nutzer nicht.
VG, Tobias

Scheint möglich zu sein:

Ja,danke. So was hab ich quasi erhofft.

Nach etwas drüber nachdenken, halte ich das aber nicht für eine langfristige Lösung.
Grund: Ich traue der synocommunity zunächst mal nicht zu, dass sie die manpower + willen hat, das aktuell zu halten. Da kann ich mich grundsätzlich täuschen, zumal die Community ja nur so lange aktiv sein muss, wie mein neu gekauftes Synology ein Lebenszyklus hätte, und es hier nur um ein Werkzeug geht… Aber vorschusslorbeeren und frickeleien sind bei den produktiv-systemen und ihren Backups nicht (immer) angebracht.
Nochmal überlegenswert wäre, wenn das NAS vom Hersteller aktuell bleibt und docker möglich ist und es für borg ein regelmäßiges Dockerfile/docker-image gibt.

Ich würde aber trotzdem auf ein NAS setzen (QNAP, weil Stadt KA das nur will). Auf deren Update-Verlässlichkeit muss ich setzen und die hat zumindest die letzten ~10 Jahre funktioniert (was noch nichts über die Sicherheit der Geräte selbst aussagt, Audits wären eigentlich angebracht aber irgendwo muss ich auch den Cut machen)

Aber dann mache ich es halt wie du: per NFS oder SMB oder SSHFS oder ssh/scp.

Der Vorteil der NAS-Geräte wäre halt die Größe (schnapp dir das und schließe es weg) und der Stromverbrauch und die Weiterverwendbarkeit wenn ein DAU mal meinen Job übernimmt (im Gegensatz zu einem einfachen Linuxdesktop/Intel NUC, den ich dort hinstelle und entsprechend konfiguriere)

VG, Tobias

Hi Tobias,
ja – das sind genau die Gründe, die für ein NAS sprechen … es ist wirklich einfach bedienbar. Wir haben hier auch ein Gerät älterer Generation herumstehen, das aber nicht mehr mit Updates versorgt wird. Da muss man sich dann selbst die Frage stellen, ob man das als „Risiko“ einstuft …

Bei uns stößt das Backup der Nextcloud an seine Grenzen, da dort mittlerweile auch alle Schüler ihre Tablet-Backups ablegen und sich das ganze auf ~ 1TB aufgbebläht hat. Wenn man das in der Nacht jedes Mal als Vollbackup laufen lässt, ist man sehr schnell bei den oben erwähnten langen Backup-Laufzeiten und teilweise unnötigen Schreibvorgängen. Daher will ich mindestens die Nextcloud wieder in einen ZFS-Pool schieben, der dann sehr flott auf einen anderen ZFS-Pool gesichert werden könnte … aber dazu fehlen im Moment die Plattenkapazitäten. Leider sind die Preise für SSDs seit Anfang des Jahres enorm gestiegen. Daher muss die Umsetzung noch warten :man_shrugging:

Viele Grüße,
Michael

Hi,

auch wenn es nicht ganz passt, sehe ich mich in vielen der genannten Punkten wieder und poste daher einfach mal „unsere“ Lösung:

  • auch wir wollten eine Lösung, die realisierbar ist in Form von Hardware, die beschafft werden kann (darf) oder die direkt vorort vorhanden ist.
  • eine niederschwellige Lösung, die zur Not ohne tiefergreifende Linux-Kenntnisse oder ohne Terminal-Nutzung auskommt
  • trotz allem so sicher wie eben möglich
  • Kapazität einfach skalierbar. Möglichst preiswert

Für mich relativ nebensächlich war hingegen die Prozessorpower oder gar der Stromverbrauch. Eher „Hauptsache, es läuft“.

Gelandet bin ich dann bei folgender Lösung:

  • Vorab: wir nutzen XCP-NG zur Virtualisierung. Natürlich läuft auch Xen Orchestra als eine weitere VM.
  • Auf einem der noch tauglichen aber ausrangierten Desktop-Rechner haben wir Openmediavault installiert. Neben der Systemplatte ist eine große intere Festplatte für die Backups eingebaut (ich weiß: kein Raid, aber deshalb der nächste Schritt). Um das Ausfallrisiko der internen Platte mit den Backups abzufangen, gibt es eine externe USB-Festplatte, auf die ebenfalls regelmäßig via Cronjob die interne Platte gespiegelt wird. Es gibt also Backup und Backup-vom-Backup.
  • Dank Openmediavault kann man diverse Freigaben konfigurieren. Und das schön über eine Weboberfläche :slight_smile:
  • Den Sicherungsprozess übernimmt die Xen-Orchestra-VM auf dem XCP-NG. Das geht als Vollbackupg, Delta-Backup, usw.

Für mich pragmatisch, funktional und für den Betrieb in der Schule vollkommen ausreichend. Da der Openmediavault-Desktop-Rechner in einem anderen Brandabschnitt als die Server stehen, habe ich ein relativ beruhtiges Gefühl.

Ich werfe diese Lösung mal einfach als Idee in den Raum. Ich freue mich auch gerne über Rückmeldungen / Anmerkungen zu dieser Lösunge :slight_smile:

Viele Grüße

Thomas

1 „Gefällt mir“

Danke, @leckelt ,

das ist sicher eine gute Strategie für XCP-ng und so könnte man ähnlich mit Proxmox und PBS argumentieren.

Ich will hier mal noch unsere Backupstrategie Präsentieren und kommentieren und gerne von euch kommentiert haben:

zunächst was in der Schule läuft:

Dann, was bei Hetzner läuft:
grafik

und dann etwas Erklärung dazu:

Das sieht ziemlich komplex aus und das finde ich auch. Aber ich finde auch Gründe, warum es so komplex ist:

  • 1 - Vollbackups von den Snapshots für ein Disaster-Recovery ist sicher unablässig. Wenn ich einen PBS hätte, könnte ich darauf evtl. verzichten.
  • 2 - Backups des externen Root-Servers bei Hetzner: Einerseits muss ich auch dort Disaster-Recovery einplanen. (Könnte evtl durch ein Backup bei Hetzner ersetzt werden.) Andererseits speichere ich auch damit direkt Konfigurationen, Nutzerdaten und Datenbanken abrufbar in einem borg-Backup. Das ist sehr hilfreich, wenn einzelne Daten rekonstruieren soll/muss, wie z.B. ein Nextcloud-Calender, weil die App eines Kollegen alle Kalenderdaten gelöscht hat.
  • 3 - Backup des LMN auf Dateisystemebene: Gleicher Grund: schnelle Rekonstruktion einzelner Dateien. Aus dem Snapshot zu holen ist das ungemein kompliziert.
  • 4 - Backup der Dockerumgebung mit Daten und Datenbanken: Gleiche Argumentation: Rekonstruktion nach versehentlichem Löschen. Das brauche ich nicht für alle virtuelle Maschinen gleichermaßen (Firewall, Testsysteme brauchen so was eher nicht)
  • 5 - Backup meine Matrix-Instanz: In speziellen Fällen (User postet unverschlüsselt Unsagbares und löscht das wieder und ich soll das rekonstruieren oder nachvollziehen oder Ursachenforschung betreiben) kann man so ein Backup brauchen. Meist kann man sich so etwas sparen.

Meine Frage an euch:

  • würdet ihr das anders machen? Immerhin braucht man für dieses Setup mehrere borg(matic)-backup-konfigurationen, unterschiedliche Werkzeuge bzw. Backuparten und vieles ist manuell zu skripten.

Eine mich interessierende Frage ist, ob Borg denn so sinnvoll von vielen Computern aus ist?

  • Denn Borg kann nicht von mehreren Computern in dasselbe Repository schreiben. Die Alternative Software „restic“ könnte das. Vor/Nachteile werden hier: https://stickleback.dk/borg-or-restic/ diskutiert. Das bedeutet, dass man pro borg/borgmatic-Installation mind. ein Repo erzeugt, auf das man dann je mit einem repo-key zugreifen kann.

  • Außerdem muss man sich ja fragen, wie man im Fall eines Crashes oder im Fall eines Umzuges von einem Rechner zum nächsten an die Daten kommt bzw. das Backup nahtlos vom neuen Rechner aus anstößt. Meiner Meinung nach ist das alles kein Problem, solange man den Pfad zum Repo identisch hält und den Encryptionkey hat: Wenn man ein Repo remote ansteuert, kann man das von mehreren Computern tun, aber eben nicht gleichzeitig in ein Repo schreiben.

  • Zuletzt ist es sehr sinnvoll auf allen Geräten dieselbe borg-installation zu haben. Die ansible-role hier: GitHub - borgbase/ansible-role-borgbackup: Ansible role to set up Borg and Borgmatic ist für mich das Mittel der Wahl. Ich bin allerdings noch unschlüssig, ob ich auf meinem Ziel-NAS von QNAP die „borg-app“ installieren soll (momentan borg 1.4.0), händisch die gewünschte Version via „pip“/„pipx“ oder versuchen soll, oder ob ich ganz auf borg auf dem NAS verzichten soll und via sshfs mein NAS-Ziel mounte.

Hi Tobias,
kurzer Kontext: Wir haben jetzt neu restic im Einsatz, da sich die QNAP mit ARM und borgmatic schwer tut. QNAP und SFTP ist nochmal so ne Sache. Wir mounten einfach den Share mit CIFS und behandeln das wie ein lokales Repo. Für jede VM haben wir einen User auf der QNAP und ein Repo mit jeweils anderem Passwort und Schlüssel. Sollte irgendwo ein Skript hohl drehen ist dann auch nicht alles weg.

Zur eigentlichen Frage: Ich sehe es eher Vorteilhaft, wenn nicht alles ins selbe Repo speichert. Ich erhoffe mir schneller zu finden was ich suche und die Backups leichter „aufgeräumt“ zu halten. Unterschiedliche Server brauchen unterschiedliche Lebensdauern der Backups. Also sind die parallelen Konfigurationen aus meiner Sicht eher ein Feature als ein Problem.

Um das manuelle Skripten kommt man glaube ich eh kaum herum. Nextcloud will z.B. in den Wartungsmodus versetzt werden, bevor man es sichert. Die Ansible-role scheint ja schon viel abzunehmen.

Bei der LMN bietet es sich an, die Samba-Domäne zusätzlich mittels samba-tool domain backup online wegzuschreiben und mitzusichern, um im Notfall schnell wieder ein funktionierendes AD für den Übergang zu haben.

VG, Skye

Hi Tobias,
was spricht denn gegen den (sehr geringen) Aufwand, einen PBS zu installieren? Alois verschenkt gerade PCs (oder ich leih Dir mal wieder einen für immer :slight_smile: und ich hab noch ein paar 500GB Platten rumliegen, aber auch 1TB ist nicht mehr teuer… Die Installation geht schnell und dann ist (zumindest in der Schule) alles sehr einfach…
LG
Max