我是否对所有分区(例如 / 和 /boot)都使用 ext4?其他格式有什么用?

我是否对所有分区(例如 / 和 /boot)都使用 ext4?其他格式有什么用?

我正在一台配备 24GB SSD 和 500GB HDD 的新笔记本电脑上安装 ubuntu。我想将 / 和 swap 放到 SSD 上,将 /home 放到 HDD 上。有什么我不应该使用 ext4 的吗?

我从未打算使用双启动。只使用 Ubuntu。

答案1

交换空间根本不使用文件系统。对于常规文件系统分区,我的想法是:

  • Ext2fs-- 这是现存的主要非日志式 Linux 原生文件系统,因此实用性有限。我建议只在小分区(例如单独的分区/boot或可能是小型 USB 闪存驱动器)上使用它,因为日志的弊端大于优势。
  • 文件系统-- 这是 ext2fs 加上日志,可减少电源故障或系统崩溃后的磁盘检查时间。Ext3fs 曾经是一个不错的选择,但如今它已被 ext4fs 完全取代……
  • Ext4fs-- 这是 ext3fs 加上一些新功能,可以提高性能并支持在更大磁盘上使用。它可能是目前 Linux 的最佳通用文件系统;当然,它是大多数发行版默认支持的文件系统。
  • 雷泽文件系统-- 此文件系统的功能与 ext3fs 大致相当。其主要突出之处在于它特别擅长处理小文件(如几千字节,甚至不到一千字节)。如果您碰巧存储了大量小文件,它仍然值得考虑。另一方面,它不是一个“热门”文件系统,因此开发速度很慢,而且 ReiserFS 缺乏 ext4fs 和此列表中的后续文件系统中的高级功能。一个变体 Reiser4 承诺提供此类功能,但在实现为实际的内核文件系统方面进展非常缓慢。我并不指望 Reiser4 能够成为可行的。
  • 西弗斯-- XFS 受到大磁盘(超过几 TB)系统管理员的青睐,它具有一些适度先进的功能,并且在处理大文件方面享有盛誉。但是,XFS 分区不能缩小,如果您不确定分区的大小,这可能会成为问题。
  • 捷豹路虎-- JFS 在许多方面与 XFS 相似,但从未如此流行。几年前,它并不那么可靠,但我不确定现在是否如此。我想不出在 Linux 专用系统上支持它的任何好理由,尽管在某些特殊情况下,它的性能可能优于其他文件系统。
  • 文件系统-- 这是最新的 Linux 原生文件系统,它包含高级功能,例如将文件系统扩展到多个磁盘以及拍摄快照。不过,它仍处于试验阶段,因此不建议在生产环境中使用。

ph0t0nix 提到了 ZFS,但它并不是 Linux 原生的。(它由 Sun 开发,并已移植到一些 BSD,但许可问题阻碍了将该代码移入 Linux 内核。)Linux 有两种 ZFS 实现,其中一种可以内置到内核中,另一种是通过以下方式访问的用户空间驱动程序保险丝。不过,内核 ZFS 驱动程序不是标准 Linux 内核的一部分,在我看来,这是一个很大的缺点;在我看来,主文件系统的驱动程序应该是标准它是内核的一部分,而不是附加包,如果升级内核,它可能无法工作。

总体而言,在我看来,目前最好的通用选项是 ext4fs 和 XFS。在这两个选项中,我更倾向于 ext4fs,因为它更受欢迎,而且可以缩小。Ext2fs 适用于小分区(例如,小于 1GB 左右),如果您存储大量非常小的文件,ReiserFS 会很好,如果您需要高级前沿功能并且不介意风险,Btrfs 会很好。我碰巧手边没有这些文件系统的基准数据,而且这些数据可能很难解释,因为许多因素都会影响性能(磁盘类型、文件大小、系统负载等)。如果速度或系统负载对您特别重要,您可以尝试查找此类数据。

当然,也有非本地文件系统——NTFS、FAT、HFS+ 等。您不能将它们用作主 Linux 安装的文件系统。(我想您可能能够将 HFS+ 用于此目的,但我从未尝试过,而且 Ubuntu 安装程序肯定不支持它!)您可以使用它们在双启动计算机或可移动磁盘上实现互操作性。

