许多 NFS 挂载有任何问题吗?

Cha*_*utt 4 linux configuration nfs

我们目前正在考虑一种解决方案,为每个用户的主目录生成一个单独的挂载点。过去我们在客户端上的每个文件服务器最多有几个挂载,而现在我们可能有数百个挂载,其中许多来自同一个文件服务器。这显然会影响客户端,因为有更多的挂载,它也会影响文件服务器,因为有更多的导出需要跟踪。在我们的环境中,我们谈论的是每个文件服务器有数百个客户端,每个客户端有数百个用户(即,文件服务器上的导出可能不超过 10000 个)。

我的问题特别是关于解决方案的功效。如果这个解决方案不好,我们还可以实施其他解决方案,但由于各种原因,一些政治原因,这个解决方案已经上升到顶端。客户端都是linux,文件服务器是linux和solaris系统的混合。我担心的是内核必须跟踪安装和共享的资源是有限的,但我真的不知道它的功能是什么。

Kyl*_*ndt 7

减轻客户端的负担。如果您确实使用 NFS 路由,请考虑使用自动挂载 ( autofs )。

这将挂载 NFS 导出,因为它们是从服务器请求的。这是一个简短的自动挂载教程这就是原因


Jam*_*mes 5

一般来说,我认为我们在 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 个匿名文件系统。

通常,在任何给定客户端上总共不需要超过十或二十个 NFS 安装。但是,在一些大型企业中,您的工作和用户可能分布在数百个 NFS 文件服务器上。要解决您可以在单个主机上挂载的 NFS 文件系统数量的限制,我们建议您设置并运行 Linux 的自动挂载程序守护程序之一。自动挂载程序会根据需要查找并挂载文件系统,并卸载它发现的任何不活动的文件系统。您可以在此处找到有关 Linux 自动挂载程序的更多信息。

您还可能会遇到系统上特权网络端口数量的限制。NFS 客户端对每个 NFS 挂载点使用具有自己端口号的唯一套接字。使用自动挂载程序通过自动卸载未使用的文件系统来帮助解决有限数量的可用端口,从而释放它们的网络端口。Linux NFS 客户端中的 NFS 版本 4 支持对每个客户端-服务器对使用一个套接字,这也有助于增加客户端上允许的 NFS 挂载点数量。