Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103647228
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-02 17:47:38

文章分类:

ReiserFS文件系统是一种新的linux文件系统。它通过一种与众不同的方式--完全平衡树结构来容纳数据,包括文件数据,文件名以及日志支持,并能在上面继续保持很快的搜索速度和很高的效率。ReiserFS文件系统一直以来被用在高端Unix系统上如, SGI。

ReiserFS相对于Linux上传统的文件系统--ext2有很多优点,在下面我将一一向大家介绍。

ReiserFS是基于平衡树的文件系统结构,尤其对于大量文件的巨型文件系统,如服务器上的文件系统,搜索速度要比ext2快;ext2使用局部的二分查找法,综合性能比不上ReiserFS。

ReiserFS里的目录是完全动态分配的,因此不存在ext2中常见的无法回收巨型目录占用的磁盘空间的情况。ReiserFS里小文件(< 4K)可以直接存储进树,小文件读取和写入的速度更快,树内节点是按字节对齐的,小的文件可共享同一个硬盘块,节约大量空间。Ext2使用固定大小的块分配策略,也就是说,不到4K的小文件也要占据4K的空间,导致的空间浪费比较严重。

ReiserFS有先进的日志(Journaling/logging)机制,在系统意外崩溃的时候,未完成的文件操作不会影响到整个文件系统结构的完整性。 ext2虽然健壮性很强,但一旦文件系统被不正常地断开,在下一次启动时它将不得不进行漫长的检查系统数据结构的完整性的过程,这是为了防止数据丢失而必需的操作。对于较大型的服务器文件系统,这种"文件系统检查"可能要持续好几个小时,在很多场合下这样长的时间是无法接受的。解决这个问题的一种技术"日志文件系统"。在日志的帮助下,每个对数据结构的改变都被记录下来,日志在机制保证了在每个实际数据修改之前,相应的日志已经写入硬盘。正因为如此,在系统突然崩溃时,在下次启动几秒钟后就能恢复成一个完整的系统,系统也就能很快的使用了。

  ReiserFS是一个相当现代化的文件系统,相比之下,ext2虽然性能已经很好了,但其设计还只是20世纪80年代的水准。ReiserFS的出现,使Linux拥有了像Irix/AIX那样的高档商用Unix才有的高级文件系统。ReiserFS可轻松管理上百G的文件系统,在企业级应用中有其用武之地,由于它的高效存储和快速小文件I/O特点,它在桌面系统上也表现出色:启动X窗口系统的时间ReiserFS比ext2少1/3。而ext2则无法管理2G以上的单个文件,这也使得ReiserFS在某些大型企业级应用中比ext2要出色。

  ReiserFS一个最受人批评的缺点是每升级一个版本,都将要将磁盘重新格式化一次,这个缺点也正在改进中。

在1997年7月23日,Hans Reiser把他的基于平衡树结构的ReiserFS文件系统在网上公布 。这是ReiserFS的第一次公开亮相。此后,ReiserFS一直在Hans Reiser和领导下的开发小组下开发和发展,SuSE Linux也对它的发展起了重大的帮助。由于ReiserFS有一些很有用的特性,更主要的是它比ext2fs要快得多,所以它很快被很多人使用。据说在 Linux内核2.4.0以上的版本可能将采用ReiserFS作为它的文件系统。当前的ReiserFS只能在Intel结构体系上使用,但支持其他体系结构的ReiserFS版本也正在积极开发中。我们等待着更强大,兼容性更好的ReiseFS的到来。

怎样添加ReiserFS文件系统

从 下载reiserfs的补丁程序,要确保下载的补丁版本和你的kernel版本是一致的。

下载后用root身份登录进入系统,切换至/usr/src/linux目录,执行命令:

#gunzip /path/to/linux-2.2.16-reiserfs-3.5.22-patch.gz
 #patch -p1 -i /path/to/linux-2.2.16-reiserfs-3.5.22-patch

在做完上面的两步后,重新编译kernel,将reiserfs编译进kernel或做成一个模块。

Reiserfs的相关应用程序在 /usr/src/linux/fs/reiserfs/utils 目录下。你可以用下面方法安装它们:

#mkdir bin
 #make
 #make install

最后,你可以用"fdisk"命令重新分区或用"mkreiserfs"命令重新格式化一个已经存在的分区。指定reiserfs类型加载这个分区,如"mount -t reiserfs /dev/hda2 /download",这样你就可以使用这个新的分区了。

原文链接:http://www-128.ibm.com/developerworks/cn/linux/filesystem/ReiserFS/intro/index.html

阅读(240) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~