Sichern Sie regelmäßig eine LVM-Partition

553
frarugi87

Ich habe einen kleinen Heimserver (Ubuntu Server 17.10) und möchte einige Backups dafür erstellen. Meine Hauptpunkte sind:

  • Der Server verfügt über zwei Festplatten. Die erste (eine SSD) ist mit der EFI-Partition und einem LVM-Speicherplatz partitioniert. Im Inneren befinden sich zwei LVM-Volumes. Ich möchte eines davon sichern. Ich habe genug Platz gelassen, um bei Bedarf ein Snapshot-Volume zu erstellen. Die zweite hat zwei Partitionen, und ich möchte die zweite einhängen, wenn sie zum Speichern der Backups benötigt wird. Diese beiden Partitionen auf der zweiten Festplatte sind nicht Teil des LVM-Speicherplatzes
  • Der Server ist nicht rund um die Uhr verfügbar
  • Ich hätte ein Backup wie dieses:
    • Täglich um 1.00 Uhr * eine inkrementelle Sicherung durchführen; Wenn die Sicherung nicht ausgeführt wird, weil der PC ausgeschaltet ist, führen Sie sie aus, wenn Sie bereit sind
    • Bewahren Sie maximal 5 * tägliche inkrementelle Backups auf. Wenn eines Tages die Sicherung nicht durchgeführt wurde, weil der PC den ganzen Tag ausgeschaltet war, sollten immer 5 * Sicherungen vorhanden sein.
    • Jeden Monat sollte eine vollständige Sicherung (dh keine inkrementelle Sicherung) zum Schutz vor Datenverfälschungen vorhanden sein
    • Behalten Sie höchstens 3 * monatliche vollständige Sicherungen. Es gilt das gleiche unter Punkt 2 erläuterte Konzept (3 * Sicherungen, nicht die Sicherungen der letzten 3 * Monate).

Hinweis: Der Zeitpunkt und die Anzahl der Backups (mit einem * gekennzeichnet) können geändert werden.

Zum Beispiel ist heute der 14/03. Am 11/03 war der PC den ganzen Tag außer Betrieb, daher sollte in der Datenbank Folgendes stehen:

Inkrementelle Sicherungen: 14/03, 13/03, 12/03, 10/03, 09/03 (09/03 kann bei Bedarf auch abgeschlossen werden) Komplette Sicherungen: 01/03, 01/02, 01/01

Nun, ich bin ziemlich neu in diesem Bereich, also habe ich mich umgesehen und habe Attic und dann Borg gefunden. Aber ich kann nicht verstehen, ob das, was ich erreichen will, mit Borg machbar ist oder nicht, oder ob es einfachere Wege gibt, dieses Programm zu verwenden, als dieses Programm zu verwenden (in Anbetracht der Tatsache, dass ich LVM bin. Vielleicht kann ich einen Schnappschuss verwenden, um " Track "ändert oder ... was auch immer).

Also ... Kann das, was ich beschrieben habe, in einem einzigen (oder doppelten) Borg-Skript implementiert werden? Empfehlen Sie andere Tools (oder eine einfache Kopie)? Oder denken Sie, dass die von mir beschriebene Strategie nutzlos / nicht genug ist?

Vielen Dank

HINWEIS: Ich habe dies fälschlicherweise auf Serverfault geöffnet, und da ich es nicht verschieben konnte und es weder Kommentare noch Antworten gab, zog ich es vor, den alten zu löschen und hier neu zu öffnen, um den Übergang zu beschleunigen und zu vermeiden, dass diese Aufgabe dem Server übergeben wird Moderatoren

EDIT: Vielleicht habe ich es nicht richtig erklärt, also mache ich noch ein paar Zeilen in dieser Frage.

Meine Erfahrung mit "inkrementellen" Momentaufnahmen stammt von Virtualbox. In diesem Fall werden die Änderungen zusammengeführt, wenn Sie einen Schnappschuss entfernen.

Um zu vermeiden, dass zu viel geschrieben wird, mache ich ein Beispiel mit maximal drei täglichen Backups.

Angenommen, wir sind in dem Zustand

  • Tägliche Sicherung 12/03 - Vollständige Kopie des Dateisystems am 12/03
  • Tägliches Backup 13/03 - Änderungen zwischen 12/03 und 13/03
  • Tägliche Sicherung 14/03 - Änderungen zwischen 13/03 und 14/03

Heute ist ein neuer Tag, die Sicherung beginnt. Es gibt aber bereits 3 tägliche Backups. Das 12/03-Backup und das 13/03 werden zusammengeführt (die 13/03-Unterschiede werden auf die Basisversion angewendet), und es wird ein neues inkrementelles Backup erstellt. Auf diese Weise verlieren Sie die Unterschiede zwischen 12 und 13, aber die Sicherung bleibt "voll":

  • Tägliche Sicherung 13/03 - Vollständige Kopie des Dateisystems am 13/03
  • Tägliche Sicherung 14/03 - Änderungen zwischen 13/03 und 14/03
  • Tägliche Sicherung 15/03 - Änderungen zwischen 14/03 und 15/03

