挂载几万个FS

niX*_*man -5 linux filesystems mount

我需要提供为 Web 服务的大量用户创建/读取/写入/删除文件和设置配额的能力。这些用户不作为 Linux 用户存在,因此我无法应用配额。创建真实用户只是为了执行配额似乎是一个坏主意。因此,我决定为每个用户创建一个文件并将其挂载为文件系统。

  1. 挂载几万个FS的后果是什么?
  2. 挂载的FS总数有限制吗?

bra*_*n99 6

首先,挂载这么多文件系统似乎是一个非常糟糕的主意 - 无论遇到什么问题,都必须有更好的解决方案吗?

无论如何,要回答你的第二个问题:上一个serverfault 问题的答案似乎表明,对于最近的内核,每种文件系统类型的限制约为 100 万个挂载点 (2^20),并且您最多可以挂载 256 个不同类型的文件系统。

对于较旧的内核(2.6 之前),每个文件系统的限制是 256 个挂载点。


针对评论进行编辑,我提出以下替代解决方案:

使用 XFS,它允许您使用项目配额,一种目录配额的形式。

创建一个单独的 XFS 文件系统,该系统将保存所有 Web 服务用户数据。将其安装在例如/mnt/myWebService。然后,为每个 webservice 用户创建一个项目目录(例如/mnt/myWebService/username1等)并相应地设置配额。

有关如何设置项目目录和配额的说明,例如,您可以查看此博客条目RHEL XFS 配额管理页面