nfs 安装适用于 tcp,但不适用于 udp

nfs 安装适用于 tcp,但不适用于 udp

我正在将我的树莓派 (raspbmc) 与我的 Synology NAS 连接。我有2个坐骑

192.168.0.5:/volume1/video      /mnt/video      nfs     udp,intr,noatime,rsize=32768,wsize=32768,nolock,nfsvers=3,async 0 0
192.168.0.5:/volume1/video      /mnt/video2     nfs     tcp,intr,noatime,rsize=32768,wsize=32768,nolock,nfsvers=3,async 0 0

两种安装方式都取得了成功

sudo mount -a

没有给出任何错误。当我进入目录 /mnt/video 时,我无法完成 ls 语句,该命令只是挂起。我可以对一个非常小的目录执行此操作,其中只有 2 个子目录,但上面的操作需要很长时间。我发现奇怪的是这对 tcp 确实有效。 (而且tcp非常快)

现在我知道 UDP 是如何工作的,但我仍然认为 linux 能够处理 udp 连接,即使是文件共享,不是吗?

答案1

我怀疑 UDP NFS 挂载的问题是您的 rsize 和 wsize 的值导致网络上的数据包碎片和内核中的数据包丢失,请参阅http://nfs.sourceforge.net/nfs-howto/ar01s05.html碎片数据包溢出部分。我只需删除 rsize 和 wsize 参数并重新安装。

相关内容