1 votes

Rsync peut afficher des modules et récupérer des fichiers, mais pas en envoyer.

Je suis en train de configurer rsync pour synchroniser des fichiers entre deux serveurs séparés (A et B) dans des réseaux différents, les deux exécutant Solaris 10 OS. J'utilise --daemon.

Actuellement, je suis en mesure d'obtenir la liste des modules du serveur B à partir du serveur A, ainsi que de télécharger des fichiers de B vers A. Cependant, lorsque j'essaie de télécharger des fichiers de A vers B, le processus se bloque.

En analysant les fichiers journaux générés par rsync, je constate que la connexion entre les serveurs est établie puis perdue.

Serveur de fichiers journaux A :

root# rsync -rltgD --progress testfile x.x.x.x::test/

building file list ...
1 file to consider
testfile
rsync: writefd_unbuffered failed to write 4 bytes [sender]: Broken pipe (32)
rsync: read error: Connection timed out (145)
rsync: error: error in rsync protocol data stream (code 12) at io.c(604) [sender=2.6.9]

Serveur de fichiers journaux B :

[4799] connect from UNKNOWN (x.x.x.x)
[4799] rsync to test/ from UNKNOWN (x.x.x.x)
[4799] receiving file list
[4657] rsync: read error: Connection timed out (145)
[4657] rsync error: error in rsync protocol data stream (code 12) at io.c(604) [receiver=2.6.9]
[4657] rsync error: error in rsync protocol data stream (code 12) at io.c(453) [generator=2.6.9]

Les permissions dans la destination (serveur B) sont définies comme chmod 777. Inetd est configuré pour autoriser rsync avec un accès anonyme. J'ai essayé de changer les chemins et la propriété pour qu'ils soient égaux dans les deux serveurs, sans succès. J'ai également fait correspondre les versions à 2.6.9 ainsi que d'utiliser des machines virtuelles et des machines physiques, le problème demeure. J'ai également essayé avec différents systèmes d'exploitation, à savoir CentOS et Windows 7 Professional. En utilisant ces clients rsync, je peux synchroniser des fichiers avec le serveur B sans aucun problème (ces machines sont dans le même réseau que le serveur B). J'ai capturé les paquets d'une synchronisation réussie entre le serveur B et la machine CentOS 6.7 et les ai comparés avec une synchronisation échouée entre le serveur B et le serveur A, je suis arrivé à la même conclusion tirée des fichiers journaux : les connexions TCP et rsync sont établies, mais les fichiers ne sont pas transférés.

Toute aide concernant ce problème est vivement appréciée. Meilleures salutations.

1voto

user3228563 Points 21

Si quelqu'un a ce problème, je l'ai résolu avec le paramètre MTU. Comme le serveur B avait le protocole ICMP bloqué, la valeur MTU était automatiquement définie à 1500 octets. Lorsque cette valeur a été modifiée à 1280 octets sur le serveur A, la connexion a commencé à fonctionner comme il se doit.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X