作家
登录

Linux的EXT4 文件系统的历史、特性以及最佳实践

作者: 来源: 2017-07-12 14:52:26 阅读 我要评论

EXT3

EXT3 文件体系是应一个目标而生的,就是克服 fsck 法度榜样须要完全恢复在文件更新操作时代产生的不精确关机而破坏的磁盘构造所需的大年夜量时光。它对 EXT 文件体系的独一新增功能就是 日记,它将提前记录将对文件体系履行的更改。 EXT3 的磁盘构造的其余部分与 EXT2 中的雷同。

除了同先前的版本一样直接写入数据稻磁逄的数据区域外,EXT3 上的日记会将文件数据伴随元数据写入稻磁逄上的一个指定命据区域。一旦这些(日记)数据安然地达到硬盘,它就可以几乎零损掉率地被归并或被追加到目标文件上。当这些数据被提交稻磁逄上的数据区域上,这些日记就会随即更新,如许在日记中的所稀有据提交之前,体系产生故障时文件体系将保持一致状况。鄙人次启动时,将检查文件体系的不一致性,然后将仍保存在日记中的数据提交稻磁逄的数据区,以完查对目标文件的更新。

日记功能确切降低了数据写人道能,然则有三个可用于日记的选项,许可用户在机能和数据完全性、安然性之间进行选择。 我的小我更偏向于选择安然性,因为我的情况不须要大年夜量的磁盘写入晃荡。

EXT3 的日记功能可以封闭,然后其功能就等同于 EXT2 文件系统了。 该日记本身仍然是存在的,只是状况为空且未应用。 只需在 mount 敕令中应用文件体系类型参数来从新挂载即可指定为 EXT2。 你可以大年夜敕令行履行此操作,然则具体照样取决于你正在应用的文件体系,不过你也可以更改 /etc/fstab 文件中的类型解释符,然后从新启动。 我强烈建议不要将 EXT3 文件体系挂载为 EXT2 ,因为这会有损掉数据和增长恢复时光的潜在可能性。

日记功能将掉败后检查硬盘驱动器所需的时光大年夜几小时(甚至几天)削减到了几分钟。 多年来,我碰到了很多导致我的体系崩溃的问题。要具体说的话生怕还得再写一篇文┞仿,但这里须要解释的是大年夜多半是我本身造成的,就比如不当心踢掉落电源插头。 荣幸的是,EXT 日记文件体系将启动恢复时光缩短到两三分钟。此外,自负年夜我开端应用带日记记录的 EXT3,我大年夜来没有碰到损掉数据的问题。

EXT2 文件体系可以应用如下敕令来经由过程日记进级到 EXT3 。

  1. tune2fs -j /dev/sda1 

/dev/sda1 表示驱动苹赝分区的标识符。同时要留意修改 /etc/fstab 中的文件体系类型标识符并从新挂载分区,或者重启体系以确保修改生效。

EXT4

EXT4 文件体系重要进步了机能、靠得住性和容量。为了进步靠得住性,它新增了元数据和日记校验和。同时为了知足各类关键义务请求,文件体系新增了纳秒级其余时光戳,并在时光戳字段中添加了两个高位来延缓时光戳的 2038 年问题 ,如许 EXT4 文件体系至少可用到 2446 年。

在 EXT4 中,数据分派大年夜固定块改为扩大盘区(extent)方法,扩大盘区由硬盘驱动器上的开端和停止地位来描述。这使得可以在单个 inode 指针条目中描述异常长的物理上持续的文件,这可以明显削减描述大年夜文件中所稀有据的地位所需的指针数。其它在 EXT4 中已经实施的分派策略可以进一步削减碎片化。

EXT4 经由过程将新创建的文件分布在磁盘上,使其不会像早期的 PC 文件系同一样全部集合在磁盘肇端地位,大年夜而削减了碎片。文件分派算法测验测验在柱面组中尽可能平均地分布文件,并且当文件(因为太大年夜)须要分段存储时,使不持续的文件扩大盘区尽可能接近同一文件中的其他部分,以尽可能削减磁头寻道和电机扭转等待时光。当创建新文件或扩大现有文件时,应用其它策略来预先分派额外的磁盘空间。这有助于确保扩大文件时不会主动导致其分段。新文件不会紧挨这现有文件急速分派空间,这也可以防止现有文件的碎片化。

除了磁盘上数据的实际地位外,EXT4 应用诸如延迟分派的功能策略,以许可文件体系在分派空间之前收集到所有正在写入磁盘的数据,这可以进步数据空间持续的可能性。

自 Fedora 14 以来,EXT4 一向是 Fedora 的默认文件体系。我们可以应用 Fedora 文档中描述的 流程 将 EXT3 文件体系进级到 EXT4,然则因为仍然存留的之前的 EXT3 元数据构造,它的机能仍将受到影响。大年夜 EXT3 进级到 EXT4 的最佳办法是备份目标文件体系分区上的所稀有据,应用 mkfs 敕令将空 EXT4 文件体系写入分区,然后大年夜备份中恢复所稀有据。

Inode

之前介绍过的 inode 是 EXT 文件体系中的元数据的关键组件。 图 2 显示了 inode 和存储在硬盘驱动器上的数据之间的关系。 该图是单个文件的目次和 inode,在这种情况下,可能会产生高度碎片化。 EXT 文件体系可以主动地削减碎片,所以不太可能会看到有这么多借居数据块或扩大盘区的文件。 实际上,你鄙人面将会看到,EXT 文件体系中的碎片异常低,所以大年夜多半 inode 只应用一个或两个直接数据指针,而不应用借居指针。

EXT

图 2 :inode 存储有关每个文件的信息,并使 EXT 文件体系可以或许查找属于它的所稀有据。

inode 不包含文件的名称。经由过程目次项拜访文件,目次项本身就是文件的名称,并包含指向 inode 的指针。该指针的值是 inode 号。文件体系中的每个 inode 都具有独一的 ID 号,但同一台计算机上的其它文件体系(甚至是雷同的硬盘驱动器)中的 inode 可以具有雷同的 inode 号。这对 硬链接 存在影响,然则这个评论辩论超出了本文典范围。

inode 包含有关该文件的元数据,包含其类型和权限以及其大年夜小。 inode 还包含 15 个指针的空位,用于描述柱面组数据部分中数据块或扩大盘区的地位和长度。12 个指针供给对数据扩大盘区的直接拜访,应当足以知足大年夜多半文件的需求。然而,对于具有明显分段的文件,须要以借居节点(node)的情势供给一些额外的容量——大年夜技巧上讲,这些不是真正的“inode”,所认为了便利起见我在这里应用这个术语“节点(node)”。


  推荐阅读

  游戏版Linux :Ubuntu GamePack

很多 Linux 爱好者爱好用他们的 Linux 体系玩游戏,看起来似乎并不须要一个可以玩游戏的操作体系。UALinux 是一家推广应用 GNU/Linux 的乌渴攀兰公司。UALinux 开辟了一个 Ubuntu 版本弥>>>详细阅读


本文标题:Linux的EXT4 文件系统的历史、特性以及最佳实践

地址:http://www.17bianji.com/lsqh/36170.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)