当前位置:七道奇文章资讯系统安全Linux安全
日期:2011-01-23 03:26:00  来源:本站整理

<b>Linux的日记文件系统扼要解析</b>[Linux安全]

赞助商链接



  本文“<b>Linux的日记文件系统扼要解析</b>[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在近代历史上,日记文件系统被认为非常独特,主如果处于研究阶段.而目前,日记文件系统(ext3)已经成为 Linux 的缺省文件系统.本文向大家揭露了日记文件系统背后的一些思惟,以及在电源弊端或系统崩溃时,若何供应更好的完好性.此外本文还介绍了现行的几种日记文件 系统和下一代日记文件系统.

定义日记文件系统的办法有很多种,但是让我们抓住要点.日记文件系统就是专为那些厌倦了一向盯着启动时 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 日记文件系统未能得到进一步的发展.

日记的几种变体

日记文件系统是利用日记来缓冲文件系统的改正(同时也可以利用于告急弊端恢复)的,但可以按照记录的时间与内容采纳差别的战略.此中,三种常见的战略为:回写(writeback)、预定(ordered)和数据(data).

在回写情势 中,唯一元数据被记录到日记,数据块则被直接写入到磁盘位置上.这样可以保存文件系统构造,避免崩溃,但却有大概发生数据崩溃(比方:在元数据记录到日记后,数据块写入磁盘前,系统崩溃).要想办理这个问题,您可以利用预定情势.预定情势 只将元数据记录到日记,但是在此之前将数据写入到磁盘.这样便可以保证系统恢复后数据和文件系统的一致性.最后一种情势将数据也记录到了日记中.在数据情势 中,元数据和数据都被记录到日记中.这种情势可以最大限度地避免文件系统崩溃与数据丧失,但由于全部数据都写入了两次(先写入日记,再写入磁盘),系统性能大概会降低.

日记的提交也有很多种差别的战略.比方,是在日记将满时,还是在超时后?

日记文件系统的近况

目前,有几种日记文件系统利用非常遍及.每一种都有其自己的优缺陷.下面介绍现存最广泛的四种日记文件系统.

JFS2

JFS2(又称 enhanced journaled file system)是最早期的日记文件系统,在植入 Linux 之前已被利用于 IBM AIX? 操作系统多年.它是 64 位的文件系统,固然它是在本来的 JFS 的底子上开辟的,但却较之有所改良,即:JFS2 具有更优的扩大性能,并且支持多处理器架构.

JFS2 支持预定的日记记录方法,可以提高较高的性能,并实现亚秒级文件系统恢复.JFS2 同时为提高性能供应了基于分区的文件分配(Extent-based allocation).基于分区的分配 是指对一组持续的块而非单一的块举行分配.由于这些块在磁盘上是持续的,其读取和写入的性能就会更好.这种分配的别的一个上风就是可以将元数据管理最小化.按块分配磁盘空间就意味着要逐块更新元数据.而利用分区,元数据则仅需按照分区(可以代表多个块)更新.

JFS2 还利用了 B+ 树,以便更快地查找目录和管理分区描写符.JFS2 没有内部日记提交兵略,而是在 kupdate 保护进程超不时提交.

XFS

XFS 是 Silicon Graphicsis 于 1995 年为 IRIX 操作系统开辟的其他早期日记文件系统之一.它于 2001 年就已经被植入 Linux,因此,它已经成熟并且坚固.

XFS 支持 64 位全地址寻址,并以 B+ 树为目录和文件分配供应高性能.XFS 一样利用了基于分区的分配,支持可变的块大小(从 512 字节到 64KB ).除分区外,XFS 还采取延时分配,即等到块将被写入磁盘时,再为其分配磁盘空间.这样所需磁盘空间总数就一目了然,因此这个功效提高了分配持续磁盘块的大概性.

XFS 还有一些其他的风趣特点,它可以保证 rate 输入输出(I/O — 通过为文件系统用户保存带宽)和直接 I/O.此中,数据是直接在磁盘和用户空间缓冲区间拷贝的(而不是从多个缓冲区进入).XFS 采取回写日记战略.

第三扩大文件系统(ext3fs)

第 三扩大文件系统(third extended file system,ext3fs)是最风行的日记文件系统,是由 ext2 文件系统演变而来.实际上,Ext3fs 可以与 ext2fs 兼容,这是因为 ext3fs 利用的构造与 ext2fs 相同,仅仅多了一个日记罢了.我们乃至可以把 ext3fs 的一部份当作 ext2 文件系统挂载,大概将 ext2 文件系统转换成 ext3 文件系统(利用 tune2fs 实用程序).

Ext3fs 答应用三种方法记录日记(回写,预定和数据),但预定情势为默许情势.日记提交兵略也是可配置的,但是默许在日记填满 1/4 时或此中一个提交计时器超不时,提交日记.

ext3fs 主要的弊端之一就是它最初不是作为日记文件系统而计划的.它是在 ext2fs 的底子上开辟的,因此贫乏一些其另日记文件系统所具有的高级特点(比方分区).它在性能方面较之 ReiserFS、JFS 以及 XFS 也尤为逊色,但它所需求的 CPU 和内存要比同类办理筹划少.

ReiserFS

ReiserFS 是从一开始就按照记录日记的企图而开辟的日记文件系统.ReiserFS 于 2001 年被引进到主流 2.4 内核(Linux 采取的第一个日记文件系统).其默许的日记记录办法为预定,且支持以在线调整大小的方法扩大文件系统.ReiserFS 同时还具有 tail packing 功效,显着削减了磁盘碎片.在处理较小文件方面,ReiserFS 的速度要比 ext3f 快(当 tail packing 可用时).

ReiserFS(又称 ReiserFS v3)具有很多先进的功效,如 B+ 树.该文件系统的底子格局成立在单一的 B+ 树的底子之上,这使得搜索的效率和可伸缩性加强.提交兵略则取决于日记的大小,但是要以待提交的块的数目为底子.

ReiserFS 也碰到了几个问题 — 大多是近来呈现的,这与其开辟者碰到了一些法律纠葛有直接缘由.

日记文件系统的将来

目前您已经理解了现行的(和过去的)日记文件系统,下面就让我们看一看它的发展趋向.

Reiser4

在成功地将 ReiserFS 归并到 Linux 内核,并被很多的 Linux 发行版采取之后,Namesys(开辟 ReiserFS 的公司)便开始努力于新的日记文件系统的开辟.Reiser4 被计划成为全新的日记文件系统,它拥有很多先进的功效.

Resier4 拟定通过 wandering 日记和耽误分配块直至日记提交(像在 XFS 中一样)的方法来实现更优异的日记记录.Reiser4 还计划有机动的插件架构(以支持诸如紧缩和加密之类的功效),但是被 Linux 社区回绝了,因为这些在虚拟文件系统(virtual file system,VFS)被当作是最好的功效.

由于 Namesys 的全部者的保持,全部关于 Reiser4 的商业活动都终止了.

第四扩大文件系统

第 四扩大日记文件系统(fourth extended journaling file system,ext4fs)是由 ext3fs 演变而来.Ext4 文件系统被计划为具有向前和向后兼容性,但它具有很多新的高级特点(此中的一些特点破坏了兼容性).这就意味着您可以将 ext4fs 的一部份作为 ext3fs 挂载,反之亦然.

首先,ext4fs 是 64 位文件系统,并被计划为可以支持很大的容量(1 exabyte).它还可以利用分区,但是这样做将失去与 ext3fs 的兼容性.像 XFS 和 Reiser4 一样,ext4fs 还支持在必要时采纳延时分配方法分配块(这样可以削减磁盘碎片).日记的内容也已经履行过查抄和(checksum),使日记越发坚固.ext4fs 并没有采取尺度的 B+ 大概 B* 树,取而代之的是 B 树的一种变体,叫做 H 树,它支持更大的子目录(ext3 的上限为 32KB ).

固然延时分配的办法可以削减磁盘碎片,但时间久了,一个大的文件系统大概会成为碎片.为办理这个问题,开辟了在线磁盘碎片整理工具(e4defrag).您可以利用这个工具来整理单个的文件大概整个文件系统.

ext3fs 与 ext4fs 间的另一个风趣的辨别就在于文件的日期辨别率.在 ext3 中,时间戳的最小辨别率为 1 秒.而 Ext4fs 是面向将来的:当时处理器和接口的速度会持续加快,需求更高的辨别率.因此,ext4 中时间戳的最小辨别率为 1 纳秒.

Ext4fs 已被归并到自 2.6.19 今后的 Linux 内核中,但它还是不够安定.下一代系统的开辟将持续努力于此;辅之以上一代的上风, 它就会是下一代的 Linux 日记文件系统.

完毕语

日记文件系统在系统崩溃或断电时供应了坚固性,并避免系统崩溃.别的,与较传统的文件系统办法(比方那些依靠于 fsck 的系统)相比,日记文件系统大大地缩短了系统崩溃的恢复时间.新的日记记录功效的开辟要期望将来的新算法与构造,也要仰仗从前的算法与构造,将 JFS 和 XFS 的功效结合起来.将来日记文件系统到底会若何发展还不得而知,但可以肯定的是它们会更具实用性,并会成为新的日记文件系统尺度.   以上是“<b>Linux的日记文件系统扼要解析</b>[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .