我们目前正在小型办公室中使用 NFSv4 进行文件共享。
不幸的是,网络不是很稳定,如果网络断了,似乎会对 Ubuntu 客户端产生很大的影响:整个系统冻结 - 我认为这是由于 nfs 挂载造成的。
那么有什么其他方法可以让文件在网络上可用呢?
我习惯使用 Samba,但这似乎不对,因为只涉及 Linux。
网络安全不是问题。
答案1
您可能会遇到冻结,因为您使用“hard”选项(这是默认选项)导出 NFS 共享。您可以通过明确使用“soft”选项来更改这种情况。NFS 手册页有更多。
mount -o soft <nfs server ip>:/mountpoint /local_mountpoint
那么您在客户端就不会再遇到冻结的问题了。
在 Linux 系统中,实现文件共享的便捷方式是 NFS是我承认,我也不认为 NFS 像 Samba 一样多功能,但如果您遵循一些指导原则,NFS 可以完全透明地工作。
- 创建文件夹 /nfs 并在其中为所有想要共享的文件夹创建链接。
- 使用此 /nfs 文件夹的路径更新您的 /etc/exports 文件。
- 在客户端中使用自动挂载实用程序,以便透明地自动执行挂载过程。
- 最后但并非最不重要的一点是,验证服务器和客户端上的每个用户名是否具有相同的 UID。这样,用户可以从每个客户端访问他们的文件(没有权限问题)。(如果使用 LDAP 或 NIS,则推断此选项)。
希望这可以帮助。
答案2
我同意 Frank Thomas 的评论,使用 Linux 并不妨碍您使用 Samba。我和其他许多人一样,更喜欢在纯 Linux 环境中使用 NFS 共享,但 Samba 也完全没问题。但它不是解决您问题的唯一方法。尝试查看您的 NFS 挂载选项。具体来说,查看 intr、soft、tcp、timeo= 和 retry= 选项,看看是否有任何选项适用于您的环境。
更多信息可以在这里找到: RHEL 6 常见的 NFS 挂载选项
您也可以只使用man nfs
和/或man mount
我一直使用的来提醒自己有哪些可用资源。