在阅读了 EXT4 经历的整个数据=有序的惨败以及它对“损坏的”应用程序的支持程度之后,我很惊讶,一个不能保证在元数据之前写入数据的文件系统被选为企业 Linux 操作系统的默认文件系统。
https://www.suse.com/communities/conversations/xfs-the-file-system-of-choice/
XFS 是否已经改变到与 EXT4 在数据=有序模式下的可靠性相当的程度,或者是否已经有一些其他变量发生了变化,而这现在已成为一个没有实际意义的问题?
答案1
是的,XFS 基本上是数据=回写操作模式。EXT4 也一样,NTFS 和 BTRFS 也是如此任何现代文件系统。
但是,常见的“错误情况”(例如截断文件时崩溃/断电)都在代码中得到解决,因此实际上 EXT4 和 XFS 非常稳定。
另一方面,许多发行版使用 EXT3没有屏障,在错误的情况下(例如:日志环绕期间断电)可能会彻底摧毁您的文件系统。
简而言之:XFS 在生产场景中非常稳定,尤其是在 RHEL(及其衍生)操作系统上,它拥有许多来自最新内核版本的补丁和反向移植。例如,虽然 Debian 6.0 XFS 性能相当差,但由于在较新的内核中实施了延迟日志记录算法并反向移植到 RHEL 内核,RHEL 6 的速度要快得多。
答案2
XFS 使用与 ext4 相同的方法来处理“损坏”的应用程序。如前所述,ext4 的“有序”模式基本上是旧版 ext3 的“写回”模式,但增加了一些隐私保护。两者都有校验和日志。两者都有校验和元数据。两者都是“企业级”。Red Hat 支持 ext4 高达 50TB,XFS 高达 500TB。XFS可能在 RAID 上处理并行性更好。但我一直发现 ext4 在性能上胜过 XFS。例如,在我支持的服务器上,它有一个 6 个 15k 驱动器 RAID 10 阵列。在我的任何测试中,我从未观察到 XFS 广为人知的并行性性能优于 ext4。这两个文件系统都坚如磐石。ext4 更灵活,因为你可以缩小它。XFS 文件系统只能增长。损坏的 ext4 文件系统可能比损坏的 XFS fs 更有效地通过 fsck.ext4 恢复,因为 ext4 所做的是静态分配而不是动态分配。ext4.fsck 确切地知道一切应该是的。XFS 无法确切地知道其动态分配的结构。