Linux 上 Netapp NFS 挂载的单个目录中的最大文件数

Kyl*_*ndt 7 linux nfs netapp

在我拥有的较旧的 Linux 机器上,有一个 Netapp 的 NFS 安装。一旦这个盒子上的单个目录中有 100k 个文件,就不能再写入文件。有谁知道这可能是什么原因造成的?有人告诉我符号链接仍然可以写入。

我会在查找时添加更具体的信息。请跳过“使用更好的文件/文件夹结构和/或数据库”,我知道......

Dan*_*ley 7

您可能遇到了两个限制。

  • inode(不太可能)

    您已经使用了该卷的所有可用 inode。您可以使用命令df -i和确认这一点maxfiles

  • maxdirsize (更倾向于)

    ONTAP 对目录的大小施加了限制。大小是元数据/硬链接的产物,而不是文件内容。此限制默认(假设 >6.5)为系统 RAM 的 1%。这样做是为了确保大目录不会影响系统性能。因为线性目录扫描需要将目录数据结构加载到内存中。快速概览:

如果这两个问题都不是,那么我建议您检查并发布您的 ONTAP 日志。


Kyl*_*ndt 6

系统达到了目录的链接限制,这是 NetApp ONTAP 文件系统的固定限制。 来自这篇知识库文章

从 Data ONTAP 6.5 开始,单个目录可以拥有的最大子目录数为 99998 (100K)。Data ONTAP 6.4 及更早版本仅限于 65534 (64K) 个子目录。这个数字可能不会改变。要了解此限制的原因,请参阅下面有关硬链接和子目录实现的部分。