几种Linux日志文件系统的介绍

分类: 系统管理   出处:iocblog整理  更新时间:2008-09-05   添加到收藏  

  尽管linux可以支持种类繁多的文件系统,但是几乎所有的linux发行版都用ext2作为默认的文件系统。
 
  ext2的设计者主要考虑的是文件系统性能方面的问题。ext2在写入文件内容的同时并没有同时写入文件的meta-data(和文件有关的信息,例如:权限、所有者以及创建和访问时间)。换句话说,linux先写入文件的内容,然后等到有空的时候才写入文件的meta-data.这样若出现写入文件内容之后但在写入文件的meta-data之前系统突然断电,就可能造成在文件系统就会处于不一致的状态。在一个有大量文件操作的系统中出现这种情况会导致很严重的后果。
 
  日志文件系统比传统的文件系统安全,因为它用独立的日志文件跟踪磁盘内容的变化。就像关系型数据库(rdbms),日志文件系统可以用事务处理的方式,提交或撤消文件系统的变化。linux系统缺少日志式文件系统是限制推广其在企业级应用的一个重要制约因素。
 
  日志式文件系统在强调数据完整性的企业级服务器中有着重要的需求,是文件系统发展的方向。日志式文件系统的思想来自于如oracle等大型数据库。数据库操作往往是由多个相关的、相互依赖的子操作组成,任何一个子操作的失败都意味着整个操作的无效性,对数据库数据的任何修改都要恢复到操作以前的状态。日志式文件系统采用了类似的技术。
 [www.iocblog.net 来源]
  在分区中保存有一个日志记录文件,文件系统写操作首先是对记录文件进行操作,若整个写操作由于某种原因(如系统掉电)而中断,则在下次系统启动时就会读日志记录文件的内容来恢复没有完成的写操作。而这个过程一般只需要几秒钟到几分钟,而不是ext2文件系统的fsck那样在大型服务器情况下可能需要几个小时来完成扫描。
 
  当前linux环境下有下面几种日志文件可供选择:
 
  一、sgi的xfs文件系统
 
  sgi最新发布xfs为 1.0.1版。(http://oss.sgi.com/projects/xfs/)
 
  sgi的xfs 1.0是可被linux的2.4.x核心支持。在redhat上运行的很好,sgi还在redhat上开发了一个安装程序。 其它linux发行版的安装程序也正在开发中。
 
  sgi的xfs被称为业界最先进的、最具可升级性的文件系统技术。它是一个全64位,快速、稳固的日志文件系统,多年用于sgi的irix操作系统。sgi决定支持linux社区,将关键的基本架构技术授权于linux.它以开放资源形式发布了他们自己拥有的xfs的源代码,并开始进行移植。此工作进展得很快,目前已进入beta版阶段。作为一个64位文件系统,xfs可以支持超大数量的文件(9g×1gb,甚至更大的18g×1gb),可在大型 2d 和 3d 数据方面提供显著的性能。xfs有能力预测其它文件系统薄弱环节,同时xfs提供了在不妨碍性能的情况下增强可靠性和快速的事故恢复。
 
  sgi的xfs可为linux和开放资源社区带来的新特性有:
 
  可升级性
 
  xfs被设计成可升级,以面对大多数的存储容量和i/o存储需求,可处理大型文件和包含巨大数量文件的大型目录,满足二十一世纪快速增长的磁盘需求。xfs有能力动态地为文件分配索引空间,使系统形成高效支持大数量文件的能力。在它的支持下,用户可使用1exabyte (1g×1gb) 大的文件,远远大于现在最大的文件系统。
 
  优秀的i/o 性能
 
  典型的现代服务器使用大型的条带式磁盘阵列,以提供达数gb/秒的总带宽。xfs可以很好地满足i/o请求的大小和并发i/o请求的数量。
 
  系统排错
 
  xfs可以在一秒内从大多数意外中断中恢复。传统文件系统必须在中断后做一些特定的文件系统检查,可能会花费数小时才完成。xfs避免了冗长的文件系统检查,可明显地减少读写磁盘的时间。
 
  xfs可作为root文件系统,并被lilo支持。在nfs服务器上使用也没问题。支持软件raid和lvm.

[1] [2] 下一页


Tag: reiserfs