staging.inyokaproject.org

Pull Backup server einrichten

Status: Ungelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

Serengeti

Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1966

Ich möchte gerne einen Pull-Backup Server einrichten. Dieser Server soll periodisch verschiedene PC's per SSH auf Erreichbarkeit prüfen und dann ein Backup machen.

Bald erhält meine Familie Ubuntu 20.04. Ich muss mich nun entscheiden, wie ich das Backup machen möchte. Würdet ihr ZFS nehmen und den Backup Server ZFS-Snapshots Backupen lassen?

  1. Wie müsste das unter ZFS machen? (Send/Receive Scripte sind meist so ausgelegt das sie die Backups auf einen Server schieben nicht umgekehrt)

  2. Kann ich Root und Home separat sichern?

  3. Wie funktioniert das wiederherstellen?

  4. Kann ich das nur mit Leserechten per ssh auf den Familien PC's bewerkstelligen?

Würdet ihr rsync verwenden?

  1. Wie ist die Performance, wenn ich die ganze Festplatte (home ein separater Backup Prozess) sichern möchte?

  2. Wie verhält sich rsync eigentlich bei geöffneten Dokumenten oder Thunderbird?

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo! Serengeti schrieb:

Würdet ihr rsync verwenden?

  1. Wie ist die Performance, wenn ich die ganze Festplatte (home ein separater Backup Prozess) sichern möchte?

  2. Wie verhält sich rsync eigentlich bei geöffneten Dokumenten oder Thunderbird?

Falls das deine Lösung werden sollte: BackupPC macht das über eine Weboberfläche sehr feinkörnig einstellbar. (Hatte das bis vor ~ 2 Jahren in Gebrauch.)

Ansonsten: Definiere mal "ganze Festplatte" im Zusammenhang mit dem Home. Meinst du, du möchtest die Root-Partition exklusive /home sichern? Dann benötigst du root-Zugriff und müsstest manuell die ganzen unnötigen Ordner ausklammern. Lohnt sich eigentlich nicht, da reicht es /etc zu sichern, wenn überhaupt.

Geöffnete Dokumente befinden sich im Speicher(RAM), es wird also die gespeicherte Version von der Platte gesichert, so dass bei schlechtem Timing die alte Version gesichert wird. Für sowas wie Dokumente bietet sich auch eine Cloudlösung an (Nextcloud/Owncloud & Co.), da es dort eine gute Versionierung gibt und der Abgleich vollautomatisch erfolgt.

Serengeti

(Themenstarter)
Avatar von Serengeti

Anmeldungsdatum:
24. Februar 2008

Beiträge: 1966

Ich habe bis jetzt eine Backuplösung im Einsatz bei dem ich Daten via Syncthing sichere. Das Problem ist, dass das ich regelmässig Probleme wie hohe Datenmengen mit geöffneten Anwendungen habe. z.B. Thunderbird aber auch andere Anwendungen die viel lesen und Schreiben machen Probleme. Mein Ziel ist es, dass wenn der Familie ein PC kaputt geht, ich dann einfach eine neue Festplatte möglichst einfach mit einem Backup bespielen kann, und das dann als Ersatz vor Ort einbauen oder einen neuen PC damit ausstatten kann. Das geht mit Syncthing eigentlich ganz gut. (Ich musste das bislang ein mal machen.) Leider sind die Ausnahmen in Syncthing aufwendig und es kommt mir etwas frickelig vor.

Wenn ich mir aber ein Snapshot System wie ZFS ansehe, dann stelle ich mir vor, wie ich einen Snapshot erstelle und dann alle, auch geöffneten Daten einem bestimmten Moment entsprechend und ich dann halt auch stetig ändernde Dateien backupen kann. Es muss aber einfach sicher sein, sodass ich es leicht wiederherstellen kann. Snapshots müsste ich einaml für / (wegen installierter Anwendungen) und einmal für jeden User in /home/ anlegen und sichern können.

