安装多个 NFS 存在任何问题吗?

安装多个 NFS 存在任何问题吗?

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

我的问题是关于解决方案。如果这个解决方案不好,我们还可以实施其他解决方案,但由于各种原因,包括政治原因,这个解决方案已成为首选。客户端都是 Linux,文件服务器是 Linux 和 Solaris 系统的混合体。我担心的是内核跟踪挂载和共享的资源是有限的,但我真的不知道它的功能是什么。

答案1

一般来说,在 sarge 上,我认为我们遇到了大约 30-40 个坐骑的问题,我们不得不更改地图,因此我们减少了坐骑的数量。

只需剪切并粘贴自:http://nfs.sourceforge.net/

为什么我无法在客户端上挂载超过 255 个 NFS 文件系统?为什么有时甚至少于 255 个?

答:在 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 挂载点数量。

答案2

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

这将根据服务器的请求挂载 NFS 导出。下面是简短的自动挂载教程, 和原因如下

答案3

如果您发出了大量 nfs 挂载请求,那么您的服务器可能会遇到问题,因为挂载请求可能来自非特权端口(即>1024)。

这是我对 NetApp 文件管理器的说明:

如果您收到如下错误:

mount:RPC:身份验证错误;为什么=客户端凭证太弱

您必须将选项 nfs.mount_rootonly 设置为 off。问题是挂载请求来自高于 1024 的端口,并被丢弃为客户端(即非根级别)请求。这可能是因为客户端级别程序正在发出请求,或者您同时发出了太多挂载请求,导致低于 1024 的端口饱和,从而导致来自“高”端口的请求。

相关内容