我们目前正在考虑一种解决方案,该解决方案会为每个用户的主目录生成一个单独的挂载点。虽然我们过去在客户端上的每个文件服务器最多有几个挂载,但现在我们可能有数百个挂载,其中许多来自同一个文件服务器。这显然会影响客户端,因为有更多的挂载,它也会影响文件服务器,因为有更多的导出需要跟踪。在我们的环境中,每个文件服务器有数百个客户端,每个客户端有数百个用户(即,在文件服务器上可能不超过 10000 个导出)。
我的问题特别是关于这个解决方案的功效。如果这个解决方案不好,我们还可以实施其他解决方案,但是由于各种原因,一些政治原因,这个解决方案已经上升到了顶峰。客户端都是linux,文件服务器是linux和solaris系统的混合体。我担心的是内核跟踪挂载和共享的资源是有限的,但我真的不知道它的功能是什么。
减轻客户端的负担。如果您确实使用 NFS 路由,请考虑使用 automount ( autofs )。
这将在服务器请求 NFS 导出时挂载它们。这是一个简短的自动挂载教程,这就是原因。
一般来说,在 sarge 上,我认为我们遇到了大约 30-40 个坐骑的问题,我们不得不改变我们的地图,所以我们做了更少的坐骑。
只是从以下位置剪切和粘贴:http: //nfs.sourceforge.net/
为什么我不能在我的客户端上挂载超过 255 个 NFS 文件系统?为什么有时甚至低于 255?
A. 在 Linux 上,每个挂载的文件系统都分配了一个主编号,这表明它是什么文件系统类型(例如 ext3、nfs、isofs);和一个次要编号,这使得它在同类型的文件系统中是唯一的。在 2.6 之前的内核中,Linux 主要和次要编号只有 8 位,因此它们的数值范围可能从 0 到 255。因为次要编号只有 8 位,所以一个系统只能挂载 255 个相同类型的文件系统。所以一个系统最多可以挂载 255 个 NFS 文件系统,另外 255 个 ext3 文件系统,255 个 iosfs 文件系统,等等。2.6 之后的内核具有 20 位宽的次要编号,这缓解了这一限制。
然而,对于 Linux NFS 客户端,问题更严重,因为它是一个匿名文件系统。本地基于磁盘的文件系统具有与之关联的块设备,但匿名文件系统没有。例如,/proc 是一个匿名文件系统,其他网络文件系统(如 AFS)也是如此。所有匿名文件系统共享相同的主编号,因此单个主机上最多只能挂载 255 个匿名文件系统。
通常,您在任何给定的客户端上都不需要超过 10 或 20 次 NFS 挂载。但是,在一些大型企业中,您的工作和用户可能分布在数百个 NFS 文件服务器上。要解决您可以在单个主机上挂载的 NFS 文件系统数量的限制,我们建议您设置并运行 Linux 的自动挂载守护程序之一。自动挂载程序会根据需要查找并挂载文件系统,并卸载它发现的任何不活动的文件系统。您可以在此处找到有关 Linux 自动挂载程序的更多信息。
您还可能会遇到系统上特权网络端口数量的限制。NFS 客户端为每个 NFS 挂载点使用具有自己端口号的唯一套接字。使用自动挂载程序通过自动卸载未使用的文件系统来帮助解决可用端口数量有限的问题,从而释放它们的网络端口。Linux NFS 客户端中的 NFS 版本 4 支持对每个客户端-服务器对使用一个套接字,这也有助于增加客户端上允许的 NFS 挂载点数量。
如果您发出大量的 nfs 挂载请求,您的服务器可能会遇到问题,因为挂载请求可能开始来自非特权端口(即 >1024)。
这是我对 NetApp 文件管理器的注释: