为什么 ext4 只推荐高达 16 TB?

Mar*_*oma 28 filesystems ext4 xfs

ext4 wiki 文章中,我看到 ext4 最多可以使用 1 EiB,但只建议使用最多 16 TiB。为什么会这样?为什么建议将 XFS 用于较大的文件系统?

(ELICS:像我是 CS 学生一样解释我,但对文件系统了解不多)

Ste*_*itt 37

ext4 维基百科条目的确切引用是

但是,对于大于 100 TB 的卷,Red Hat 建议使用 XFS 而不是 ext4。

EXT4 HOWTO提到,

在撰写本文时,创建大于 16 TiB 的文件系统的代码尚未包含在 e2fsprogs 的任何稳定版本中。它将在未来的版本中出现。

这将是避免大于 16 TiB 的文件系统的一个原因,但该说明已过时:e2fsprogs因为版本 1.42(2011 年 11 月)非常有能力创建和处理大于 16 TiB 的文件系统。为此类系统mke2fs使用bighuge类型(实际上,big在 4 到 16 TiB 之间,huge超出);这些会增加 inode 比率,以便供应更少的 inode。

回到 Red Hat 的建议,从RHEL 7.3 开始,XFS 是默认文件系统,最高支持 500 TiB,而 ext4 仅支持最高 50 TiB。我认为这是合同而不是技术,尽管存储管理指南以技术方式表达了限制(没有详细说明)。我想50 TiB 限制技术或性能原因......

e2fsprogs发行说明做给一个理由比16大的TiB避免文件系统:显然,在resize_inode功能上有比这个更大的文件系统被禁用。

  • @HSchmale 我并不是说在 ext4 上使用 XFS 有合同原因,我的意思是当 Red Hat 说他们支持高达 500 TiB 的 XFS 和高达 50 TiB 的 ext4 时,这种支持涉及合同方面,*即*客户可以要求支持达到这些规模,但除此之外,据我所知,红帽没有合同义务。(请注意,我为 Red Hat 工作,但我只代表自己发言。) (5认同)