运行 Linux 系统的用户几乎不会关注底层文件系统。事实上,在安装 Linux 的过程中,通常倾向于使用列出的默认文件系统而不探索其他可用选项。对于 Windows,事情要容易得多,因为 NTFS 是主要的文件系统。在 Linux 中,有许多文件系统可供您使用。这些包括 Ext4、XFS、ZFS 和 BTRFS。
最广泛使用的文件系统是 Ext4 和 XFS,后者是基于 RHEL 的发行版中的默认文件系统,而 Ext4 是 Debian 和 Ubuntu 发行版中的标准文件系统。在选择文件系统时,需要考虑的一些因素包括可扩展性、稳定性和数据完整性。
在本指南中,我们将重点关注Ext4 和 XFS 文件系统,并试图了解这两者之间的区别。
Ext4 文件系统
Ext4 文件系统(扩展文件系统)是 Ext 文件系统家族的第四代,其起源可以追溯到 1987 年首次推出的 Minix 操作系统。Ext 文件系统是第一个支持 Linux 内核的文件系统。早在 1992 年。它在 2008 年与 Linux 2.6.28 一起出现。接替其前身 ext3。
Ext4 完美地管理了许多小文件并确保元数据被正确写入,即使写入缓存断电。
一目了然,它的主要特点包括:
- 支持大文件大小 - Ext4 支持高达 16 TiB (Tebibytes) 的单个文件大小,而 XFS 支持高达 8 exbibytes 的最大文件大小。
- 基于范围的延迟分配以加快文件分配。
- 向后兼容性——使用 Ext4 文件系统的另一个好处是它向后兼容Ext3 和 Ext2系统。这提高了性能和灵活性,因为某些 Ext4 功能也可以在 Ext3 和 Ext2 文件系统中实现。此外,Ext3 和 Ext2 文件系统可以作为 Ext4 挂载。
- 分配改进 - 存储块在写入磁盘之前由 Ext4 文件系统更有效地分配。这大大提高了读写性能。
- 日志校验和 - Ext4 文件系统利用校验和选项将文件损坏的风险降至最低。校验和选项执行频繁的检查以探测块卷中的错误。这样做可以减少日志记录时间并降低性能。
- 更快的文件系统检查 - 除了日志校验和,Ext4 产生更快的文件系统检查,例如,与早期版本(如 Ext3 和 Ext2)相比,fsck 命令将运行得更快并在更短的时间内给出结果。
- 改进的时间戳——Ext4 实现了以纳秒为单位测量的时间戳,这是对基于秒的时间戳的粒度的改进,后者被认为是不够的。此外,时间戳还增加了 408 年,以解决 2038 年的上限。
- 无限数量的子目录——Ext4 文件系统不限制可以在单个目录中创建的子目录的数量,除了目录大小本身。在 Ext3 中,一个目录最多只能有 32,000 个子目录。Ext4 引入了 HTreeindices 功能以增加可以存储在目录中的条目。
- 透明加密 - 早在 2015 年 6 月,Linux 内核 4.1 中的 Ext4 文件系统就实现了对透明加密的支持。
XFS 文件系统
XFS 文件系统最初由 Silicon Graphics 于 1993 年开发,它以稳定和高性能的 64 位日志文件系统而自豪。XFS 文件系统旨在支持高达 18 EB 的大型文件系统和超大文件。该文件系统专为具有大型磁盘阵列、大型 CPU 以及需要存储大型文件的系统而设计。
XFS 以提供高 I/O 线程的可扩展性以及在处理大文件方面的出色性能而广为人知。
XFS 文件系统是 RHEL、CentOS 和其他 RHEL 发行版(如 Oracle Linux、Rocky Linux 和 AlmaLinux)中的默认文件系统。
主要特点包括:
- 支持更大的文件系统 - XfS 支持高达 1PiB 的文件系统大小,而 Ext4 支持高达 50TiB。支持的文件系统大小可能因 Linux 发行版版本而异。
- 延迟分配 - 使用惰性评估技术进行文件分配。块分配仅在数据最终刷新到磁盘时发生,有助于减少碎片并提高性能。
- 在线碎片整理和文件系统增长
- 复杂的元数据预读算法
- 元数据日志 - 元数据日志是一项功能,可在突然断电或系统崩溃的情况下保证文件系统的一致性。
- 配额日志——这消除了在系统崩溃后进行冗长的配额一致性检查的需要。
- 支持扩展属性——这使系统能够为每个文件关联几个额外的名称/值对。
- 在线碎片整理和增长 - 您可以在挂载和活动时对文件系统进行碎片整理和扩大。
- 存储可扩展性——XFS 文件系统在支持大型文件系统、大型目录和高达 EB 容量的海量文件方面发挥了惊人的作用。
- 高效的磁盘空间管理——XFS 还通过 B-Tree 索引为高效的磁盘空间管理提供可扩展性。
结论
为您的应用程序选择合适的文件系统是一个重要的决定。在做出决定时需要考虑服务器的规模、您期望的 I/O 工作负载、吞吐量和延迟、文件的大小、应用程序可能遭受的停机时间等等。
这是对 XFS 和 Ext 文件系统的概述。我们已经深入概述了每个文件系统提供的好处。记住这些信息,您可以就为您的操作系统选择哪个文件系统做出明智的决定。