Linux_日志文件系统剖析.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:5 大小:79KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Linux_日志文件系统剖析.doc

Linux_日志文件系统剖析.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux日志文件系统剖析日志的现在和未来2008年7月07日在近代历史上,日志文件系统被认为十分奇特,主要是处于研究阶段。而如今,日志文件系统(ext3)已经成为Linux的缺省文件系统。本文向大家揭示了日志文件系统背后的一些思想,以及在电源故障或系统崩溃时,如何提供更好的完整性。此外本文还介绍了现行的几种日志文件系统和下一代日志文件系统。定义日志文件系统的方法有很多种,但是让我们抓住要点。日志文件系统就是专为那些厌倦了一直盯着启动时fsck(即文件系统一致性检查)的人而设计的(日志文件系统同样适用于希望文件系统具有故障恢复能力的群体)。如果系统采用传统的未提供日志功能的文件系统,那么操作系统在检测到系统为非正常关机时,会使用fsck应用程序执行一致性检验。该应用程序会扫描文件系统(这要花费很长的时间),并修复任何可安全修复的问题。而在某些情况下,当文件系统损坏严重时,操作系统会启动到单用户模式,由用户进行进一步的修复。fsck问题更麻烦的是,为了确保文件系统元数据的正确性(即使未检测到损坏),操作系统会自动启动fsck进程。因此,避免对文件系统进行一致性检验正是需要改进的地方。那么现在您应该清楚日志文件系统针对的是哪类人群了,但是他们是如何取缔fsck的呢?笼统地说,日志文件系统就是通过维护一份日志来防止文件系统崩溃。所谓日志就是一种特殊的文件,它会在一个循环的缓冲区内记录文件系统的修改,然后将其定期提交到文件系统。一旦系统发生崩溃,日志文件就会起到一个检查点的作用,用于恢复未保存的信息,防止损坏文件系统元数据。总之,日志文件系统就是一种具有故障恢复能力的文件系统,它利用日志来记录尚未提交到文件系统的修改,以防止元数据破坏(请参见图1)。但是如众多其他Linux解决方案一样,日志文件系统有多种方案供您选择。下面就让我们一起简短回顾一下日志文件系统的历史,然后再看一看现行的几种文件系统,看看它们之间有什么区别。什么是元数据?元数据指磁盘上的数据的管理结构。它表示文件的创建与删除、目录的创建与删除、扩充文件、截取文件等。图1.典型的日志文件系统Linux日志文件系统的历史最早的日志文件系统是IBM®JournaledFileSystem(JFS)。JFS于1990年首次发行,而当前Linux支持的版本是后期开发的JFS2。1994年,SiliconGraphics为IRIX操作系统引进了高性能的XFS。XFS于2001年被植入Linux系统中。1998年开发的智能文件系统(SFS)起初是为Amiga开发的,但之后却在GNULesserGeneralPublicLicense(LGPL)下发行,并于2005年获得了Linux的支持。最常用的日志文件系统ext3fs(thirdextendedfilesystem)是ext2的扩展,它增加了记录日志的功能。从2001年起,Linux系统中就开始支持ext3fs。最终,ReiserFS日志文件系统在其被引入之后,力压群雄,被广泛使用。但由于其原开发者的一些法律纠纷,ReiserFS日志文件系统未能得到进一步的发展。日志的几种变体developerWorks上Tim所著的其他剖析……系列文章HYPERLINK"http://www.ibm.com/developerworks/cn/linux/l-flash-filesystems/"Linuxflash文件系统剖析HYPERLINK"http://www.ibm.com/developerworks/cn/linux/l-selinux/"Security-EnhancedLinux(SELinux)剖析HYPERLINK"http://www.ibm.com/developerworks/cn/linux/l-real-time-linux/"实时Linux架构剖析HYPERLINK"http://www.ibm.com/developerworks/cn/linux/l-scsi-subsystem/"LinuxSCSI子系统剖析HYPERLINK"http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/"Linux文件系统剖析HYPERLINK"http://www.ibm.com/developerworks/cn/linux/l-linux-networking-stack/"Linux网络栈剖析HYPERLINK"http://www.ibm.com/developerworks/cn/linux/l-linux-kernel/"Linux内核剖析HYPERLIN