web-dev-qa-db-fra.com

rsync se bloque soudainement pendant les transferts

Au cours des dernières années, j’utilisais une couche unique rsync pour sauvegarder les dossiers importants de mon ordinateur de bureau Mac Mini (OSX 10,9, 2,5 GHz i5, 4 Go de RAM) sur une boîte FreeNAS (0,7.2 Sabanda revision 5266, Pentium D 2,66 GHz, 822 Mo RAM [signalés par le système, je pense qu’il ya 1 Go]. J'exécute un démon rsync sur la boîte FreeNAS. Récemment, ces transferts ont été suspendus indéfiniment. J'ai fait le Google-fu habituel et je suis incapable d'identifier la source du problème ou une solution.

Le one-liner est: rsync -rvOlt --exclude '.DS_Store' --exclude '.com.Apple.timemachine.supported' --delete /Volumes/Storage/Music/Albums/ 192.168.1.100::albums

J'ai essayé d'activer -vvv et --progress, mais je ne peux pas distinguer entre ce qui se bloque et ce qui ne l'est pas. Heck, si je réessaie, le même fichier peut se bloquer à un moment différent pendant le transfert ou pas du tout. Un essai (-n) ne réussit pas toujours non plus. Le seul "succès" que j'ai eu est l'implémentation d'un délai d'expiration (--timeout = 10) et la réexécution répétée de la commande. En fin de compte, je m'avance, mais sans aucune garantie de succès et à un rythme inacceptable. J'ai atteint un point où j'ai un fichier que je ne peux pas dépasser.

Le Mac Mini est connecté à mon routeur via 5 GHz. Le boîtier FreeNAS est câblé dans ce même routeur sur un port de 100 Mbits. Lorsque les transferts sont en cours, rsync --progress indique 2,5 à 4 Mo/s. Selon --progress, un blocage est littéralement juste cela: aucun transfert de données n'a lieu, pour autant que je sache.

J'ai besoin d'aide pour les diagnostics et la solution.

19
Matthew DeNardo

Je me suis heurté à la même chose encore et encore et cela semble aider si vous supprimez l'option -v (ce qui est agaçant si vous avez besoin de cette sortie).

14
guest

Cela m'est arrivé lorsque le périphérique distant a manqué d'espace. L'erreur ne s'affichait pas lorsque l'option --verbose était utilisée. désactiver cette fonction a généré une sortie STDERR expliquant que le périphérique distant était saturé. Lorsque j'ai libéré de l'espace, j'ai pu exécuter à nouveau rsync avec --verbose et tout s'est bien passé.

10
Ezekiel Victor

J'avais le même problème. Supprimer -v n'a pas fonctionné pour moi. Mon cas d'utilisation est légèrement différent en ce que je vais de la source (EXT4) à ExFAT. Le problème pour moi était que rsync essayait de préserver les fichiers de périphériques et les autorisations, ce que ExFAT ne prend pas en charge. J'utilisais les commutateurs -hrltDvaP. Les commutateurs -D et -a semblaient être mon problème. Le commutateur -a se traduit par -rlptgoD (no -H,-A,-X). Les commutateurs -p, -g et -o semblaient être la cause première de mon problème, car rsync déchaînait un ou plusieurs d'entre eux lors de l'exécution. Supprimer -a et spécifier explicitement les commutateurs -Prltvc fonctionne pour moi.

bkupcmd="Nice -n$nicelevel /usr/bin/rsync -Prltvc --exclude-from=/var/tmp/ignorelist "
8
Jim

J'utilise openSUSE 13.2 Linux, la version 3.1.1-2.4.1.x86_64 de rsync et j'ai rencontré des problèmes similaires en effectuant une rsync entre mon ordinateur portable et un disque dur externe, le périphérique de destination ayant définitivement suffisamment d'espace libre. 

Je pensais avoir obtenu une amélioration en omettant l'option -v, mais après 10 minutes, elle était de nouveau suspendue: strace a dit: Select (5, [], [4], [], {60, 0}) = 0 (délai d'expiration )

Et avec "iotop", je pourrai confirmer que les processus rsync n’ont plus de disque important IO.

Ni supprimer l'option -v ni limiter la bande passante à l'aide de --bwlimit n'a résolu le problème.

3
karsten

Je viens d'avoir un problème similaire lors de l'exécution de rsync d'un disque dur à une clé USB FAT32. rsync s'est déjà figé en moins d'une seconde dans mon cas et n'a pas réagi du tout par la suite ... l'a laissé avec CTRL + C.

Découvert que le problème était une combinaison de l'utilisation de liens physiques sur le disque dur et du système de fichiers FAT32 sur le lecteur USB, qui ne prend pas en charge les liens physiques.

Le formatage de la clé USB avec ext4 a résolu le problème pour moi.

2
Alex

J'avais le même problème et c'était parce que je manquais de mémoire pendant rsync. Création d'un fichier d'échange et résolution du problème.

1
meammeiam

Cela se produit également lorsque l'utilisateur sur l'ordinateur cible n'a pas les autorisations d'écriture sur le dossier cible.
Vous pouvez essayer de donner l’autorisation en écriture au dossier cible des autres:

Sudo chmod -R o+w /path/to/target-folder
0
Fernando Campos

Probablement pas "votre" problème, mais je suis tombé sur cette question lorsque je recherchais un comportement similaire:

J'observe "pendre" lorsque le site cible est trop chargé. par exemple. sur l'un de mes serveurs de petite entreprise, lorsqu'une personne resynchronise son compte IMAP, télécharge de gros lots de données et exécute un travail de sauvegarde qui enregistre ses données.

Dans cette situation, je remarque une baisse marquée des performances de rsync. Remarquable dans une valeur de charge élevée dans top sur la machine cible, même si CPU et Mem fonctionnent correctement.

Attendre que le processus se termine a aidé à chaque fois ou interrompre et tenter le rsync ultérieurement.

0
Angelo Fuchs