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