答案2

对于您建议的设置,建议使用 ext4。

如果要将其/boot作为单独的分区,则可以使用 ext2。对于大型文件系统(例如 > 16TB),我通常使用 xfs,因为我在那里遇到了一些 ext4 问题(调整分区大小时出现问题)。并且仍然不建议将 btrfs 用于生产。对于服务器,您可以考虑 ZFS,几个月前它在 Linux 上已宣布稳定。

答案3

使用 ext4 或 XFS 作为主分区。使用 ext2 或非日志式 ext4 作为启动分区。

您应该将 ext4 用于主分区。它提供高性能,非常稳定,并且由于使用日志,在随机损坏的情况下非常有弹性。您还可以使用 XFS,这是一个编写得非常好、快速且成熟的通用文件系统。如果您将/boot主安装保留在同一个分区上,那么您自然只需使用一个文件系统。

如果您的启动目录位于单独的分区,那么您要么希望使用禁用日志的 ext4,要么首先使用没有日志的 ext2。放弃日志可能是一个好主意,因为当文件系统不会频繁更改而日志无法保护其免受损坏时,日志是不必要的,而且日志会占用宝贵的空间。

我建议使用禁用日志的 ext4 而不是 ext2,因为前者速度更快,而且更耐损坏,即使没有日志,因为它附带了出色的文件系统检查器。您可以通过运行 来以这种方式格式化设备mkfs.ext4 -O ^has_journal /dev/sdx1

其他一些通用格式,简要描述如下:

  • 扩展2- 简单快速的文件系统,无日志。适用于 SD 卡。

  • 扩展- 实际上是用胶带贴上日志管道的 ext2。不是一个好的文件系统。

  • ext4- 一个现代的高性能文件系统。你应该使用它。

  • 西弗斯- 另一个现代的高性能文件系统。适合大分区。

  • 捷豹路虎- 第一个日志文件系统。不是最快的,但资源占用低。

  • 文件系统- “高级”写时复制文件系统仍然存在很多缺陷。

  • 雷泽文件系统- 适用于处理大量小文件,但速度较慢。其主要开发者仍在监狱中。

还有一些通常受支持的“专用”文件系统:

  • 虚拟文件系统- 极其强大且非常可靠,但需要树外补丁。

  • 胖的- 一个非常简单且被广泛支持的文件系统系列。

  • f2fs- 针对固态硬盘进行优化,以减少磨损。

  • 缓存文件系统- 即将推出的利用 SSD 缓存的非常快的文件系统。

对于小型 SD 卡或非常小的分区,ext2、不带日志的 ext4 和 FAT 都是不错的选择。对于主要安装,流行的 ext4 或受人尊敬的 XFS 不会出错。

答案4

实际的 BTRFS 是 ext4 的良好替代品。也许从内核 6.8 开始,bcachefs 将成为 BTRFS 的更好替代品。

ext4

最大文件大小:16TiB,带 4K 块。最大文件数:4 Milliarden 最大文件名大小:255 字节 最大卷大小:1EiB

透明数据删除:是 写时复制:否 透明压缩:否 透明重复数据删除:否 分区备份、缩小、放大、删除:是,是,是,是 支持自我修复:否

北卡罗莱纳州

最大文件大小:16EiB。最大文件数:180 亿。最大文件名大小:255 字节 最大卷大小:16EiB

透明数据复制:否 写时复制:是 透明复制:是 重复数据删除:是 分区、删除、缩放、删除:是、是、是、是 支持自我修复:是

虚拟文件系统

最大文件大小:16EiB。最大文件数:281 亿字节。最大文件名大小:255 字节最大卷大小:16EiB

数据复制:是 透明复制:是 透明重复数据删除:是 分区备份、丢失、缩放、删除:是、是、是、是、否,不计划支持 是否支持自我修复:否

缓存文件

最大文件大小: 最大文件数: 最大文件名大小: 最大卷大小:

数据复制:是 透明透明复制:是 透明重复数据删除:是 分区、缩小、缩放、删除:是,是,是,是,计划内 支持自我修复:是

相关内容