![ext5 何时到来或者 ext4 何时更新以支持大型(巨型)SSD?](https://linux22.com/image/215390/ext5%20%E4%BD%95%E6%97%B6%E5%88%B0%E6%9D%A5%E6%88%96%E8%80%85%20ext4%20%E4%BD%95%E6%97%B6%E6%9B%B4%E6%96%B0%E4%BB%A5%E6%94%AF%E6%8C%81%E5%A4%A7%E5%9E%8B%EF%BC%88%E5%B7%A8%E5%9E%8B%EF%BC%89SSD%EF%BC%9F.png)
已经有Nimbus ExaDrive 100TBSSD 和 200TB SSD很快就会来。正如你所读到的这里ext4 最高支持 256 TB。硬件达到这个限制只是时间问题。
他们会更新 ext4 还是会有 ext5?会发生什么?
答案1
64 位 ext4 文件系统的最大大小为 64ZiB(块大小为 4KiB),最大大小为 1YiB(块大小为 64KiB),无需 ext5 即可处理大容量。 1 YiB,1 yobibyte,即 1024 个8字节。
1 PiB 和 1 EiB 存在实际限制,但这仍然(稍微)大于当前的 SSD,并且这些限制应该可以在 ext4 内解决,而不需要 ext5。
答案2
64bit
ext4 文件系统功能消除了 2 32块限制。如果创建文件系统时未启用此功能,您可以使用以下命令将其添加到超级块中tune2fs(8)
:
tune2fs -O 64bit /dev/sda1
这是文件系统功能,而不是挂载选项,因此必须在创建文件系统时指定或稍后添加。从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.
自 2015 年以来构建的任何 ext4 文件系统mke2fs
都将默认启用此功能。
答案3
虽然 ext4 理论上可以处理大小高达 2^64 * 块大小 = 64ZiB 的文件系统(对于常用的 4KiB 块大小),但从更实际的角度来看,目前存在 2^48 * 块大小 = 1EiB(@ 4KiB 块大小)的实现限制当前使用的盘区格式的 inode 2^48-1 块地址限制。由于当前的块分配器,在超过 1 PiB 时开始出现一些性能问题,尽管仍然相当可用,并且我们在生产中有数百个大约这个大小的 ext4 文件系统。块分配器可能可以在代码中修复,而无需任何(主要)磁盘格式更改,并且一旦扩展区格式成为真正的限制,也可以对其进行扩展。
答案4
其他人已经回答了有关大分区的问题,但我认为回答有关 ext5 何时推出的问题会有所帮助。
Ext4 目前由 Theodore Ts'o 维护。根据2009 年 Ars Technica文章:
尽管 Ext4 为文件系统添加了许多引人注目的功能,但 T'so 并不认为这是向前迈出的一大步。他认为这是对过时的“20 世纪 70 年代技术”的翻版,并将其描述为保守的短期解决方案。他认为,前进的方向是 Oracle 的开源 Btrfs 文件系统,该系统旨在显着提高可扩展性、可靠性和易管理性。
当然,这远不是一个坚定的承诺,永远不会实现名为 ext5 的文件系统,但我相信现在对此没什么兴趣。