rsync hängt gerade und erstellt eine Dateiliste


20
[root@centos /]# rsync -av --exclude thumbs /storage root@xx.27.1.xx:/storage
root@xx.27.1.xx's password: 
building file list ... 

Ich habe ungefähr eine Stunde gesessen ... es sind 135 GB Bilder und Ordner

/storage ist ein gemountetes ext3-SCSI-Laufwerk.

Ist es normal, dass rsync so lange sitzt und die Dateien / Verzeichnisse berechnet?


Wie viele Dateien? Bei sehr vielen Dateien dauert es eine Weile.
Helvick

wahrscheinlich Tausende ... Bilderverzeichnis von User-Uploads ...
Andrew Fashion

Ich habe gesehen, dass dieser Teil von rsync weit über eine Stunde dauert, wenn es Tausende und Abertausende von Dateien gibt. Wenn Sie "top" laufen, sehen Sie dann, wie ich / ich warte?
troyengel

Kannst du df -iuns, nur weil ich neugierig bin, sagen, was du für IUsedein Lager hast ? Es wird uns eine ungefähre Vorstellung davon geben, wie viele Dateien und Ordner Sie haben.
Zoredache

1383641, ist das die Anzahl der Dateien?
Andrew Fashion

Antworten:


24

rsync 2.x erstellt im Vorfeld eine vollständige Dateiliste.

Wenn Sie die -POption hinzufügen, wird eine Fortschrittsanzeige angezeigt.

Wenn Sie denken, dass es wirklich hängt, suchen Sie in einem anderen Terminal die pid von rsync und dann

  1. Laufen Sie strace -p PIDund sehen Sie, was es tut. (Drücken Sie ^ C, um anzuhalten.)

  2. Führen ps -o wchan PIDSie den Befehl aus, um zu sehen, wo sich der Kernel befindet.


Wow straceist cool! Sie werden wahrscheinlich feststellen, dass etwas Zirkuläres passiert: Wie ein Link, der auf eines seiner Vorfahrenverzeichnisse verweist. In meinem Fall habe ich ein virtuelles Dateisystem verwendet, dessen Tiefe unbegrenzt war, dh es hatte "unendlich" viele Unterverzeichnissetagfs/books/+/books/+/books/+/ ...
Zaz

@Zaz Ich habe auch eine große Anzahl von Unterverzeichnissen in der Tiefe. Aber das liegt in meinem Systemdesign. Gibt es einen Weg, dies zu lösen?
user1641443

@ user1641443: Es tut mir leid, das ist mir ein Rätsel.
Zaz

@ user1641443: 1: Versuchen Sie es mit rsync> 3.0, wie Martin sagt . 2: Führen Sie mehrere rsync-Prozesse in einem kleineren Teilbaum aus. 3: Öffnen Sie Ihre eigene Frage.
Poolie

15

Sie sollten ein Upgrade rsync 3.0.x , wo Sie den Vorteil der inkrementellen Datei - Listen erhalten werden, erklärt hier . Ich synchronisiere Millionen von Bildern (insgesamt ~ 200 GB) und habe eine enorme Beschleunigung festgestellt, als ich von rsync 2.x auf 3.x gewechselt bin.

Trotzdem wird es wahrscheinlich lange dauern, bis alle diese Daten durchgegangen sind. In meinem Fall dauert es immer noch über eine Stunde zwischen zwei ziemlich leistungsstarken DL380 G5-Servern.


Beachten Sie auch, dass bestimmte Flags das alte Verhalten erzwingen. für mich war es --delay-updates.
Xiong Chiamiov

1
@XiongChiamiov Die einzigen Optionen, die ich verwende, sind "-a" und "--progress". Version 3.1.x erstellt noch eine inkrementelle Dateiliste. Warum?
Michael

3

Sie bemerkt früher , dass duauch hing. Etwas ist mit diesem Dateisystem nicht in Ordnung und rsynctrifft das, was es duwar.

Sie können schnell nach Kernelfehlermeldungen suchen, die auf ein Festplattenproblem hinweisen. Tippe dmesgund sieh, was unten ist.


1

Der Stillstand nach der Meldung "Dateiliste wird erstellt ..." kann durch eine MTU-Nichtübereinstimmung verursacht werden, z. B. wenn Sie die Netzwerkschnittstellen mit MTU 9000 eingerichtet haben, aber nicht die Umschaltung zwischen kleinen Paketen (wie das Herstellen einer Verbindung zum rsync-Server). wird durchlaufen, aber nicht größer (wie das Senden der Dateiliste).


Nach langem Suchen stieß ich auf dieses Problem und musste überprüfen, ob Rsync über einen VPN mit Standard 1450 MTU ausgeführt wurde. Ich habe jedoch keine Kontrolle über die Geräte zwischen den Standorten rsync funktioniert zu 100% (und plötzlich verschwand auch andere Seltsamkeiten im Netzwerk!) danke!
10.

0

Gestützt auf diese und Ihre andere Frage des du /storageHängens lässt mich denken, dass weder duoder rsyncdas Problem ist, sondern es gibt einige Probleme mit /storage.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.