在安装过程中,您可以为您的分区选择不同文件系统,这些分区也将因为您的选择而被以不同的算法格式化
选择合适的操作系统对非专家来说是非常困难的。下面我们会简单介绍一些目前流行的文件系统,它们都可以在 Mandrakelinux 下实现。
第二扩展文件系统(简称 ext2FS 或者 ext2) 作为 GNU/Linux 默认的文件系统已经有很多年了。ext2 代替了扩展文件系统(这也是其名称中“第二代”的由来)。它纠正了它前身的一些错误并突破了一些限制。
ext2 遵循了 UNIX® 类文件系统的一贯标准。ext2 从它出现的第一天起,就注定要在提供鲁棒性和高性能的同时演化。
第三扩展文件系统从名字上就可以看出是 ext2 的继任者。它兼容 ext2 并引入日志以提高性能。
ext2 这种“传统”意义上的文件系统的一个主要缺点就是不能经受系统突然崩溃(停电或者软件造成的崩溃)。一般说来,一旦系统再次重启,上次的崩溃会导致系统对文件系统的结构进行长时间检查并试图改正错误。而这些过程有时会导致问题部分被扩大并最终造成部分或全部已保存文件的丢失。
使用日志解决了以上问题。简单地说,就是在实际执行一个命令(比如保存文件)之前就已经记录下这个命令。这个操作就像船长在航海日志上记录每天发生的事情一样。其结果将产生一个总是一致的文件系统。问题发生后会被迅速确认,最终的修复方法也会被限定在很小的范围内。用于确定文件系统问题的时间正比于对系统使用的时间使用而不是文件系统的大小。
ext3 在使用 ext2 结构保证兼容性的同时提供了日志文件系统。这使得 ext2 到 ext3 之间的相互转换非常容易。
和 ext3 不同, reiserfs 是崭新创造出来的。它和 ext3 一样都是日志文件系统,却由于使用了从数据库软件引入的二叉树概念而在内部结构上与 ext3 产生了非常大的差别。而且其块大小可变,因此它优化了对大量(成千上万)小文件的存储。对大文件,它的性能也同样优异,并能使其适应于不同的用途。
表 9.1. 文件系统特征
Ext2 | Ext3 | ReiserFS | JFS | XFS | |
---|---|---|---|---|---|
稳定性 | 出色 | 很好 | 好 | 一般 | 好 |
反删除工具 | 有(复杂) | 有(复杂) | 无 | 无 | 无 |
系统崩溃后的重启时间 | 非常非常长 | 快 | 非常快 | 非常快 | 非常快 |
系统崩溃后数据的状态 | 一般来说不错,但是要冒丢失部分或全部数据的巨大风险 | 很好 | Medium[a] | 很好 | 很好 |
ACL 支持 | 是 | 是 | 无 | 无 | 是 |
[a] 通过在 |
文件大小的上限取决于许多参数(比如:ext2/ext3 的块大小),且会随内核版本及架构的更新而发展。对于 32 位计算机而言,当前的 ext2 或 ext3 文件系统的上限接近或超过 2 万亿字节(TB,1 TB=1024 GB)。JFS 可以达到 4 皮字节(PB,1 PB=1024 TB)。不幸的是,这些值同样会受到最大设备块大小的限制[23]。
在2.6.X 版内核中,这个块设备极限可以通过在编译内核时打开大块设备支持选项(CONFIG_LBD=y)而突破。详细情况可以参考 对单一 UNIX 标准添加任意文件大小支持、Linux 中大文件支持 和 大设备块。对某个提供支持的文件系统,上述文章能使您达到 16 TB (在 32 位计算机上)文件系统大小,而不用使用类似 JFS 的特殊文件系统技巧。保存在其中的文件的大小局限于一个更小的值。
比较文件系统间的性能差别往往是很困难的。所有的测试都有缺陷,结果都要小心地解释。目前 ext2 已经很成熟了,但是它的发展也日趋缓慢; ext3 和 reiserfs 在这点上较为成熟。 reiserfs 的新特性已经被加入到了 Reiser4[24]。另一方面, XFS 有很多独到之处,而且随着时间的推移,将有更多高级特性和 Linux 工作得更好。JFS 选择了不同的路线,它的特性已经被一个接一个地集成到了 Linux 中。这虽然使得它的进展缓慢,但却换来了干净的代码。几个月或几周前的比较已经过时了。您要知道现在硬件的性能(特别是和硬盘容量有关的)已经极大地平衡了不同文件系统之间的区别。 XFS 目前在对大的流文件的处理上表现最好,这是它的优点。
每个系统都有优点和缺点。实际上,这些都取决于您对自己计算机的使用。一个简单的桌面机使用 ext2 就足够了。对于服务器来说, ext3 这样的日志系统是不错的选择。reiserfs 可能会因为它的起源而更适合于数据库服务器。JFS 适用于主要追求大的文件系统吞吐量的系统。如果您需要 XFS 的高级特性,那么它是一个非常有趣的选择。
对于“普通”应用,这四种文件系统会有几乎相同的性能。 reiserfs 允许您迅速访问小文件,但它处理大文件(几兆)的速度较慢。在大多数情况下,reiserfs 处理日志的能力会使人忽略掉它的缺点。值得注意的是,在默认情况下 reiserfs 是通过 notail
选项挂载的。这意味着系统没有对处理小文件进行优化。