Sichern / Klonen einer btrfs-Partition

9

Ist es möglich, eine btrfs-Partition wörtlich (einschließlich aller gemeinsam genutzten Strukturen, die Platz sparen, indem Snapshot-Bäume als COW markiert werden) auf einer anderen zu sichern? Zum Beispiel möchte ich meine Root-Partition sichern, die einige btrfs-Subvolumes (Snapshots von / selbst) enthält.

Der einzige Weg, den ich mir vorstellen kann, ist die Verwendung eines Blockkopier-Tools wie dieses, ddaber das ist ineffizient, da meine Partition nur zu 20% voll ist und ich beabsichtige, sie regelmäßig zu sichern. Ich habe bereits alles schrittweise mit gesichert rsync, daher ist dies keine Problemumgehung für ein anderes Problem. Ich brauche einfach ein bisschen für Bit-Klon meiner btrfs-Partition, ohne ein Tool wie verwenden zu müssen dd.

Ich weiß, dass ext3 zum Beispiel ein Dienstprogramm zum Speichern und Wiederherstellen bereitstellt. So etwas suche ich.

AKTUALISIEREN

Hier ist ein Update, um zu verdeutlichen, dass ich auf die Dateien im Sicherungsspeicher genauso zugreifen kann wie auf der Live-Festplatte (dh ich möchte keine Speicherauszugsdateien auf dem Sicherungsspeicher speichern).

Mansour
quelle

Antworten:

6

partclone ist das Werkzeug, das Sie suchen.

  • Es unterstützt viele Linux-Dateisysteme, einschließlich BTRFS
  • Es unterstützt sogar einige andere Dateisysteme (wie FAT oder exFAT).
  • Im Gegensatz dddazu wird die Zuordnungszuordnung für Dateisysteme (z. B. FAT- und exFAT-FAT-Tabellen, BTRFS-Extent-Zuordnungen usw.) betrachtet und nur die verwendeten Blöcke geklont.

Abhängig von Ihrem Nutzungsmuster:

  • Verwenden Sie -b(long :), --dev-to-devwenn sowohl das schwarze Quell- als auch das Backup-Zielgerät auf demselben Computer sichtbar sind (im Grunde genommen, wenn beide Festplatten an denselben Computer angeschlossen sind).
  • oder verwenden Sie -cund -r(long: --cloneund --restore), um zuerst in das eigene Image-Format von partclone auf dem Quellcomputer zu klonen und dann vom Image auf dem Sicherungscomputer wiederherzustellen
  • Laut der Partclone-Manpage ist es möglich, Bilder weiterzuleiten. Daher sollte es möglich sein, Partitionen über das Netzwerk zu kopieren, ohne die tatsächlichen Dateien zu speichern, wenn der Speicherplatz knapp ist, Sie aber über ein äußerst zuverlässiges Netzwerk verfügen.

Eine völlig andere Art, das Problem zu lösen, wäre die Verwendung btrfs sendund der btrfs receiveMechanismus.

  • Dadurch werden KEINE Blockgerätekopien in den Sektor erstellt
  • aber, durch die korrekten Referenzen an beiden Enden bereitstellt, ist es auch möglich die Verweise zwischen ref-linked ( von Teilen) Dateien zu halten.

So Btrfs eigener Mechanismus nicht um eine Sektor perfekte Kopie ( im Gegensatz zu partclone ist) , aber es ist ein Maß perfekte Kopie (viel besser als rsynv -aSHAXdie nur Griffe hardlinked Dateien).

DrYak
quelle
1

Leiten Sie die Ausgabe dddurch etwas wie bzip2oder Ihr anderes bevorzugtes Komprimierungsprogramm, das von der Standardeingabe gelesen wird. Ich habe dies auf einer 500-GB-Festplatte getan, die eine relativ kleine Installation hatte und am Ende eine 8-GB-Datei hatte.

Cry Havok
quelle
1
Sie müssten zuerst den freien Speicherplatz mit Nullen füllen (z. B. cat /dev/zero > zeroes), um die nicht verknüpften Daten zu entfernen, die sich noch auf der Festplatte befinden. Dies funktioniert jedoch möglicherweise nicht mehr, wenn BTRFS in Zukunft eine Deduplizierung von Daten auf Blockebene erhält.
Wim Coenen
Bitte beachten Sie das Update zu meiner Frage.
Mansour
1

Noch nicht ausprobiert, btrfs-imagescheint aber dieses Problem zu lösen:

https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-image

Update: Verwenden Sie dies nicht als Backup. Danke für den Kommentar.

Ich lasse dies offen und werde es nicht löschen, damit auch andere daraus lernen können.

Jonas Stein
quelle
2
Achtung, btrfs-image kopiert nur die META-Daten, nicht die Daten in den Dateien selbst. (Es wird verwendet, um eine Kopie an die Entwickler zu senden, damit diese sehen können, was schief gelaufen ist. Nicht um die Daten zu kopieren).
DrYak
-2

Ich denke, anscheinend gibt es kein solches Tool (noch keinen Geldautomaten).

poige
quelle
-2

Nur fyi ext2 / 3/4 dump macht nicht das, was Sie wollen ... nur fs, die dazu in der Lage sind, sind ntfs (mit ntfs-3g) und zfs

obwohl du dies mit lvm und experimenteller Thin Provisioning schaffen könntest ...

Bearbeiten: Ich habe einige Jahre später festgestellt, dass Sie dies mit jedem Dateisystem mithilfe von Squashfs tun können ...

Fuchs
quelle
partclone konnte genau das für viele Partitionen tun, die weder ntfs-3g noch zfs sind.
DrYak
@ DrYak Mountable Sparse Images von NTFS werden definitiv von ntfsclone unterstützt ... linux.die.net/man/8/ntfsclone
Fox