Ext4 与 Btrfs:您应该使用哪个 Linux 文件系统?

老实说,没有足够多的人考虑为他们的计算机使用哪个文件系统。

Windows 和 macOS 用户几乎没有理由去看,因为他们的系统实际上只有一种选择——分别是 NTFS 和 HFS+。 另一方面,Linux 有许多不同的文件系统选项,当前默认为第四扩展文件系统 (ext4)。

目前正在推动将默认文件系统更改为 B-Tree 文件系统 (btrfs)。 但是 btrfs 更好吗?我们什么时候会看到发行版做出改变?

文件系统做什么?

图片来源:Maksym Kaharlytskyi/Unsplash

与文件夹和文件柜等物理文件系统一样,数字文件系统管理文件。 它们控制您的操作系统如何存储未使用的数据、哪些其他信息(称为元数据)附加到数据、谁或什么可以访问数据等等。

文件系统在后台运行。 与操作系统内核的其余部分一样,它们在日常使用中基本上是不可见的。 文件管理器,即用于管理文件的应用程序,无论在哪个文件系统下运行,大部分都以相同的方式运行。

文件系统的代码非常复杂。 开发人员不断修改这些系统以包含更多功能,同时变得更加高效。

为什么要切换文件系统?

没有代码适用于所有用例,这也适用于文件系统。 一些文件系统因不同的原因而表现出色。 文件分配表 (FAT) 文件系统是几乎所有现代操作都支持的文件系统。

USB 闪存驱动器和 SD 卡使用 FAT 系统,因此无论您运行的是 Linux、Windows、macOS 还是其他一些操作系统,您的计算机都可以读取它们。

但是现在,FAT 不像其他一些已经开发出来的文件系统那样可靠或强大。 因此,虽然您会在便携式媒体上看到 FAT,但您不会看到它管理硬盘驱动器上的数据。

不出所料,Apple 以制造仅适用于其设备的文件系统而闻名。

Linux 的当前文件系统

大多数桌面 Linux 版本(称为发行版,或简称为“发行版”)默认使用 ext4 文件系统。 ext4 是对 ext3 文件系统的改进,它是对之前的 ext2 文件系统的改进。

ext4 已被证明是一个非常健壮的文件系统,但它是由陈旧的代码库构成的。 一些 Linux 用户寻求 ext4 无法自行处理的功能。 有一些软件可以满足其中的一些需求,但是能够在文件系统级别上做这些事情会提供更好的性能。 因此对 btrfs 的渴望。

了解 ext4:优点和缺点

Ext4 的限制仍然令人印象深刻。 使用 ext4 可以创建的最大卷/分区是 1 exbibyte——大约相当于 1,152,921.5 TB。 最大文件大小为 16 TB 或大约 17.6 TB,这比普通消费者目前可以购买的任何硬盘都要大得多。

众所周知,Ext4 通过使用多种不同的技术来提高 ext3 的速度。 与大多数现代文件系统一样,它是一个日志文件系统,这意味着它会保留文件在磁盘上的位置以及对磁盘的任何其他更改的“日志”。

尽管具有所有功能,但它不支持透明压缩、透明加密或重复数据删除。 快照在技术上是受支持的,但该功能充其量只是实验性的。

Theodore Ts’o 是一位在 ext4 的创建中发挥关键作用的开发人员,他将 ext4 描述为基于 1970 年代过时技术的权宜之计,并认为 Btrfs 提供了更好的前进方式。 那是 十多年前.

了解 Btrfs:优点和缺点

Btrfs,可以读作“Butter FS”https://www.makeuseof.com/tag/ext4-btrfs-making-switch-linux/、“Better FS”或“B-Tree FS”,是一种较新的文件系统从头开始重制。 Btrfs 的存在是因为开发人员希望扩展文件系统的功能,以包括池、快照和校验和等附加功能。

该项目始于甲骨文,但此后其他大公司也参与了开发。 该列表包括 Facebook、网件、红帽和 SUSE。

虽然 btrfs 中的增强功能可以使普通消费者受益,但企业使用的一些附加功能更感兴趣。 此类功能适用于要求更高的用例,这些用例通常也需要更耐用的硬盘驱动器。

对于使用具有海量数据库的大型程序的组织而言,跨多个硬盘驱动器具有看似连续的文件系统可以使数据整合变得更加容易。 重复数据删除将减少数据占用的实际空间量,当需要镜像一个单一的、广泛的文件系统时,数据镜像将变得更容易。

当然,您仍然可以选择创建多个分区,这样您就不必镜像所有内容。 btrfs 文件系统的最大分区大小为 16 exbibytes,最大文件大小也是 16 exbibytes。

考虑到 btrfs 将能够跨越多个硬盘驱动器,它支持的驱动器空间是 ext4 的 16 倍,这是一件好事。

Linux 发行版已经过渡了吗?

自 2013 年以来,Btrfs 一直是 Linux 内核的稳定部分,您现在可以使用该文件系统重新格式化您的硬盘驱动器。 但是 btrfs 绝不是默认的 Linux 文件系统。 大多数发行版继续默认为 ext4。

为什么? 文件是硬盘上最重要的数据位。 个人数据是不可替代的。 您可以重新安装操作系统并重新下载应用程序,但如果没有备份,丢失的文件就会永远消失。 这就是为什么在将数百万人切换到默认使用它之前证明文件系统的可靠性至关重要的原因。

Ext4 可能是旧的并且可以说是硬壳的,但它也被证明是有弹性和可靠的。 如果断电并且您的计算机变暗,则 ext4 很有可能会保护您保存的数据的安全。

对于大多数人来说,这种情况是最重要的因素。 这不是关于当事情进展顺利时文件系统的性能如何,而是关于当事情出错时会发生什么。

一个著名的发行版已经确定已经有足够的时间进行切换。 openSUSE 现在使用 btrfs 作为操作系统所在 /root 分区的默认值。 然而,对于存放个人文件的 /home 分区,openSUSE 决定使用 XFS 文件系统。

所以不,过渡并没有像预期的那样顺利。 但正如我们在 Wayland 显示服务器上看到的那样,新技术有时需要很长时间才能在 Linux 环境中扩散开来。