Ich habe keine Erfahrung mit btrfs, aber es wird angekündigt, dass es möglich ist, Dateien zu de-duplizieren.
In meiner Anwendung müsste ich ganze Verzeichnisbäume duplizieren.
Nach dem, was ich gelernt habe, wird btrfs nur in einigen Post-Scan-Vorgängen dupliziert, nicht sofort. Sogar die bloße Verwendung cp
scheint keine Deduplizierung auszulösen ( df
zeigt zumindest eine erhöhte Datenträgerverwendung in der Größe der kopierten Dateien).
Kann ich das Verschieben von Daten insgesamt vermeiden und btrfs
direkt anweisen, eine Datei an einem anderen Speicherort zu duplizieren , indem ich im Wesentlichen nur deren Metadaten klone?
Im Wesentlichen ähnlich einem Hardlink, jedoch mit unabhängigen Metadaten (Berechtigungen, Änderungszeiten, ...).
cp
file-copy
btrfs
deduplication
Udo G
quelle
quelle
cp --reflink=always
.cp --reflink=always
aus Benutzersicht in jeder Hinsicht zwei völlig unabhängige Dateien. Die Tatsache, dass das zugrunde liegende Dateisystem das Kopieren beim Schreiben abstrahiert, ist nur ein Implementierungsdetail. Sie erhalten keinen "Hardlink, sondern unabhängige Metadaten". Meines Wissens führt btrfs noch keine automatische Deduplizierung durch. Ich denke, das ist ein Zukunftsplan, aber da bin ich mir nicht sicher.Antworten:
Es gibt zwei Möglichkeiten:
cp --reflink=always
cp --reflink=auto
Der zweite ist fast immer dem ersten vorzuziehen. Verwenden
auto
bedeutet, dass das Erstellen einer echten Kopie rückgängig gemacht werden kann, wenn das Dateisystem kein erneutes Verknüpfen unterstützt (z. B. ext4 oder Kopieren auf eine NFS-Freigabe). Mit der ersten Option bin ich mir ziemlich sicher, dass es komplett fehlschlagen und nicht mehr kopiert werden kann.Wenn Sie dies als Teil eines Skripts verwenden, das auch unter nicht idealen Bedingungen robust sein muss, ist dies von Vorteil
auto
.quelle
eestrada
dass jemand mich danach gefragt hat.