我正在设置rsync来同步不同networking中两个分开的服务器(A和B)之间的文件,这两个服务器都运行Solaris 10 OS。 我正在使用 – 守护进程。
现在,我可以从服务器A获得服务器B的模块列表,并将文件从B下载到A.但是,当尝试从A上传文件到B时,进程挂起。
分析由rsync生成的日志文件我可以看到服务器之间的连接已build立,但随后丢失。
日志文件服务器A:
root# rsync -rltgD --progress testfile xxxx::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]
日志文件服务器B:
[4799] connect from UNKNOWN (xxxx) [4799] rsync to test/ from UNKNOWN (xxxx) [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]
目标(服务器B)中的权限定义为chmod 777. Inetdconfiguration为允许使用匿名访问的rsync。 我试图改变path和所有权,所以这两个服务器将是平等的,没有运气。 我也将这些版本匹配到2.6.9以及使用虚拟机和物理机,问题依然存在。 我也尝试了不同的操作系统,即CentOS和Windows 7专业版。 使用这些rsync客户端,我可以与服务器B同步文件,没有任何问题(这些机器与服务器B在同一个networking中)。 我捕获了服务器B和CentOS 6.7计算机之间成功同步的数据包,并将它们与服务器B和服务器A之间的同步失败进行了比较,得出了与日志文件相同的结论:build立了TCP和rsync连接,但文件不被转移。
任何关于这个问题的帮助深表谢意。 最好的祝福。
如果有人有这个问题,我用MTU参数解决了。 由于服务器B阻塞了ICMP协议,所以MTU值被自动定义为1500字节。 当此值在服务器A上更改为1280字节时,连接开始工作,因为它应该。