Resier4

  总结一下,看一个文件系统的有劣,可以从以下方面考虑:
1. 支持的最大文件,支持的文件系统大小
2. 目录访问时间,包括对超大目录(单层目录含巨多文件或者目录树很深)
3. 日记记录 - 文件系统崩溃时可根据记录恢复,来源于oracle/Sybase数据库文件系统
4. 磁盘布局动态分配和读写效率(文件数据处理速度)
5. 压缩和加密

Hans和他的组员们(ReiserFS创始人)相信最好的文件系统是能够有助于创建独立的共享环境或命名空间的文件系统,应用程序可以在其中更直接、有效和有力地相互作用。

Linux 文件系统

在 Linux 诞生之初(实际上是在 1993 年末),其内核只支持一种文件系统,即非常微型的 Minix 文件系统的入口。这种文件系统有一些缺点,包括 14 个字符的文件名和最大 64MB 的文件系统大小。它甚至不支持 UNIX 文件系统属性全集,特别是符合 POSIX(可移植操作系统接口)文件系统的全集中所需的创建、修改和访问时间戳。

因为 Minix 文件系统的这些局限性,所以人们开始研究替代的文件系统,并产生了附加的虚拟文件系统 (VFS) 抽象层,该抽象层使得 Linux 能够更容易地读取文件系统中的数据。使用新的 VFS,Minix 文件系统允许使用更长的文件名和更大的文件系统容量(最大可到 2 GB)。这就成为了扩展文件系统 (ext),但它仍然具有其局限性。

相应的解决方案是 ext2,现在许多系统中仍然使用这种文件系统,它在相当长的时间内一直作为 Linux 中缺省的文件系统。通过在 ext2 文件系统中添加日记记录功能以对其进行改进,这样就创建了 ext3 文件系统作为其后继文件系统。

ReiserFS(也称为 Reiser3 文件系统)是 Linux 中第一种支持日记记录和更高效磁盘使用率的高级文件系统,它比 Linux 中使用的任何其他进行日记记录的文件系统都早。它的后继文件系统 Reiser4,对其进行了彻底的重新设计和重新编写,在维护数据安全和高效的同时,主要关注于扩展性、安全性和性能。Reiser4 目前尚未集成到 Linux 2.6 内核中,这表示了可能存在不稳定性或其他需要逐步过渡的原因。无论您所使用的是何种文件系统,请记住对重要的数据进行备份。

让我们来简单地看一下 ext2、ext3 和 Reiser4 文件系统。

传统的文件系统:ext2

ext2 文件系统是 Linux 的缺省文件系统,也是传统的 UNIX 文件系统(即基于 Berkeley 的快速文件系统,FFS)。在 ext2 中,文件名最大长度为 255 个字符,并且理论上的最大文件系统大小为 4 TB。(Linux 的块设备驱动器则不能超过 2047 GB,什么时候可以买到具有如此之大的存储空间的单块磁盘,别忘了告诉我一声)。

由于其使用广泛,市场上出现了针对 Windows 和 Mac OS X 的 ext2 驱动器,允许您直接从这些操作系统中读取和写入 ext2 文件系统,这使它成为了共享设备(如移动硬盘)极好的格式。

ext2 文件系统支持所有的标准 UNIX 特性:

  • 所有者用户 ID 和组 ID。
  • 用来控制用户、组以及其他权限和操作系统标志的模式位。
  • 条目创建、修改和访问时间(尽管大多数系统为了提高性能,在运行过程中没有开启访问时间跟踪,但这样就丧失了纯 POSIX 1003.1 的兼容性)的存储。

ext2 文件系统的最大缺点在于,与其最初的设计相比,硬盘的大小变大了许多。系统崩溃或出现电源故障后,需要使用 fsck 对文件系统进行检查,而对于具有大量目录和文件的新式硬盘来说,该操作过程非常耗时

传统的但包括日记记录功能的文件系统:ext3

Linux 的 ext3 文件系统是大部分流行分发版的新的缺省文件系统。与 ext2 相比,它增加了:

  • 元数据日记,以确保文件系统的结构总能保持有效状态。这样一来,在系统崩溃或掉电后,基本上不再需要冗长的 fsck 处理过程了。
  • 经过散列的树目录索引,用来加速对大型目录的访问时间。
  • 联机文件系统大小调整和从 ext2 到 ext3 的免格式化升级能力。
  • 更大的最大文件和文件系统大小(分别为 2 和 32 TB)。

