Rsync synchronisiert langsam

Rsync synchronisiert langsam

Ich synchronisiere zwei Laufwerke mit rsync (cygwin) und verwende dabei den folgenden Befehl. rsync -a -H /cygdrive/e/ /cygdrive/d/ Ich habe etwa 3 TB Daten und wahrscheinlich etwa 1 Million Dateien (einschließlich Hardlinks). Beim ersten Mal dauerte es etwa 1–2 Tage, bis es fertig war, wenn ich mich recht erinnere. Wenn ich diesen Befehl erneut ausführe, dauert es sehr lange, auch wenn nichts aktualisiert wird. Es dauert ein paar Stunden – 12 Stunden. Sollte das nicht viel weniger Zeit in Anspruch nehmen?

Antwort1

Sie kopieren zwischen zwei Standorten auf demselben System. Dadurch wird der Delta-Algorithmus deaktiviert und es wird wieder rsynceine ausgefallene Implementierung von cp -a.

Das -HFlag führt dazu, rsyncdass jede Datei mit mehr als einem Hardlink aufgezeichnet werden muss, damit die Hardlinks im Ziel rekonstruiert werden können. Dies erhöht den Speicherverbrauch (empirisch würde ich sagen, ziemlich stark), was wiederum zu einer höheren Systembelastung führen kann.

Schließlich ist Cygwin rsyncerheblich langsamer als eine native UNIX/Linux-Implementierung. Ich habe nicht herausgefunden, ob dies daran liegt, dass es eine Kompatibilitätsschicht über Windows verwendet, dass das Dateisystem langsamer ist oder dass es sogar etwas ganz anderes gibt. Aber es ist langsamer für einen ansonsten identischen Satz von Dateien auf derselben Hardware.

Antwort2

Dies ist keine vollständige Antwort, aber ich denke, sie könnte für einige Leute, die in der gleichen Situation stecken, wirklich wertvoll sein. Ich habe mein rsync schließlich von Linux aus ausgeführt und es hat problemlos funktioniert. Wenn Sie dieses Problem haben, versuchen Sie zumindest, Ubuntu/CentOS oder Ihre bevorzugte Linux-Distribution, sogar von einer CD, zu booten und sehen Sie, ob es funktioniert.

verwandte Informationen