Titel: BTRFS mit yabsnap – inkrementelle Backups mit hoher Datenintegrität
Beitrag von: Sebastian am 19. April 2026, 15:56:16
Einleitung: In diesem Beitrag wird ein Workflow vorgestellt, mit dem sich zeit- und platzsparende Backups auf einem BTRFS-Dateisystem (Copy-on-Write-Dateisystem mit Snapshot-Funktionalität) umsetzen lassen.
TLDR; Mithilfe von yabsnap und btrfs send/receive können effiziente inkrementelle Backups erstellt werden. Initial wird ein vollständiger Snapshot übertragen, danach nur noch Änderungen.
Voraussetzung sind zwei getrennte BTRFS-Dateisysteme: eine Quelle und ein Ziel (z. B. externe USB-Festplatte). BTRFS bietet durch Checksummen (Integritätsprüfung von Datenblöcken) und optionale Redundanzmechanismen zusätzliche Datensicherheit.
Hauptteil: Der Workflow basiert auf Snapshots, die mit dem Snapshot-Manager yabsnap erstellt werden. Anschließend werden diese mittels btrfs send/receive übertragen.
Konfigurationsdatei erstellen:
Code:
yabsnap create-config root
|
|
Ergebnis: Datei unter /etc/yabsnap/configs/root.conf.
Die Konfiguration definiert:
- Quelle des Snapshots (z. B. / oder /home)
- Zielpfad und Namensschema
- Aufbewahrungsrichtlinien (Retention)
- Automatische Snapshot-Trigger
Weitere Konfigurationen werden erstellt:
- /etc/yabsnap/configs/home.conf
- /etc/yabsnap/configs/root-backup.conf
- /etc/yabsnap/configs/home-backup.conf
Anpassung für Home:
Code:
source = /home dest_prefix = /.snapshots/@home- keep_preinstall = 0 keep_hourly = 8 keep_daily = 7 keep_weekly = 4 keep_monthly = 1 keep_yearly = 0
|
|
Backup-Konfiguration (keine automatische Rotation):
Code:
dest_prefix = /.snapshots/@backup-root- keep_user = 2 keep_preinstall = 0 keep_hourly = 0 keep_daily = 0 keep_weekly = 0 keep_monthly = 0 keep_yearly = 0
|
|
Snapshots manuell erstellen:
Code:
Ergebnis prüfen:
Code:
Initiales Backup (vollständiger Snapshot):
Code:
sudo mount --mkdir -o force-compress=zstd:15 /dev/sdX /mnt/externe-btrfs-platte sudo btrfs send --proto 2 /.snapshots/@backup-root-<timestamp> | sudo btrfs receive /mnt/externe-btrfs-platte/
|
|
Inkrementelles Backup:
Code:
sudo btrfs send --proto 2 -p /.snapshots/@backup-root-ALT /.snapshots/@backup-root-NEU | sudo btrfs receive /mnt/externe-btrfs-platte/
|
|
Die Option -p definiert den Parent-Snapshot. Es werden nur Änderungen übertragen.
Beispiele: Typische Einsatzszenarien:
- Regelmäßige System-Backups mit minimalem Speicherverbrauch
- Schnelle Wiederherstellung einzelner Subvolumes
- Versionsbasierte Sicherung von Nutzerdaten
Fazit: Der kombinierte Einsatz von yabsnap und btrfs send/receive ermöglicht effiziente, inkrementelle Backups mit hoher Datenintegrität. Durch flexible Konfiguration lassen sich unterschiedliche Anforderungen an Aufbewahrung und Speicherverbrauch umsetzen.
LG Sebastian
|
Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.
|