尽管与其竞争者(如 Reiser3 或 SGI 优秀的 XFS)相比,ext3 速度并不块,并且可伸缩性也不是很好,但是因为大量成熟的 ext2 维护和管理实用工具的存在,所以对 ext2 的良好兼容性使得它更具有吸引力。

蝙蝠侠跑车式的选择:Reiser4

在 Reiser3 文件系统因为其速度和日记记录支持(甚至到现在,它仍是许多 Linux 分发版的缺省文件系统)而获得普遍认可之后,它的设计人员并不满足。于是对其进行了重写,从而得到了 Reiser4,其中添加了一些附加的并且有趣的特性:

  • 通过移动日志来实现有效的日记记录功能。
  • 在磁盘空间和速度方面提供对小文件的有效支持。
  • 快速处理具有大量文件的超大型目录(的确如此,即使单个目录中包含数百万文件,也不会影响其性能)。
  • 源代码级的灵活插件结构,它允许将来很容易地在某个位置添加压缩和加密功能。
  • 原子文件系统修改,它确保了磁盘上的文件系统总能保持有效状态。
  • 通过刷新分配 (allocate-on-flush) 实现磁盘布局动态优化。
  • 支持类似数据库的文件系统事务处理。
  •  
附录:
ext3是一种日志式文件系统,日志式文件系统的优越性在于由于文件系统都有快取层参与运 作,如不使用时必须将文件系统卸下,以便将快取层的资料写回磁盘中。因此,每当系统要关机时,必须将其所有的文件系统全部卸下后才能进行关机。如果在文件 系统尚未卸下前就关机 (如停电),那么重开机后就会造成文件系统的资料不一致,故这时必须做文件系统的重整工作,将不一致与错误的地方修复。
---这个可以解释为什么linux系统非法关机会造成严重后果, 就是你的文件还在快取层


JFS

JFS是一种提供日志的字节级文件系统。该文件系统主要是为满足服务器(从单处理器 系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计、开发的。JFS文件系统是为面向事务的高性能系统而开发的。在IBM的AIX系统 上,JFS已经过较长时间的测试,结果表明它是可靠、快速和容易使用的。2000年2月,IBM宣布在一个开放资源许可证下移植Linux版本的JFS文 件系统。JFS也是一个有大量用户安装使用的企业级文件系统,具有可伸缩性和健壮性。与非日志文件系统相比,它的突出优点是快速重启能力,JFS能够在几 秒或几分钟内就把文件系统恢复到一致状态。虽然JFS主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,但 还可以用于想得到高性能和可靠性的客户机配置,因为在系统崩溃时JFS能提供快速文件系统重启时间,所以它是因特网文件服务器的关键技术。使用数据库日志 处理技术,JFS能在几秒或几分钟之内把文件系统恢复到一致状态。而在非日志文件系统中,文件恢复可能花费几小时或几天。


JFS的缺点是,使用JFS日志文件系统性能上会有一定损失,系统资源占用的比率也偏高,因为当它保存一个日志时,系统需要写许多数据。 


 

XFS

XFS是一种非常优秀的日志文件系统,它是由SGI于20世纪90年代初开发的。 XFS推出后被业界称为先进的、最具可升级性的文件系统技术。它是一个全64位、快速、稳固的日志文件系统,多年用于SGI的IRIX操作系统。当SGI 决定支持Linux社区时,它将关键的基本架构技术授权于Linux,以开放资源形式发布了他们自己拥有的XFS的源代码,并开始进行移植。此项工作进展 得很快,目前已进入beta版阶段。作为一个64位文件系统,XFS可以支持超大数量的文件(9000×1GB),可在大型2D和3D数据方面提供显著的 性能。XFS有能力预测其它文件系统薄弱环节,同时提供了在不妨碍性能的情况下增强可靠性和快速的事故恢复。


 

参考:

http://www.ibm.com/developerworks/cn/aix/library/au-unix-reiserFS/

http://linux.ccidnet.com/art/302/20031112/71048_1.html

http://www.namesys.com/


http://www.sgi.com/products/software/xfs/

http://www.ccidnet.com/images/tech/linux/zhuanti/wenjian/index.htm


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值