ext5 何时到来或者 ext4 何时更新以支持大型(巨型)SSD?

som*_*ega 17 ssd ext4

Nimbus ExaDrive 100TB SSD已经上市,200TB SSD即将推出。您可以在此处阅读,ext4 支持高达 256 TB。硬件达到这个限制只是时间问题。

他们会更新 ext4 还是会有 ext5?会发生什么?

Ste*_*itt 51

64 位 ext4 文件系统在 4KiB 块中的大小可达 64ZiB,在 64KiB 块中的大小可达 1YiB,无需 ext5 来处理大卷。1 YiB,1 yobibyte,即 1024 个8字节。

\n

1\xc2\xa0PiB 和 1\xc2\xa0EiB 周围存在实际限制,但 \xe2\x80\x99 仍然(稍微)大于当前的 SSD,并且这些限制应该可以在 ext4 内解决,而不需要 ext5。

\n

  • @StéphaneChazelas 需要特别注意的是,块大小大于 4KiB 的 ext4 文件系统无法安装在 x86-64 系统上。 (4认同)
  • @marcelm,如果您有一个 > 1 ZiB(甚至超过几个 PiB)的存储设备,那么您很可能需要大于 4K 的块。 (3认同)
  • @StephenKitt你[用FUSE安装它](https://superuser.com/q/242055/241386) (2认同)

for*_*est 22

ext464bit文件系统功能消除了 2 32块限制。如果创建文件系统时未启用此功能,您可以使用以下命令将其添加到超级块tune2fs(8)

tune2fs -O 64bit /dev/sda1
Run Code Online (Sandbox Code Playgroud)

这是文件系统功能,而不是挂载选项,因此必须在创建文件系统时指定或稍后添加。从ext4(5)

  64bit
         Enables the file system to be larger than 2^32 blocks.
         This feature is set automatically, as needed, but it can
         be useful to specify this feature explicitly if the file
         system might need to be resized larger than 2^32 blocks,
         even if it was smaller than that threshold when it was
         originally created.  Note that some older kernels and
         older versions of e2fsprogs will not support file systems
         with this ext4 feature enabled.
Run Code Online (Sandbox Code Playgroud)

自 2015 年以来构建的任何 ext4 文件系统mke2fs都将默认启用此功能。

  • 确实,感谢您的解释。也许值得补充的是,现在大多数发行版都默认启用 64 位功能(它在 2015 年 5 月成为“e2fsprogs”“mke2fs.conf”中的默认功能),因此过去几年创建的文件系统都启用了该功能。无论如何,如果禁用 64 位,`mke2fs` 将拒绝创建太大的文件系统。 (3认同)

Lus*_*One 10

虽然 ext4 理论上可以处理大小高达 2^64 * 块大小 = 64ZiB 的文件系统(对于常用的 4KiB 块大小),但更实际的是,目前存在 2^48 * 块大小 = 1EiB(@ 4KiB 块大小)的实现限制当前使用的盘区格式的 inode 2^48-1 块地址限制。由于当前的块分配器,在超过 1 PiB 时开始出现一些性能问题,尽管仍然相当可用,并且我们在生产中有数百个大约这个大小的 ext4 文件系统。块分配器可能可以在代码中修复,而无需任何(主要)磁盘格式更改,并且一旦扩展区格式成为真正的限制,也可以对其进行扩展。

  • 嗯,有*带有扩展区的文件必须放置在文件系统的前 2^48 个块内。目前尚不清楚较大的文件系统会发生什么。* https://www.kernel.org/doc/html/latest/filesystems/ext4/overview.html#blocks (3认同)