Dieser Artikel enthält einige nützliche Vorschläge für rsync
mindestens:
Probleme
Verwenden rsync --sparse works
, verursacht aber eine große Menge unnötiger Festplattenschreibvorgänge. Das Ändern von 10 Bytes bei einer Länge von 50 GB (1 GB verwendet) sollte dazu führen, dass nur ein oder zwei Blöcke geschrieben werden. Dadurch wird 1 GB geschrieben. Dies ist langsam und möglicherweise nicht gut für die Langlebigkeit der Festplatten.
Verwenden rsync --inplace
funktioniert, erstellt aber nicht spärliche Dateien.
Sie können --sparse und --inplace nicht gleichzeitig verwenden :-( Dies wird von rsync nicht zugelassen. Rsync: --sparse kann nicht mit --inplace verwendet werden
Lösung
Wenn Sie --inplace verwenden, um eine bereits vorhandene Sparse-Datei zu aktualisieren, bleibt die Datei spärlich und es werden nur wenige Blöcke geschrieben. Nur wenn rsync --inplace eine Datei erstellt, wird sie nicht spärlich.
Die Lösung besteht also darin, für jede Datei auf dem Quellcomputer eine entsprechende, richtig lange, leere, spärliche Datei auf dem Zielcomputer zu erstellen - sofern die Datei noch nicht auf dem Zielcomputer vorhanden ist.
Dann funktioniert rsync --inplace wie beabsichtigt, lässt spärliche Dateien spärlich und schreibt nur die geänderten Blöcke auf die Festplatte.
Wenn ich das richtig gelesen habe, möchten Sie zuerst eine leere Datei mit geringer Dichte auf dem Ziel erstellen. Sie können dies mit tun
truncate -s 3G filename
Sie können dann rsync --inplace
die Dateien kopieren. Dies sollte nur einmal notwendig sein.
Der gleiche Artikel schlägt die Verwendung von Virtsync vor
Ein kommerzielles Linux-Befehlszeilentool für 49 US-Dollar zum Synchronisieren des Inhalts großer Dateien (z. B. Disk-Images und Datenbanken von virtuellen Maschinen).
Dies ist möglicherweise die beste Lösung, wenn Sie bereit sind, dafür zu zahlen, da es speziell für diese Art von Situation geschrieben zu sein scheint.