![rsync 在复制到 nfs 共享时在同一文件上挂断,可重现](https://linux22.com/image/669573/rsync%20%E5%9C%A8%E5%A4%8D%E5%88%B6%E5%88%B0%20nfs%20%E5%85%B1%E4%BA%AB%E6%97%B6%E5%9C%A8%E5%90%8C%E4%B8%80%E6%96%87%E4%BB%B6%E4%B8%8A%E6%8C%82%E6%96%AD%EF%BC%8C%E5%8F%AF%E9%87%8D%E7%8E%B0.png)
过去两天,我尝试将我的磁盘备份到 NFS 共享。但过了一会儿,rsync 就自动挂断了。每次都是在同一个文件上。但如果我排除该文件,它会在下一个文件上挂断。所以不是文件导致了问题,至少不是直接导致的。
如果我将 strace 附加到该进程,我会看到 ERESTARTNOHEAD 错误和一些超时。但我认为这些超时与问题没有直接关系,因为它们也出现在实际错误之前。似乎 ERESTARTNOHEAD 是问题所在,但我找不到有关此错误的更多内容。
系统是 Debian oldstable 作为 NFS 服务器,Ubuntu 15.10 作为客户端
命令是:rsync -av /home/myuser /nfs/backup
答案1
问题与两台主机上启用的 TCP 卸载有关。通过 ethtool 禁用 TCP 卸载后,问题消失。