Ich denke, das ist das normale Verhalten von Borgs Pflaume (bitte korrigiere mich, wenn ich falsch liege, bitte)

Eine andere Option (die meiner Meinung nach wünschenswerter ist) wäre das Zusammenführen der inkrementellen Sicherungen von den monatlichen. Ich meine so etwas wie:

  • Monatliche Sicherung 01/03 - Vollständige Kopie des Dateisystems am 01/03
  • Tägliches Backup 12/03 - Änderungen zwischen 01/03 und 12/03
  • Tägliches Backup 13/03 - Änderungen zwischen 12/03 und 13/03
  • Tägliche Sicherung 14/03 - Änderungen zwischen 13/03 und 14/03

Beim Beschneiden werden die 12 und 13 zusammengeführt (so wird Daily Backup 13/03 - Änderungen zwischen 01/03 und 13/03), und es wird eine neue erstellt.

Die letzte Option, die meiner Meinung nach weniger wünschenswert ist (wenn Sie jedoch der Meinung sind, dass dies besser ist, können Sie dies argumentieren), sollten Sie die täglichen Backups relativ zu den monatlichen Backups halten.

  • Monatliche Sicherung 01/03 - Vollständige Kopie des Dateisystems am 01/03
  • Tägliches Backup 12/03 - Änderungen zwischen 01/03 und 12/03
  • Tägliches Backup 13/03 - Änderungen zwischen 01/03 und 13/03
  • Tägliches Backup 14/03 - Änderungen zwischen 01/03 und 14/03

In diesem Fall ist es einfacher: Entfernen Sie einfach das tägliche Backup, ohne hinter sich zu blicken.

0
Normalerweise, wenn die Leute einmal im Monat von einer vollständigen Sicherung sprechen, und dann inkrementelle Sicherungen jeden Tag, beziehen sie sich jeweils auf den Tag vor dem Tag. Wenn Sie also nur die letzten 5 aufbewahren, haben Sie nach Tag 5 einige gesicherte Daten, die Sie nicht haben habe länger eine Sicherung von und würde verlieren, wenn Sie wiederherstellen müssten. Oder meinten Sie, dass die inkrementellen Sicherungen relativ zur letzten vollständigen Sicherung sein sollten und nicht zur letzten inkrementellen Sicherung? psusi vor 6 Jahren 0
@psusi Momentan sind die einzigen "inkrementellen" Dinge, mit denen ich ein wenig Erfahrung habe, Virtualbox-Snapshots. Auf jeden Fall nein, ich meine nicht eine "verlustbehaftete" Art der Sicherung. Ich bearbeite die Frage, um dies weiter zu erklären frarugi87 vor 6 Jahren 0

1 Antwort auf die Frage

0
psusi

Sie können Sicherungen nicht wirklich "zusammenführen". Es ist nicht ganz das, wonach Sie gefragt haben, aber dies könnte Ihren Bedürfnissen entsprechen. Das Backup-System, das ich verwende, ist ein cronJob mit dumpmehreren Ebenen in einem Turm mit hannoi-Muster. Ich glaube, Sie können verwenden anacron, um sicherzustellen, dass Läufe ausgeführt werden, wenn das System ausgeschaltet ist, wenn es das nächste Mal läuft.

#!/bin/bash set -e declare -a LEVELMAP=(1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5 1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5) DATE=`date +%-d` LEVEL=$ echo Performing a level $LEVEL dump sync lvcreate -s -n snap devserv2/root -L 1g dump -$LEVEL -quz9 -b 1024 -f /backup/dump.$LEVEL /dev/mapper/devserv2-snap lvremove -f devserv2/snap 

dumphat das Konzept von Ebenen. Ein Speicherauszug der Ebene 0 enthält alles. Ein Level 1-Dump enthält alles, was sich seit dem letzten Level 0 geändert hat. Ein Level 2 enthält alles seit dem letzten Level 0 oder Level 1, je nachdem, was jünger ist, und so weiter. Durch Ausführen der aufgelisteten Level-Dumps an jedem Tag des Monats erhalten Sie am 1. und 17. des Monats eine Stufe 1. Diese enthalten alles seit dem letzten Level 0, was ich alle paar Monate manuell mache. Die restlichen Tage des Monats verwenden Sie die Stufen 2 bis 5. Das bedeutet, dass Sie zu jeder Zeit über 3 Sicherungsstufen verfügen, die seit dem 1. oder 17. des Monats Änderungen enthalten. Häufig geänderte Dateien enthalten mehrere Versionen, auf die Sie in jeder dieser Sicherungen zurückgreifen können, deren Alter von 1 bis 1 variiert einige Tage.