ReiserFS与EXT3的比较

ReiserFS与EXT3的比较

最近,我刚从ReiserFS文件系统转到了ext3日志文件系统。我是一个ReiserFS的忠实追随者,并且直到现在我也没有改变我对该文件系统的看法。我之所以转而使用ext3,初衷是想花一些时间看看ext3中有什么我喜欢的东西。 ext3是由自由社团开发的日志式文件系统,它被设计成ext2的升级版本,尽可能地方便用户从ext2向ext3迁移。ext3在ext2的基础上加入了记录元数据的日志功能,努力保持向前和向后的兼容性,所以把这个文件系统称为ext2的新版本更恰当一些。 ReiserFS是Hans Reiser领导下的开发小组开发和发展的,SUSE Linux也对它的发展起了很大的作用。现在,它已经发展成一个高效、可靠的文件系统。

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的站点(http://www.ReiserFS.org/) 就会发现,ReiserFS对空间利用率和速度非常在意,因此,它在磁盘利用率和性能方面都非常出色。当我把文件系统从ReiserFS转换到ext3 时,发现我的可用空间变少了。不过这没有关系,因为现在的磁盘空间和内存的价格都非常便宜。此外,ReiserFS还在平衡树方面下了很大的功夫。 ReiserFS是基于平衡树的文件系统结构,这使得其在处理大量文件的巨型文件系统,如服务器上的文件系统时性能要好得多。

  ReiserFS突出的地方还在于其设计上着眼于实现一些未来的插件程序,这些插件程序可以提供访问控制列表、超级链接,以及一些其它非常不错的功能。在这一点上,ReiserFS的开发者要比ext3做得好,因为他们已经事先考虑到了所要实现的功能。这样在真正要增加这些功能时,其稳定性肯定要比 ext3好。据资料显示,在设计ext2时,并没有人计划要为其设计日志功能。日志功能是后来匆忙补充上去的。当然,这并不能说是什么坏事,但至少在你使用时,总会有一种不安全的感觉。所以,如果着眼于将来扩展性方面的考虑,选择ReiserFS应该说是一明智之举。

  总的看来,这两个文件系统都比较优秀,并且谁也没有绝对的优势可以压倒对方。如果你现在使用的是ext2文件系统,并且对数据安全性要求很高,那么可以考虑使用ext3。如果你更在意文件系统的速度及可扩展性,或者想尝试使用ext2以外的文件系统,那么ReiserFS应该是首选。

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2012-07/64903.htm
时间: 2024-12-24 09:07:49

ReiserFS与EXT3的比较的相关文章

日志式文件系统:SGI的xfs, Reiserfs, IBM的jfs, ext3fs

日志文件(Log files)是包含系统消息的文件,包括内核.服务.在系统上运行的应用程序等.不同的日志文件记载不同的信息.日志文件系统比传统的文件系统安全,因为它用独立的日志文件跟踪磁盘内容的变化. 例如,有的是默认的系统日志文件,有的仅用于安全消息,有的记载 cron 任务的日志. 当你在试图诊断和解决系统问题时,如试图载入内核驱动程序或寻找对系统未经授权的使用企图时,日志文件会很有用.本节讨论要到哪里去寻找日志文件,如何查看日志文件,以及在日志文件中查看什么. 某些日志文件被叫做 sysl

Linux磁盘及文件系统(三)Linux文件系统

一.文件系统的组成 Linux常见的文件系统类型有ReiserFS,ext2,ext3,ext4,vfat,XFS等,文件系统是对一个存储设备上数据和元数据进行组织的机制.他的最终目的是把大量数据有组织的放入持久性的存储设备中,比如硬盘和磁盘.文件系统就是文件在逻辑上组织形式,他以一种更加清晰的方式来存放各个文件.数据被存放到某个分区中.一个典型的Linux分区包含有以下各个部分: boot block:任何分区的第一个块,存放系统的引导程序. super block(超级块):保存整个分区的全

linux下的磁盘和文件系统管理

一.硬盘分区知识 1.分区类型 硬盘分区一共有3种:主分区.扩展分区和逻辑分区.扩展分区只不过是逻辑分区的“容器”,实际上只有主分区和逻辑分区进行数据存储.在一块硬盘上最多只能有4个主分区,可以另外建立一个扩展分区来代替4个主分区的其中一个,然后在扩展分区下可以建立更多的逻辑分区. 2.分区和格式化 不同的操作系统具有不同的硬盘分区工具,Windows系统下非常有名的分区工具是FDISK,在LINUX系统下进行分区可以使用fdisk,或者使用相同功能的图形界面程序. 在一块硬盘上最多只能有4个分

提高Linux操作系统性能

提高Linux操作系统性能 2011-01-05 13:48 佚名 字号:T | T 本文从磁盘,文件及文件系统,内存和编译等方面详细的讲述了如何对Linux系统性能进行调谐.不管是Linux服务器还是客户机或者用户单机,按照本文提供的调谐方法,均可不同程度地改善Linux系统的性能. AD:2014WOT全球软件技术峰会北京站 课程视频发布 Linux是高性能.稳定可靠而且又相当灵活的操作系统,近几年来,世界上许多大软件公司纷纷推出各种linux服务器及linux下的应用软件. 目前,Linu

开源服务专题之-------rsync数据备份

RSYNC是Remote Sync 远程同步的简称,与SCP的比较,SCP= 无法备份大量数据,类似windows的复制,而rsync=边复制 ,边统计,边比较,可以备份大量数据.可以镜像保存整个目录树和文件系统.可以很容易做到保持原来文件的权限.时间.软硬链接等等.无须特殊权限即可安装.快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.压缩传输:rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽.安全:可以使用scp.ssh等方式来传输文

linux入门教程(六) Linux文件与目录管理

在linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在上一章提到的/root/.ssh/authorized_keys 这就是一个文件的路径.如果你告诉系统这个文件的路径,那么系统就可以找到这个文件.在linux的世界中,存在着绝对路径和相对路径. 绝对路径:路径的写法一定由根目录”/”写起,例如/usr/local/mysql 这就是绝对路径. 相对路径:路径的写法不是由根目录”/”写起,例如,首先用户进入到/ 然后再进入到home ,命令为 cd /home 然后 cd

linux系统调优-存储(内存、硬盘)

首先一个基本概念:                ?存储系统存储速度的快->慢:       内存->闪存->磁盘 因为内存的价格限制以及操作系统支持的限制,我们只能从磁盘这块来看,可见磁盘正是存储系统的最大瓶颈所在. **下面具体提出我们的优化方案 优化方案1.缓存机制: 我们在磁盘里嵌入一小块高速的内存,用以保持常用的数据,我们称它为缓存.这样既可以使用磁盘,也能提高性能 缓存分为3类 Filestem cache.Diskcache.Disk controller cache.这里

文件系统管理 之 Linux 创建文件系统及挂载文件系统流程详解

阅读此文,必须具备知识点:<Linux 查看磁盘分区.文件系统.使用情况的命令和相关工具介绍><实例解说 fdisk 使用方法><合理规划您的硬盘分区><Fedora / Redhat 软件包管理指南> 如果您想加载一个分区(文件系统),首先您得确认文件系统的类型,然后才能挂载使用,比如通过mount 加载,或者通过修改 /etc/fstab来开机自动加载:如果您想添加一个新的分区,或者增加一个新的硬盘,您要通过分区工具来添加分区,然后要创建分区的文件系统,

硬盘存储原理

转自http://blog.sina.com.cn/s/blog_625985cb0100ymsr.html 硬盘是现在计算机上最常用的存储器之一.我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力.而这些数据都以文件的形式存储在硬盘里.不过,计算机可不像人那么聪明.在读取相应的文件时,你必须要给出相应的规则.这就是分区概念.分区从实质上说就是对硬盘的一种格式化.当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简