Backup-System für ein langsames Netzwerk

Backup-System für ein langsames Netzwerk

Ich versuche, ein Backup-System zu entwickeln, das es mir ermöglicht, bei jeder neuen Sicherung die minimale Datenmenge zu übertragen.

Derzeit führe ich ein inkrementelles Backup über Duplicity auf einen SMB-Mount durch. Damit bin ich im Moment auf etwa 1 MB/s beschränkt (WLAN/Ndiswrapper ist zwar albern, aber trotzdem – mehr als eine fünffache Geschwindigkeitssteigerung werde ich durch die Reparatur nicht erreichen).

Leider erschweren die gelöschten, geänderten usw. Daten die dauerhafte Aufbewahrung der inkrementellen Backups. Ich kann sie nicht einfach zu einem vollständigen Backup zusammenfassen und das Erstellen einer vollständigen Kopie von über 40 GB dauert mittlerweile etwas lange.

Es gibt ein paar Dinge, die ich mit dem neuen System erreichen möchte, und ein paar, die mir nicht so wichtig sind:

  • Ich hätte gerne ein paar Checkpoints, aber wahrscheinlich nicht mehr als 2 oder 3
  • Die Verschlüsselung ist mir egal, da sich der Speicher im lokalen Netzwerk befindet
  • Komprimierung wäre gut, aber ich denke, ich kann einfach Dateisystem-/Gerätekomprimierung verwenden
  • Ich möchte alle Backups bis auf das letzte komplett löschen können, ohne erneut eine vollständige Kopie erstellen zu müssen.

Dies scheint mit rsync + Loop-Gerätekomprimierung + FS-Snapshotting machbar zu sein … aber leider unterstützt mein Gerät keine Snapshots. Es hat nur die Liste der unterstützten Dateisysteme von Debian-Standard und ich möchte Btrfs nicht wirklich für Backups verwenden.

Gibt es vergleichbare Lösungen? Wie kann ich es sonst angehen?

Bearbeiten: Ich denke, dass der Snapshot-Teil tatsächlich mit schreibgeschützten LVM-Snapshots durchgeführt werden kann. Dies würde auch eine weitere Schutzebene vor Apps bieten, die sich schlecht verhalten.

Antwort1

Schnappschussführt inkrementelle Backups durch die Verwendung von Hardlinks und rsync durch – wenn die Datei dieselbe ist wie beim letzten Backup, wird sie einfach mit einem Hardlink versehen. Wenn Sie also nichts ändern und rsnapshot drei Stunden lang jede Stunde ausführen, hätten Sie drei Ordner:

hourly.0
hourly.1
hourly.2

Jeder würde ein „vollständiges“ Backup enthalten, aber nur eine Kopie jeder Datei würde auf der Festplatte vorhanden sein. Das bedeutet, wenn Sie hourly.2 löschen, würden hourly.1 und hourly.0 immer noch alle Dateien enthalten. Sie können Ihre Backup-Häufigkeit und die Anzahl der Snapshots festlegen.

Damit würden Sie Ihr erstes Ziel erreichen. Allerdings muss das Zieldateisystem Hardlinks unterstützen, damit dies funktioniert.

Eine Alternative hierzu wäre die Verwendung von rsync +LVMauf dem Sicherungsgerät und erstellen Sie regelmäßig Snapshots. LVM-Snapshots sind „Copy-on-Write“-Volumes, die mit dem Original identisch bleiben, indem dieselben Blöcke wie das Snapshot-Volume wiederverwendet werden, es sei denn, die Blöcke ändern sich, woraufhin das Snapshot-Volume nur die Blöcke speichert, die sich geändert haben. Es kann daher so dimensioniert werden, dass es der Änderungsrate des Volumes, von dem der Snapshot erstellt wird, zwischen den Sicherungen entspricht.

Komprimierung wäre gut, aber wenn Sie btrfs nicht verwenden möchten, ist tatsächlich eine Art Dateisystemkomprimierung über eine Schleife oder Sicherung erforderlich.

verwandte Informationen