资料介绍
在近代历史上,日志文件系统被认为十分奇特,主要是处于研究阶段。而如今,日志文件系统(ext3)已经成为 Linux的缺省文件系统。本文向大家揭示了日志文件系统背后的一些思想,以及在电源故障或系统崩溃时,如何提供更好的完整性。此外本文还介绍了现行的几种日志文件 系统和下一代日志文件系统。
定义日志文件系统的方法有很多种,但是让我们抓住要点。日志文件系统就是专为那些厌倦了一直盯着启动时 fsck(即文件系统一致性检查)的人而设计的(日志文件系统同样适用于希望文件系统具有故障恢复能力的群体)。如果系统采用传统的未提供日志功能的文件系统,那么操作系统在检测到系统为非正常关机时,会使用 fsck 应用程序执行一致性检验。该应用程序会扫描文件系统(这要花费很长的时间),并修复任何可安全修复的问题。而在某些情况下,当文件系统损坏严重时,操作系统会启动到单用户模式,由用户进行进一步的修复。
那么现在您应该清楚日志文件系统针对的是哪类人群了,但是他们是如何取缔 fsck 的呢?笼统地说,日志文件系统就是通过维护一份日志来防止文件系统崩溃。所谓日志就是一种特殊的文件,它会在一个循环的缓冲区内记录文件系统的修改,然后 将其定期提交到文件系统。一旦系统发生崩溃,日志文件就会起到一个检查点的作用,用于恢复未保存的信息,防止损坏文件系统元数据。
总之,日志文件系统就是一种具有故障恢复能力的文件系统,它利用日志来记录尚未提交到文件系统的修改,以防止元数据破坏(请参见图 1)。但是如众多其他 Linux 解决方案一样,日志文件系统有多种方案供您选择。下面就让我们一起简短回顾一下日志文件系统的历史,然后再看一看现行的几种文件系统,看看它们之间有什么 区别。//本文转自www.45it.com电脑软硬件应用网
图 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 日志文件系统未能得到进一步的发展。
日志的几种变体
日志文件系统是使用日志来缓冲文件系统的修改(同时也可以应用于紧急故障恢复)的,但可以根据记录的时间与内容采取不同的策略。其中,三种常见的策略为:回写(writeback)、预定(ordered)和数据(data)。
在回写模式 中,仅有元数据被记录到日志,数据块则被直接写入到磁盘位置上。这样可以保存文件系统结构,防止崩溃,但却有可能发生数据崩溃(比如:在元数据记录到日志后,数据块写入磁盘前,系统崩溃)。要想解决这个问题,您可以使用预定模式。预定模式 只将元数据记录到日志,但是在此之前将数据写入到磁盘。这样就可以保证系统恢复后数据和文件系统的一致性。最后一种模式将数据也记录到了日志中。在数据模式 中,元数据和数据都被记录到日志中。这种模式可以最大限度地防止文件系统崩溃与数据丢失,但由于全部数据都写入了两次(先写入日志,再写入磁盘),系统性能可能会降低。
日志的提交也有很多种不同的策略。比如,是在日志将满时,还是在超时后?
定义日志文件系统的方法有很多种,但是让我们抓住要点。日志文件系统就是专为那些厌倦了一直盯着启动时 fsck(即文件系统一致性检查)的人而设计的(日志文件系统同样适用于希望文件系统具有故障恢复能力的群体)。如果系统采用传统的未提供日志功能的文件系统,那么操作系统在检测到系统为非正常关机时,会使用 fsck 应用程序执行一致性检验。该应用程序会扫描文件系统(这要花费很长的时间),并修复任何可安全修复的问题。而在某些情况下,当文件系统损坏严重时,操作系统会启动到单用户模式,由用户进行进一步的修复。
那么现在您应该清楚日志文件系统针对的是哪类人群了,但是他们是如何取缔 fsck 的呢?笼统地说,日志文件系统就是通过维护一份日志来防止文件系统崩溃。所谓日志就是一种特殊的文件,它会在一个循环的缓冲区内记录文件系统的修改,然后 将其定期提交到文件系统。一旦系统发生崩溃,日志文件就会起到一个检查点的作用,用于恢复未保存的信息,防止损坏文件系统元数据。
总之,日志文件系统就是一种具有故障恢复能力的文件系统,它利用日志来记录尚未提交到文件系统的修改,以防止元数据破坏(请参见图 1)。但是如众多其他 Linux 解决方案一样,日志文件系统有多种方案供您选择。下面就让我们一起简短回顾一下日志文件系统的历史,然后再看一看现行的几种文件系统,看看它们之间有什么 区别。//本文转自www.45it.com电脑软硬件应用网
图 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 日志文件系统未能得到进一步的发展。
日志的几种变体
日志文件系统是使用日志来缓冲文件系统的修改(同时也可以应用于紧急故障恢复)的,但可以根据记录的时间与内容采取不同的策略。其中,三种常见的策略为:回写(writeback)、预定(ordered)和数据(data)。
在回写模式 中,仅有元数据被记录到日志,数据块则被直接写入到磁盘位置上。这样可以保存文件系统结构,防止崩溃,但却有可能发生数据崩溃(比如:在元数据记录到日志后,数据块写入磁盘前,系统崩溃)。要想解决这个问题,您可以使用预定模式。预定模式 只将元数据记录到日志,但是在此之前将数据写入到磁盘。这样就可以保证系统恢复后数据和文件系统的一致性。最后一种模式将数据也记录到了日志中。在数据模式 中,元数据和数据都被记录到日志中。这种模式可以最大限度地防止文件系统崩溃与数据丢失,但由于全部数据都写入了两次(先写入日志,再写入磁盘),系统性能可能会降低。
日志的提交也有很多种不同的策略。比如,是在日志将满时,还是在超时后?
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 嵌入式Linux系统移植-(Linux文件系统)
- 嵌入式Linux开发之文件系统目录结构介绍
- linux文件系统基础 0次下载
- Linux.文件系统的精通指南 7次下载
- 《Linux设备驱动开发详解》第5章、Linux文件系统与设备文件系统 0次下载
- 分析YAFFS文件系统在Linux系统中的构建 0次下载
- 细数那些流行的 Linux 文件系统 0次下载
- 嵌入式开发板无界面linux文件系统的制作 12次下载
- Linux虚拟文件系统实现技术探讨 32次下载
- 嵌入式Linux文件系统的研究与应用
- 构造嵌入式Linux的文件系统
- 用Busybox制作嵌入式Linux根文件系统
- 适合嵌入式Linux应用的文件系统—— JFFS
- 适合嵌入式Linux应用的文件系统—— JFFS
- Linux文件系统课程 0次下载
- 如何更改Linux文件系统终端显示颜色 183次阅读
- 事务性日志结构文件系统的设计及实现 541次阅读
- Linux 文件系统层的主要结构 872次阅读
- 解析Linux系统日志 1387次阅读
- 深入剖析Linux文件系统的架构 973次阅读
- Linux文件系统的类型及工作原理 564次阅读
- 深入剖析Linux内核虚拟文件系统 2952次阅读
- 基于Buildroot的Linux系统构建之根文件系统 2478次阅读
- 如何区别Linux文件系统呢? 3582次阅读
- 了解Linux默认文件系统的发展历史 6313次阅读
- 快速了解Linux文件系统 3546次阅读
- 文件系统是什么?浅谈EXT文件系统历史 5548次阅读
- 玩转Linux,先把文件系统搞懂 2009次阅读
- 制作ZedBoard上linux根文件系统(ramdisk) 1513次阅读
- 基于zynq的Linux根文件系统生成 5578次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多