我应该使用 XFS 还是 ext4?

Ars*_*nko 11 filesystems disk-usage

语境

我正在为异地备份设置系统。它是一个连接到两个外部硬盘的树莓派。数据并行写入两个磁盘(这不是 RAID 1,而是备份服务单独写入数据的两个磁盘)。

这些文件将主要被写入,很少被读取。有两种模式:大多数情况下,每分钟会写入几个小文件。在某些情况下,会以 30 MB/s 的速度(如果 Raspberry Pi 能够维持这样的速度)大量写入大文件,持续时间为几分钟到几小时。

大约有 1,000,000 个文件,总共使用 2.5 TB。最大的文件将在 10 GB 左右,而且数量很少;大多数将是从几千字节到几十兆字节。为了避免 Linux 的目录包含过多文件的问题,data 目录最多存储 32 个子目录,而每个子目录最多存储 32 个子目录,依此类推,6 个级别更深,将任何目录的文件/目录数量限制为 32 个。

该设备将通过 UPS 供电,但仍然存在写入数据时无意中拔下/关闭它的风险。虽然在设备关闭/崩溃时丢失正在写入的文件不是问题,但如果它影响其他文件,则将是一个严重的问题。

数据库 (PostgreSQL) 也可能存储在这些磁盘上(尽管我还没有做出选择是将其存储在那里还是使用 Raspberry Pi 的 SD 卡并在硬盘上进行每小时备份)。

使用 XFS 会有什么好处吗?

会不会有什么缺点?

从我读到的内容来看,XFS 在 ext4 显示其局限性的情况下具有优势,例如处理 EB 级数据时,这并不完全是我的情况。几年前 XFS 似乎也不太稳定,但现在似乎不再如此。

那么,这对我来说很重要,还是我的情况太普通而无法证明特别偏爱文件系统?

sou*_*edi 11

那么,这对我来说很重要,还是我的情况太普通而无法证明特别偏爱文件系统?

后者。你描述这个工作量的方式,我认为不是很苛刻。ext4 和 XFS 都应该能够处理它。所以我认为你不应该有强烈的偏好,除了考虑你熟悉的东西和最好的文档。

如果您使用 Debian、Ubuntu 或 Fedora Workstation,安装程序默认为 ext4。所以这就是大多数 Linux 用户所熟悉的。

这可能会产生差异,因为存在一些功能差异,即如果您习惯了另一个陷阱,可能会发现一些小陷阱。

XFS 是一个很棒的文件系统,可以很好地扩展到大型服务器。但在一种情况下,它避免了同样的期望,即 AIUI Linus 需要 ext4 作为 ext3 的继承者来实现。这是一个坚持其他人出于任何目的使用的东西的例子,可能会帮助您避免碰到其他人不知道要警告的东西:-)。 使用 rename() 替换现有文件时,哪些文件系统需要 fsync() 以确保崩溃安全?

红帽正在尝试发展一个基于 XFS 的存储堆栈,称为Stratis,包括将进入 XFS 的特定功能和/或新工作。这可能会变得有趣,并在未来通过 XFS 导致更广泛的社区专业知识等。如果您在某处使用 RHEL 或 CentOS,默认为 XFS,那么请务必继续。Red Hat 提供了许多综合手册(基本上也适用于 CentOS)。

我们校验和文件系统的辉煌未来目前似乎同样阴云密布……至少 Red Hat 启动 Stratis 表明有人这么看……所以如果你不提到他们,那么我也会尽量避免这样做。无论如何,您应该要求您的备份应用程序包含校验和。即使它没有为您提供 ZFS RAID 支持的全部优点。