使用 rsync/rclone/scp 从/向 fedora 系统传输时管道断裂

使用 rsync/rclone/scp 从/向 fedora 系统传输时管道断裂

我正在尝试将一些大约 2GB 的文件发送到运行 Fedora 36 的家庭服务器。我的笔记本电脑上装有 Pop OS! 22.04。两者都通过以太网直接连接到我的路由器。遗憾的是,我遇到了错误,我不知道该如何修复它们。我知道有很多帖子都提到了类似的问题,但我还没有找到适合我的解决方案。

我尝试跑步同步,结果如下:

data.zip
    413,040,640  15%   98.50MB/s    0:00:22  client_loop: send disconnect: Broken pipe

rsync: [sender] write error: Broken pipe (32)
rsync error: error in socket IO (code 10) at io.c(823) [sender=3.2.3]

然后我尝试SCP这给了我这个:

client_loop: send disconnect: Broken pipe
lost connection

克隆返回此结果并重试多次:

2022-09-17 15:44:57 ERROR : sftp://[email protected]:22/: Discarding closed SSH connection: read tcp 192.168.1.17:51790->192.168.1.200:22: read: connection reset by peer
2022-09-17 15:44:57 ERROR : data.zip: Failed to copy: Update ReadFrom failed: connection lost

总的来说,我检查了 dmesg 和 journalctl,但没找到对我有帮助的东西。以下是我已经尝试过的方法:

  • 限制传输速度
  • 检查是否有足够的可用空间(是的,有超过 150GiB 的可用空间)
  • 设置“ ServerAliveInterval”和“ ServerAliveCountMax
  • 增加超时时间(传输通常会在几秒钟内失败,所以这重要吗?)
  • 压缩/创建 tar 并传输
  • 在两台机器上使用 rsync 3.2.3
  • 在我的服务器上的另一个驱动器上写入
  • 运行“ dmesg | grep rsync”查看是否有东西出现。它没有返回任何内容)
  • 强制清除内存echo 3 > /proc/sys/vm/drop_caches
  • 还重新下载、刷新并重新安装了 Fedora 36。

现在你可能会认为我的笔记本电脑可能有问题。但奇怪的是,我可以毫无问题地将数据传输到运行 Raspberry Pi OS 的 Pi4 或从 Pi4 传输数据。

如果有人有进一步的想法那就太好了:)

编辑:这是有关我的系统的一些信息。

主服务器: 我的家庭服务器的 neofetch 输出

笔记本电脑: 我的笔记本电脑的 neofetch 输出

编辑 2:尝试在单独的网络(新路由器)上进行传输,只连接媒体服务器和我的笔记本电脑(无 WAN 访问)。如果没有任何重复的 IP、主机名或 MAC 地址分配,它也不会工作

答案1

在 @Hastur 建议检查从我的笔记本电脑和 Pi4 到我的服务器的传输后,我发现了一些东西。我翻遍了journalctl _COMM=sshd显示 sshd 日志的命令,ssh_dispatch_run_fatal: Connection from user user 192.168.1.XXX port XXX: message authentication code incorrect每次传输失败时我都会看到这一行。要么是我错过了,要么它没有出现在我查看的日志文件中。

无论如何……我现在搜索了如何解决这个问题。在尝试和谷歌搜索了一堆之后,我偶然发现了这个页面:https://p5r.uk/blog/2014/ssh-corrupted-mac-on-input.html这恰好解决了我的问题。我ethtool -K eth0 tx off rx off在服务器上运行并开始了新的传输。突然一切都顺利完成,在传输了大约 50GiB 后,它没有再次抛出该错误。

我猜它现在起作用了。

相关内容