如何减少 XFS 文件系统的默认元数据大小?

How to reduce the default metadata size for an XFS file system?

我有一个特殊用途的 12 磁盘卷,总共 48 TB。使用默认参数mkfs后,使用inode_64挂载, 报告的文件可用 space 为 44 TB。所以有 4 TB 的元数据开销,几乎是 10%。

我想这个元数据大小可能是为了容纳数千万个 inode,而我只使用大文件 最多需要 1-2 百万个文件。鉴于此,我的问题是 是否可以从 4 TB 元数据中恢复 2-3 TB 用于文件数据

man page 中,我看到一个 maxpct 选项,可能还有其他选项,但我无法弄清楚使用它们的正确方法是什么 就我而言。我仍然需要确保该卷可以容纳 200 万个文件。 另外,我知道一些元数据 space 用于记录日志,但我不知道多少就足够了。

您可以将其从 5% 降低到 1%。

maxpct 这指定了文件系统中可以分配给 inode 的最大百分比 space。对于 1TB 以下的文件系统,默认值为 25%,对于 50TB 以下的文件系统,默认值为 5%,对于超过 50TB 的文件系统,默认值为 1%。

请记住,调整文件系统是一件棘手的事情。在稳定性、可靠性和性能之间取得了微妙的平衡。

根据您发现丢失的具体存储百分比,您可能被 the difference between binary and decimal units of storage 误导了。由于磁盘是以十进制 TB 为单位测量的,因此使用以二进制 TB(大 10%)为单位测量可用存储的软件工具会给你的结果似乎低了大约 9%。但是,存储实际上并没有消失。您只是使用了使它看起来更小的单位!

默认情况下,dfdu 命令的 coreutils 版本使用二进制单位。您可以使用 -H 标志让它们使用十进制单位。