Vom Root-System soll es nur ein Image geben, dass ich so an alle Familienmitglieder verteile. Ich werde in einer VirtualBox eine Installation aufsetzen und lege alle Familienmitglieder an und konfiguriere die so weit es geht. Dann mach ich einen Snapshot für jeden PC der Familie wo ich dann die Home Verzeichnisse all derer lösche die da nichts zu suchen haben und mach dann ein Image, dass ich dann auf die HDs der Mitglieder kopiere. Bei einem Absturz würde ich dann die gesicherten Daten in die Jeweilige VM kopieren und ein neues Image auf eine Leere Festplatte zügeln.

So der Plan aktuell und meine Lösung mit Syncthing für 18.04.

Probleme hatte ich nur mit Daten, die auf allen PCs anders sein müssen wie Wireguard Konfiguration (die ich neu Benutzerspezifisch Plane), PC-Name, SSH Zugang und der gleichen und eben mit hohen Datenmengen.

Cranvil

Anmeldungsdatum:
9. März 2019

Beiträge: 990

ChickenLipsRfun2eat hat schon deutlich gemacht, dass man nur sichern kann, was auch auf die Festplatte geschrieben wurde. Das bedeutet in Abhängigkeit von den jeweiligen Applikationen, dass diese bedarfsweise zu schließen sind, um inkonsistente und damit "kaputte" Sicherungen zu vermeiden.

ZFS erlaubt dir das Anlegen von Snapshots für Datasets/Dateisysteme. Bzgl. der Anlage von Dateisystemen sind dir eigentlich keine Grenzen gesetzt. Du kannst diese sogar verschachteln und damit noch mehr Granularität reinbringen. Das bedeutet gleichzeitig, dass du die Snapshots für die einzelnen Datasets unabhängig voneinander übertragen kannst. Damit kannst du bei Bedarf auch dafür sorgen, dass bestimmte Abschnitte gar nicht erst übertragen werden.

Die send/receive-Skripte in deinem "Pull-Szenario" dürften am Ende gar nicht so anders aussehen. Effektiv funktioniert ein receive nicht, wenn es kein send gibt - wo soll der die Daten herbekommen? Das einzige "Pullige" an deinem Backup-Server ist damit die Quelle der Befehle, die die zu sichernden Systeme ausführen müssen. Hier muss sich ein Skript auf dem Backup-Server auf jeden Backup-Client verbinden, die Anlage der Snapshots und das Senden dieser auslösen, den Empfang auf dem Backup-Server initiieren und fertig. Gleiches gilt auch für andere Sicherungsmethoden.

Bei der Wiederherstellung aus ZFS-Snapshots hast du in Abhängigkeit vom auslösenden Szenario verschiedene Möglichkeiten:

  • Wenn du ein Dateisystem in einen Mountpunkt eingehangen hast, solltest du dort ein Unterverzeichnis .zfs /snapshot mit den verfügbaren Snapshots vorfinden. Darin stöbern und die gesuchten Dateien herauskopieren.

  • Du erstellst ein neues ZFS Dateisystem und empfängst den gewünschten Snapshot dorthin.

  • Du rollst so viele Snapshots zurück, bis zu den gewünschten Zustand erreichst - mit Verlust der danach angelegten Snapshots.

  • Du klonst einen Snapshots in ein eigenes Dateisystem und arbeitest damit weiter.

rsync hat im Vergleich zu ZFS-Snapshots den Vorteil, dass es einigermaßen unabhängig vom verwendeten Dateisystem ist. Du könntest also fleißig Dateisysteme wechseln, ohne etwas an der Sicherung ändern zu müssen. Mit fortgeschrittenen rsync-Funktionien, die z.B. dirvish benutzt, kannst du sogar den Eindruck einer täglichen Vollsicherung erwecken, ohne dass zusätzlicher Speicher verwendet wird (ich vermeide hier mal, das als eine Form von Deduplizierung darzustellen).

Was die Installation angeht, kannst du dich mit der Installationsanleitung von Ubuntu beschäftigen. Insbesondere das dort genannte Preseeing ist gar nicht mal so uninteressant. Ich benutze derzeit die Bento-Templates, um mir automatisch virtuelle Maschinen für VirtualBox/Vagrant zu generieren. Das kombiniert mit einem Post Install-Skript pro Maschine ist vielleicht auch eine Sache, die sich mittel- bis langfristig umsetzen lässt. Allerdings ist das ein ganz anderes Themengebiet. 😉

Antworten |