本人很喜欢Linux ReiserFS,在工作中也很喜欢总结关于Linux的经验教训,下面就这个问题来详细说说吧。Linux ReiserFS是公认为效能与安全性都优于Linux采用多年的ext2档案系统,Linux ReiserFS的***优点是安全性大幅提升,系统当机不易造成文件的损坏。
Kernel 2.4.1起已经正式将其列入标准﹐但是为数众多的 Linux 系统仍旧在使用ext2。本文将讨论在Redhat环境下为什么要使用日志式的档案系统,如何取得 Linux ReiserFS ,Kernel 2.2 与 2.4 如何支持Linux ReiserFS,如何产生新的档案统。RedHat 7.0 的使用者特别注意事项及相关网络资源。
日志式文件系统简介
尽管Linux可以支持种类繁多的文件系统,但是几乎所有的Linux发行版都用ext2作为默认的文件系统。ext2的设计者主要考虑的是文件系统性能方面的问题。ext2在写入文件内容的同时并没有同时写入文件的meta-data(和文件有关的信息,例如:权限、所有者以及创建和访问时间)。换句话说,Linux先写入文件的内容,然后等到有空的时候才写入文件的meta-data。这样若出现写入文件内容之后但在写入文件的meta-data之前系统突然断电,就可能造成在文件系统就会处于不一致的状态。在一个有大量文件操作的系统中出现这种情况会导致很严重的后果。因此就导致了新的日志式文件系统的出现以解决这个问题。日志文件系统比传统的文件系统安全,因为它用独立的日志文件跟踪磁盘内容的变化。就像关系型数据库(RDBMS),日志文件系统可以用事务处理的方式,提交或撤消文件系统的变化。Linux系统缺少日志式文件系统是限制推广其在企业级应用的一个重要制约因素。因此就出现了多种不同的日志式文件系统,当前linux环境下有下面几种日志文件可供选择:
◆ SGI的xfs(http://oss.sgi.com/projects/xfs/)日志文件系统,SGI的xfs是基于Irix(SGI的Unix)上已经实现的xfs。SGI已经宣布xfs为Open Source的软件。
◆ Veritas(www.veritas.com)的文件系统和卷管理(volume manager)。
◆ Reiserfs:Reiserfs应用了一些新的技术,例如,统一名字空间(unified name space)有一些Linux的发行版已经包括了Linux Reiserfs文件系统,作为安装时的可选项。SuSE 6.4 就很容易使用Linux Reiserfs文件系统。Linux Reiserfs的***版是ReiserFS 3.6.25,经过测试Reiserfs的基准测试的结果是非常令人满意的。
◆ IBM的jfs。这两文件系统都遵循开放源码版权声明,且的而且很多有天赋的人在开发这两个文件系统。jfs(Journaled File System Technology for Linux)的开发者包括AIX(IBM的Unix)的jfs的主要开发者。在AIX上,jfs已经经受住了考验。它是可靠、快速和容易使用的。
◆ 日志文件系统的另一个选择是ext2的后继者ext3fs文件系统。ext3fs文件系统正在Linux内核黑客Stephen Tweedie的领导下开发。ext3fs还处于beta测试阶段,就像Linux ReiserFS和jfs,但是它工作得很好。Stephen预计2000年夏天可以正式发布ext3fs。ext3fs***的优点是向下兼容ext2。而且ext3fs还支持异步的日志,这意味着它的性能可能还比ext2好。
在上面提到的日志式文件系统中,Linux ReiserFS 是目前Linux环境下最成熟的一种。而IBM的JFS和SGI的XFS则相对于来说要年轻一些,ext3文件系统则仍然需要开发。因此我们这里选择Linux ReiserFS。
为什么叫日志式?
日志式文件系统在强调数据完整性的企业级服务器中有着重要的需求,是文件系统发展的方向。日志式文件系统的思想来自于如Oracle等大型数据库。数据库操作往往是由多个相关的、相互依赖的子操作组成,任何一个子操作的失败都意味着整个操作的无效性,对数据库数据的任何修改都要回复到操作以前的状态。日志式文件系统采用了类似的技术。
在分区中保存有一个日志记录文件,文件系统写操作首先是对记录文件进行操作,若整个写操作由于某种原因(如系统掉电)而中断,则在下次系统启动时就会读日志记录文件的内容来恢复没有完成的写操作。而这个过程一般只需要几秒钟到几分钟,而不是ext2文件系统的fsck那样在大型服务器情况下可能需要几个小时来完成扫描。
【编辑推荐】