rsync est juste suspendu, en créant une liste de fichiers

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

Je suis assis depuis environ une heure ... c'est 135 Go d'images et de dossiers

/storage est un lecteur scsi ext3 monté.

Est-il normal que rsync reste si longtemps à calculer les fichiers / répertoires?

Andrew Fashion
la source
Combien de fichiers? Avec un très grand nombre de fichiers, cela va prendre du temps.
Helvick
probablement des milliers ... répertoire d'images de téléchargements d'utilisateurs ...
Andrew Fashion
J'ai vu cette partie de rsync prendre plus d'une heure lorsqu'il y a des milliers et des milliers et des milliers de fichiers. Si vous exécutez «top», voyez-vous les E / S attendre?
troyengel
Juste parce que je suis curieux, pouvez-vous courir df -iet nous dire ce que vous avez IUsedsur / stockage? Cela nous donnera une idée approximative du nombre de fichiers + dossiers dont vous disposez.
Zoredache
1383641, est-ce la quantité de fichiers?
Andrew Fashion

Réponses:

24

rsync 2.x crée une liste complète de fichiers dès le départ.

Ajoutez l' -Poption et vous verrez un indicateur de progression.

Si vous pensez qu'il est vraiment suspendu, dans un autre terminal, trouvez le pid de rsync, puis

  1. Courez strace -p PIDet voyez ce qu'il fait. (Appuyez sur ^ C pour arrêter.)

  2. Exécutez ps -o wchan PIDpour voir où il se trouve dans le noyau.

poolie
la source
Wow, stracec'est cool! Vous constaterez probablement qu'il se passe quelque chose de circulaire: comme un lien qui fait référence à l'un de ses répertoires ancêtres. Dans mon cas, j'utilisais un système de fichiers virtuel qui n'avait aucune limite sur sa profondeur, c'est-à-dire qu'il avait "infiniment" de nombreux soustagfs/books/+/books/+/books/+/ ...
Zaz
@Zaz J'ai également une énorme quantité de sous-répertoires, en profondeur. Mais c'est dans la conception de mon système. Existe-t-il un moyen de résoudre ce problème?
user1641443
@ user1641443: Je suis désolé, ça me dépasse.
Zaz
@ user1641443: 1: Essayez rsync> 3.0 comme le dit Martin . 2: Exécutez plusieurs processus rsync chacun sur une sous-arborescence plus petite. 3: Ouvrez votre propre question distincte.
poolie
15

Vous devez mettre à niveau vers rsync 3.0.x où vous bénéficierez de listes de fichiers incrémentielles, expliquées ici . Je suis en train de synchroniser des millions d'images (~ 200 Go au total) et j'ai vu une accélération énorme en passant de rsync 2.x à 3.x.

Même ainsi, il faudra probablement beaucoup de temps pour parcourir toutes ces données. Dans mon cas, il faut encore plus d'une heure entre deux serveurs DL380 G5 assez puissants.

Martin
la source
Notez également que certains indicateurs forceront l'ancien comportement; pour moi, ça l'était --delay-updates.
Xiong Chiamiov
1
@XiongChiamiov Les seules options que j'utilise sont "-a" et "--progress" et la version 3.1.x est toujours en train de construire une liste de fichiers incrémentielle. Pourquoi?
Michael
3

Vous avez noté plus tôt que cela dupendait également. Quelque chose se passe avec ce système de fichiers et rsyncfrappe ce qui duétait.

Vous pouvez vérifier rapidement les messages d'erreur du noyau indiquant un problème de disque. Tapez dmesget voyez ce qui se trouve en bas.

mattdm
la source
1

Le blocage après le message "construction de la liste de fichiers ..." peut être dû à une incompatibilité MTU, par exemple si vous avez configuré les interfaces réseau avec MTU 9000 mais pas le commutateur entre les deux, de petits paquets (comme la connexion au serveur rsync) passera à travers mais pas plus gros (comme l'envoi de la liste des fichiers).

Le mutateur
la source
après beaucoup de recherches, je suis tombé sur cela et cela m'a incité à aller vérifier - exécutait rsync sur un vpn avec 1450 mtu standard mais je ne contrôle pas l'équipement entre les sites - a changé le vpn mtu en 1430 et alto le rsync fonctionne à 100% (et soudain, d'autres étrangetés du réseau ont aussi disparu!) merci!
l0ft13
0

Sur cette base et votre autre question de du /storagependaison me fait penser que ni duou rsyncest le problème mais il y a quelques problèmes avec /storage.

Mark Wagner
la source