reiserfs


reiserfs

文章插图
reiserfs【reiserfs】ReiserFS是一种新型的档案系统,它通过一种与众不同的方式--完全平衡树结构来容纳数据,包括档案数据,档案名称以及日誌支持 。ReiserFS还以支持海量磁碟和磁碟阵列,并能在上面继续保持很快的搜寻速度和很高的效率 。
基本介绍中文名:reiserfs
类型:一种新型的档案系统
包括:档案数据,档案名称
特点:先进的日誌机制
ReiserFS的特点(与ext2的对比)ReiserFS相对于Linux上传统的档案系统--ext2有很多优点,在下面一一介绍 。ReiserFS有先进的日誌(Journaling/logging)功能 机制 。日誌机制保证了在每个实际数据修改之前,相应的日誌已经写入硬碟 。档案与数据的安全性有了很大提高 。高效的磁碟空间利用Reiserfs对一些小档案不分配inode 。而是将这些档案打包,存放在同一个磁碟分块中 。而其它档案系统则为每个小档案分别放置到一个磁碟分块中 。这意味着:如果有10000个小档案,就要占用10000个分块 。想想看这多浪费磁碟空间 。独特的搜寻方式ReiserFS基于快速平衡树(balanced tree)搜寻,平衡树在性能上非常卓越,这是一种非常高效的算法 。ReiserFS搜寻大量档案时,搜寻速度要比ext2快得多 。Reiserfs档案系统使用B*Tree存储档案,而其它档案系统使用B+Tree树 。B*Tree查询速度比B+Tree要快很多 。Reiserfs在档案定位上速度非常快 。在实际运用中,ReiserFS 在处理小于 1k 的档案时,比ext2 快 8 到 15 倍!ReiserFS 几乎在各个方面都优于 ext2 。支持海量磁碟ReiserFS是一个非常优秀的档案系统,可轻鬆管理上百G的档案系统,ReiserFS档案系统最大支持的档案系统尺寸为16TB 。这非常适合企业级套用中 。优异的性能由于它的高效存储和快速小档案I/O特点,使用ReiserFs档案系统的PC,在启动X视窗系统时,所花的时间要比在同一台机器上使用ext2档案系统少1/3 。另外,ReiserFS档案系统支持单个档案尺寸为4G的档案,这为大型资料库系统在linux上的套用提供了更好的选择 。搜寻方式ReiserFS是基于平衡树(STree)的档案系统结构,尤其对于大量档案的巨型档案系统,如伺服器上的档案系统,搜寻速度要比ext2快;ext2使用局部的二分查找法,综合性能比不上ReiserFS 。在Reiser4中还运用了档案即是目录的设计来管理meta-data,并且运用了Hans Reiser自己发明的Dancing B-tree,效率提升非常明显 。空间分配和利用情况ReiserFS里的目录是完全动态分配的,因此不存在ext2中常见的无法回收巨型目录占用的磁碟空间的情况 。ReiserFS里小档案(< 4K)可以直接存储进树,小档案读取和写入的速度更快,树内节点是按位元组对齐的,小的档案可共享同一个硬碟块,节约大量空间 。Ext2使用固定大小的块分配策略,也就是说,不到4K的小档案也要占据4K的空间,导致的空间浪费比较严重 。缺点出现异常断电的时候,会出现大量的未写入完全的数据 。ReiserFS会在恢复的时候进行rebuild-tree 。而这个过程是非常慢的 。在ReiserFS的升级版本Reiser4中有所改观 。ReiserFS的起源与未来在1997年7月23日,Hans Reiser把他的基于平衡树结构的ReiserFS档案系统在网上公布。这是ReiserFS的第一次公开亮相 。此后,ReiserFS一直在Hans Reiser和领导下的开发小组下开发和发展,SuSE Linux也对它的发展起了重大的帮助 。由于ReiserFS有一些很有用的特性,更主要的是它比ext2fs要快得多,所以它很快被很多人使用 。Novell收购SUSE公司以后停止了对Namesys的资助 。但是在2001年,Namesys的ReiserFS受到了五角大楼60万美元的资助 。2008年,由于ReiserFS的创始人Hans Reiser的谋杀罪名成立,Namesys可能面临倒闭或被收购的危险,但是Namesys的工作人员称,即使Namesys倒闭也不会停止Reiser4的继续完善和开发 。ReiserFS与EXT3的比较ReiserFS与ext3主要不同就技术而言,两个档案系统有很多的不同,但是对于多数人来说,只需关心其中的几点即可 。第一是你可以很方便地从ext2格式进行升级,因为到目前为止,很多Linux发行套件仍然在使用这种档案系统 。第二就是ext3不仅可以记录数据日誌(这在ext2中就已经具备),而且在此基础上还可以记录元数据 (Metadata)日誌 。现在的ReiserFS则只有日誌元数据 。第三就是档案系统的可扩展性 。在介绍第三点以前,让我们先来看一看前两个不同点,因为第三点值得我们特别关注 。就ext3来说,它可以方便地从ext2档案系统进行升级转换是其一大优势 。当然,对于一直使用ReiserFS的人来说,这没有什幺意义 。但是,大多数用户并不愿意尝试使用ext3以外的任何一种日誌档案系统 。原因很简单,把ext2转换到ext3要比转换成其它任何一种档案系统更简单、快捷 。和ext2相比,ext3提供了更佳的安全性,这就是数据日誌和元数据日誌之间的不同 。在两台不同的电脑上,其中一台使用数据日誌,另外一台使用数据和元数据日誌 。启动一些应用程式,并对一些数据档案进行适当的改动,然后拨掉电源 。当启动第一台机器时,它可以很快地把档案系统恢复到稳定的状态 。但是可以肯定,刚才你对数据档案所做的改动,已经由于掉电而丢失 。第二台机器也可以很快地将档案系统恢复到稳定的状态,并且可以保留掉电前你对数据所做的所有改动 。很显然,对于大多数计算机用户来说,一般都愿意使用后者 。不过,除非真的有此需求,否则应该慎重考虑 。在数据日誌上增加了元数据日誌后,会使系统速度受到严重的影响 。在大多数情况下,ReiserFS已经比没有日誌功能的ext2快了很多 。并且,在一般情况下,ReiserFS要比具有元数据日誌功能的ext3快得多 。如果你同时选择了数据和元数据日誌功能,那幺ReiserFS要比ext3快得多 。速度不是选择档案系统的关键上面说到ReiserFS的速度要快得多,不过在现实中,人们关心的往往并不是速度(我指的是感觉不是特别明显的速度上的差异) 。作为一个用户,很难想像他会在意打开一个Word档案,或者Excel表单需要2.5秒还是4秒的时间 。事实上,大部分人选择使用微软的Office,并不是基于速度方面的考虑,而是因为大家都在使用该办公套件 。这种现象并不仅仅发生在Windows领域 。KWord或者AbiWord的载入速度要比StarOffice快得多,但是,很多Linux用户一边等着 StarOffice缓慢地启动,一边还在对其大加讚赏 。一般情况下,他们并不会因为StarOffice的速度上有欠缺而放弃它,因为,他们已经习惯了 。可见,虽然速度较慢,但是只要其还在人们可以容忍的限度之内,一般人是不会介意的 。我们一般喜欢把速度慢的原因归咎于硬体,而不是软体 。比如说,众多骨灰级的游戏玩家一般会购买最新的晶片和显示卡,来运行自己钟爱的游戏,而不会根据自己现有的硬体配置来购买可以运行的游戏 。在此,我必须澄清,我并不认为因为可以使用更快的处理器,以及更大的记忆体,所以Linux就可以採用那些很慢的、臃肿的程式代码(当然Linus Torvalds也不会答应这幺做) 。我只是觉得在做某些事情时,完全可以採取或者选择一种合适的方式来完成 。如果有人要享受ext3提供的数据日誌的安全功能,并且又不想因此而在速度上有所损失的话,完全可以买一个更快的处理器来弥补该档案系统性能上的不足 。当然,ReiserFS档案系统也有类似的问题 。所以,如果你要想使用ReiserFS,而又担心自己的数据丢失,那幺你可以关闭驱动器的写缓冲功能 。根据所使用的系统不同,关闭该功能的命令可能也会有所不同,但可能都和以下所示的命令类似:/sbin/hdparm -wo /dev/had以上命令是要关闭系统中的第一个IDE驱动器的写缓冲功能 。需要引起注意的是,这样做将会使系统性能受到很大影响 。当然,既然你可以忍受ext3元数据日誌功能带来的系统速度下降,这样做又有何不可呢?在我的机器上,由于害怕丢失一些重要数据,我就关闭了其中一个驱动器的写缓冲功能,性能下降得很厉害,但我认为这种代价还是值得的 。说了那幺多,我只是想说明一件事,也就是说对于大多数使用电脑的人而言,选择ReiserFS还是ext3,速度并不是决定性的因素 。只有少数的用户和一些对速度要求非常苛刻的特殊环境,才会关心二者的速度差异 。此外,ext3有一个独特的功能,它可以在每一个载入点让用户控制数据日誌功能 。换句话说,你可以从一个驱动器上载入多个分区,并且每一个分区都可以决定是否使用数据日誌功能 。当然,如果把整个驱动器的写缓冲功能都关闭了,那幺也就没有这个选项了 。在现实中,大多数人既不会考虑性能的因素,也不会考虑安全的因素,而总是希望採用一种最方便和最熟悉的途径 。在各种途径的选择中,一个取决定性的因素就是用户目前正在使用什幺系统 。不过,在以后我们选择使用的Linux套件中,不管你是重新安装,还是进行升级,各Linux发行公司都会把档案系统的选择过程变得非常简单 。档案系统的可扩展性现在让我们来看一看关键的第三个因素:可扩展性 。如果你访问一下ReiserFS的站点就会发现,ReiserFS对空间利用率和速度非常在意,因此,它在磁碟利用率和性能方面都非常出色 。当我把档案系统从ReiserFS转换到ext3 时,发现我的可用空间变少了 。不过这没有关係,因为现在的磁碟空间和记忆体的价格都非常便宜 。此外,ReiserFS还在平衡树方面下了很大的功夫 。ReiserFS是基于平衡树的档案系统结构,这使得其在处理大量档案的巨型档案系统,如伺服器上的档案系统时性能要好得多 。ReiserFS突出的地方还在于其设计上着眼于实现一些未来的外挂程式程式,这些外挂程式程式可以提供访问控制列表、超级连结,以及一些其它非常不错的功能 。在这一点上,ReiserFS的开发者要比ext3做得好,因为他们已经事先考虑到了所要实现的功能 。这样在真正要增加这些功能时,其稳定性肯定要比 ext3好 。据资料显示,在设计ext2时,并没有人计画要为其设计日誌功能 。日誌功能是后来匆忙补充上去的 。当然,这并不能说是什幺坏事,但至少在你使用时,总会有一种不安全的感觉 。所以,如果着眼于将来扩展性方面的考虑,选择ReiserFS应该说是一明智之举 。总的看来,这两个档案系统都比较优秀,并且谁也没有绝对的优势可以压倒对方 。如果你现在使用的是ext2档案系统,并且对数据安全性要求很高,那幺可以考虑使用ext3 。如果你更在意档案系统的速度及可扩展性,或者想尝试使用ext2以外的档案系统,那幺ReiserFS应该是首选 。安装从namesys下载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",这样你就可以使用这个新的分区了 。新闻报导Hans Reiser被宣布谋杀罪名成立reiserfs是Linux作业系统上面性能最好、设计最先进的档案系统,特别是reiserfs4 版本具备了很多领先的档案系统特性 。reiserfs的作者是Hans Reiser,Hans是从俄裔美国人,他领导的Namesys公司致力于开发和维护reiserfs档案 。特别值得一提的是reiserfs开发团队的大多数人都是在俄国国内的开发人员 。本来reiserfs是Linux平台最有前途的档案系统,JavaEye的伺服器也一直使用reiserfs,非常满意于reiserfs的稳定性和高性能,但是所有这一切在2006年被改变 。后续报导2006年9月Hans离异的妻子Nina Reiser失蹤,随后警方在Hans的住所发现了Nina的血迹,Hans被指控谋杀了他的妻子 。据悉,Hans离异的妻子和Hans的好友兼公司合伙人关係密切,而Hans已经因为公司财务问题和合伙人关係破裂,此时Nina和他的合伙人走到了一起,可能引发了Hans的报复心理 。经过长达一年半的审讯,2008年4月28日,美国加州奥克兰法庭宣判,Hans Reiserfs一级谋杀罪名成立,现年44岁的Hans Reiserfs将面临25年的牢狱生涯 。