Dateibasiertes Backup verschlüsselter Linux-Systeme?

Dateibasiertes Backup verschlüsselter Linux-Systeme?

Ich habe gelernt, dass Tools wie clonezillakeine freien Blöcke auslassen können, wenn die Festplatte verschlüsselt ist, was ein großes Problem darstellt, da das Backup-Laufwerk immermindestensdieselbe Größe wie das Quelllaufwerk haben - auch wenn letzteres größtenteils freien Speicherplatz enthält! Dies ist unpraktisch und so sollten Backups nicht funktionieren.

Nehmen wir eine Standard-Linux-Installation mit einer Partitionsstruktur wieDas(verschlüsselt, LUKS auf LVM). Wie erstellt man ein bootfähiges, dateibasiertes Backup?

Idee:Wird verwendet cp -a, um alle Dateien von der Quelle auf das Sicherungslaufwerk zu kopieren.

=>Wie kann ich die Partitionsstruktur vom Terminal aus reproduzieren? Gibt es in Linux integrierte Tools für diese Aufgabe? Und werden cpDateien kopiert, die aktuell geöffnet/verwendet sind (Hot Transfer)?

Die Idee besteht offensichtlich darin, ein schlankes und elegantes Bash-Skript zu erstellen, das im Idealfall direkt von jedem laufenden Quellsystem ausgeführt werden kann:

- Creating backup -

1.) Mount empty USB flash drive to running source system
2.) Run Bash script (hot transfer of all files and partition structure)
3.) Bootable, file-based backup is created


- Restoring backup -

1.) Mount backup USB flash drive to empty host machine
2.) Boot the backup system
3.) Run Bash script (partitioning of host drive, hot-transfer of all files)


...finished! Reboot, remove backup USB flash drive, enjoy restored system.

Hinweis: Wenn ich richtig liege, wird das resultierende Backupnichtverschlüsselt werden. Dies scheint jedoch ein notwendiger Kompromiss zu sein, um es cpinnerhalb des entsperrten Systems verwenden zu können und so die Erstellung dieser gigantischen Bit-für-Bit-Images/Klone zu vermeiden. Außerdem kann eine Verschlüsselung immer noch nachträglich hinzugefügt werden.

Antwort1

Es stellt sich heraus, dassrsyncist das perfekte Werkzeug der Wahl. Es unterstützt dievollständigUndheißÜbertragung eines gesamten Dateisystems aus einem laufenden System heraus:

rsync -avxHAX / /dev/[backup_drive]/

Das Problem der Verschlüsselung/Entschlüsselung istgelöstdurch vorheriges Entsperren der verschlüsselten Festplatte:

cryptsetup luksOpen /dev/[source_drive] && rsync -avxHAX / /dev/[backup_drive]/

Die verbleibende Aufgabe besteht darin, alles zu reproduzierendraußender Umfang rsync, d. h.außerhalb des Dateisystems, also der Bootsektor (= erste 512 Bytes auf dem Laufwerk), der den Bootloader und die Partitionstabellen enthält. Hierfür könnte ddoder ddrescueverwendet werden:

cryptsetup luksOpen /dev/[source_drive] && rsync -avxHAX / /dev/[backup_disk]/ && dd if=/dev/[source_drive] of=/dev/[backup_drive] bs=446 count=1

Hier bs=446wird anstelle von verwendet, bs=512in der Annahme, dass das Backup-Laufwerk und die Partitionen eine unterschiedliche Größe haben werden, daherWeglassendie Partitionstabelle und Signaturbytes.

Das Ergebnis sollte einevollständig,heiß übertragen(aus dem laufenden System),bootfähig,spärlich(dateibasiert)Linux-Festplattensicherungerfolgt vom Terminal aus.

To Do: Backup verschlüsseln!

verwandte Informationen