- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux 日志文件系统剖析
日志的现在和未来
2008 年 7 月 07 日
在近代历史上,日志文件系统被认为十分奇特,主要是处于研究阶段。而如今,日志文件系统(ext3)已经成为 Linux 的缺省文件系统。本文向大家揭示了日志文件系统背后的一些思想,以及在电源故障或系统崩溃时,如何提供更好的完整性。此外本文还介绍了现行的几种日志文件系统和下一代日志文件系统。
定义日志文件系统的方法有很多种,但是让我们抓住要点。日志文件系统就是专为那些厌倦了一直盯着启动时 fsck(即文件系统一致性检查)的人而设计的(日志文件系统同样适用于希望文件系统具有故障恢复能力的群体)。如果系统采用传统的未提供日志功能的文件系统,那么操作系统在检测到系统为非正常关机时,会使用 fsck 应用程序执行一致性检验。该应用程序会扫描文件系统(这要花费很长的时间),并修复任何可安全修复的问题。而在某些情况下,当文件系统损坏严重时,操作系统会启动到单用户模式,由用户进行进一步的修复。
fsck 问题
更麻烦的是,为了确保文件系统元数据的正确性(即使未检测到损坏),操作系统会自动启动 fsck 进程。因此,避免对文件系统进行一致性检验正是需要改进的地方。
那么现在您应该清楚日志文件系统针对的是哪类人群了,但是他们是如何取缔 fsck 的呢?笼统地说,日志文件系统就是通过维护一份日志来防止文件系统崩溃。所谓日志就是一种特殊的文件,它会在一个循环的缓冲区内记录文件系统的修改,然后将其定期提交到文件系统。一旦系统发生崩溃,日志文件就会起到一个检查点的作用,用于恢复未保存的信息,防止损坏文件系统元数据。
总之,日志文件系统就是一种具有故障恢复能力的文件系统,它利用日志来记录尚未提交到文件系统的修改,以防止元数据破坏(请参见图 1)。但是如众多其他 Linux 解决方案一样,日志文件系统有多种方案供您选择。下面就让我们一起简短回顾一下日志文件系统的历史,然后再看一看现行的几种文件系统,看看它们之间有什么区别。
什么是元数据?
元数据 指磁盘上的数据的管理结构。它表示文件的创建与删除、目录的创建与删除、扩充文件、截取文件等。
图 1. 典型的日志文件系统
Linux 日志文件系统的历史
最早的日志文件系统是 IBM? Journaled File System(JFS)。JFS 于 1990 年首次发行,而当前 Linux 支持的版本是后期开发的 JFS2。1994 年,Silicon Graphics 为 IRIX 操作系统引进了高性能的 XFS。XFS 于 2001 年被植入 Linux 系统中。1998 年开发的智能文件系统(SFS)起初是为 Amiga 开发的,但之后却在 GNU Lesser General Public License(LGPL)下发行,并于 2005 年获得了 Linux 的支持。最常用的日志文件系统 ext3fs (third extended file system)是 ext2 的扩展,它增加了记录日志的功能。从 2001 年起,Linux 系统中就开始支持 ext3fs。最终,ReiserFS 日志文件系统在其被引入之后,力压群雄,被广泛使用。但由于其原开发者的一些法律纠纷,ReiserFS 日志文件系统未能得到进一步的发展。
日志的几种变体
developerWorks 上 Tim 所著的其他剖析…… 系列文章
Linux flash 文件系统剖析
Security-Enhanced Linux(SELinux)剖析
实时 Linux 架构剖析
Linux SCSI 子系统剖析
Linux 文件系统剖析
Linux 网络栈剖析
Linux 内核剖析
Linux slab 分配器剖析
Linux 同步方法剖析
Tim 所著的剖析…… 系列文章
日志文件系统是使用日志来缓冲文件系统的修改(同时也可以应用于紧急故障恢复)的,但可以根据记录的时间与内容采取不同的策略。其中,三种常见的策略为:回写(writeback)、预定(ordered)和数据(data)。
在回写模式 中,仅有元数据被记录到日志,数据块则被直接写入到磁盘位置上。这样可以保存文件系统结构,防止崩溃,但却有可能发生数据崩溃(比如:在元数据记录到日志后,数据块写入磁盘前,系统崩溃)。要想解决这个问题,您可以使用预定模式。预定模式 只将元数据记录到日志,但是在此之前将数据写入到磁盘。这样就可以保证系统恢复后数据和文件系统的一致性。最后一种模式将数据也记录到了日志中。在数据模式 中,元数据和数据都被记录到日志中。这种模式可以最大限度地防止文件系统崩溃与数据丢失,但由于全部数据都写入了两次(先写入日志,再写入磁盘),系统性能可能会降低。
您可能关注的文档
最近下载
- 贵州省桐梓县国土空间规划城市年度体检报告 92页.pdf VIP
- Top开源大模型安全测评报告(2024).pdf VIP
- PLC应用技术三菱 上册完整版全套PPT电子课件.ppt
- 2025人形机器人100 家公司:绘制人形机器人价值链.pdf VIP
- 4.4核对商定日程(教案)【导游业务第五版】.docx VIP
- 宜春市市直事业单位选调工作人员考试真题2024.docx VIP
- 实施指南(2025)《JR_T 0020-2024 上市公司行业分类新标》.pptx VIP
- GB-T24001-2016 环境管理体系 要求及使用指南.pdf
- 汉语写作与百科知识(三).ppt VIP
- 2022年吉安市市直事业单位选调工作人员考试真题.docx VIP
文档评论(0)