家庭网络的良好 NFS 配置(NFS 性能问题)

家庭网络的良好 NFS 配置(NFS 性能问题)

我有一个小型局域网,里面有几个 Linux 盒子(Ubuntu 9.10),上面有 NFS 共享。这些盒子与消费级 Netgear 路由器(型号 WGR614V9)联网,使用有线连接。

我第一次设置 NFS 共享时,发现性能非常糟糕。例如,将 40 MB 的数据从已挂载的 NFS 共享复制到本地磁盘需要几分钟的时间。

通过尝试 NFS 配置,我能够让一切运行得相当好。我为导出共享的系统确定的配置是:

# /etc/exports On the machine exporting the NFS share:
/exprt/dir client.ip (rw,async,no_root_squash,no_subtree_check)

对于 NFS 客户端,我有

# /etc/fstab
server.ip:/exprt/dir on /imprt/dir type nfs (rw,noatime,rsize=32768,wsize=32768,timeo=14,intr)

然而,虽然这对我来说似乎效果很好,但使用 NFS 将文件从一个系统复制到另一个系统似乎仍然比scp使用 NFS 更快。

我认为有必要询问其他人在类似的网络设置中使用哪些 NFS 配置以获得相当好的性能。我知道 NFS 对诸如操作系统选择和精确的网络配置等因素非常敏感。但是,我怀疑我的设置对于拥有小型本地网络的其他用户来说非常常见,因此了解哪种配置最适合他们会很有用。

答案1

NFS 应该轻松胜过 SSHFS。您能展示一些具体数字吗?

如果您在您的服务器上运行..

dd if=/dev/zero of=test.a bs=1M count=100
dd if=/dev/zero of=test.b bs=1M count=100

那么你可以做

dd if=/imprt/dir/test.a of=/dev/null
dd if=/path/to/sshfs/mount/dir/test.b of=/dev/null

并发布输出?

另外,您可能希望导出 /export 下的共享,并在客户端上使用带有 auto.net 的 autofs。这使得局域网上的所有机器使用相同的 /net/$hostname/export/foo 路径结构。

相关内容