快速业务通道

剖析Linux扩展文件系统 ext4

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-18
以秒为单位的.这已经能够应付大多数设置,但随着处理器的速度和集成程度(多核处理器)不断提升,以及 Linux 开始向其他应用领域发展(比如高性能计算),基于秒的时间戳已经不够用.ext4 设计时间戳时考虑到未来的发展,它将时间戳的单位提升到纳秒.ext4 给时间范围添加了两个位,从而让时间寿命再延长 500 年.

伸缩性

文件系统未来发展的一个重要方面就是伸缩性,即根据需求进行伸缩的能力.ext4 以多种方式现实了强大的伸缩性,它的伸缩性超越了 ext3,并且在文件系统元数据管理方面开辟了新领域.

突破文件系统的限制

ext4 的一个明显差别就是它支持更大的文件系统、文件和子目录.ext4 支持的最大文件系统为 1 EB(1000 PB).虽然根据今天的标准这个文件系统已经非常巨大,但存储空间的消费会不断增长,因此 ext4 考虑到未来的发展.ext4 支持最大 16 TB 的文件(假设由 4KB 的块组成),这个容量是 ext3 的 8 倍.

,ext4 也扩展了子目录的容量,将其从 32KB 扩展到无穷大.这是极端情况,我们还需要考虑文件系统的层次结构,它的最大存储容量为 1 EB.此外,目录索引也优化为类似于散列 B 树结构,因此尽管限制更加多,但 ext4 支持更快的查找.

区段

ext3 分配空间的方式是其主要缺点之一.ext3 使用空闲空间位映射来分配文件,这种方式不是很快,并且伸缩性不强.ext3 的格式对小文件而言是很高效的,但对于大文件则恰恰相反.ext4 使用区段取代 ext3 的机制,从而改善了空间的分配,并且支持更加高效的存储结构.区段 是一种表示一组相邻块的方式.使用区段减少了元数据,区段维护关于一组相邻块的存储位置的信息(从而减少了总体元数据存储),而不是一个块的存储位置的信息.

ext4 的区段采用分层的方法高效地表示小文件,并且使用区段树高效地表示大文件.例如,单个 ext4 inode 有足够的空间来引用 4 个区段(每个区段表示一组相邻的块).对于大文件(包括片段文件),一个 inode 能够引用一个索引节点,而每个索引节点能够引用一个叶节点(引用多个区段).这种持续的区段树为大文件(尤其是分散的文件)提供丰富的表示方式.这些节点还包含自主检查机制,以阻止文件系统损坏带来威胁.

性能

衡量一个新文件系统的最重要指标就是它的根本性能.这常常是最难实现的指标,当文件系统变得庞大并且要求实现高可靠性时,将会以损害性能为代价.但是,ext4 不仅解决了伸缩性和可靠性,它还提供各种改善性能的方法.

文件级预分配

某些应用程序,比如数据库或内容流,要求将文件存储在相邻的块上(利用相邻块的读优化和最大化读的命令-块比率).尽管区段能够将相邻块划分为片段,但另一种更强大的方法是按照所需的大小预分配比较大的相邻块(XFS 以前就是采用这种方法).ext4 通过一个新的系统调用来实现这个目的,这个调用将按照特定的大小预分配并初始化文件.然后,您就可以写入必要的数据,并为数据提供不错的读性能.

延迟块分配

另一个基于文件大小的优化是延迟分配.这种性能优化延迟磁盘上的物理块的分配,直到块被刷入到磁盘时才进行分配.这种优化的关键是延迟物理块的分配,直到需要在磁盘上写这些物理块时才对其进行分配并写到相邻的块.这类似于持久化预分配,惟一的区别是文件系统会自动执行这项任务.不过如果预先知道文件的大小时,持久化预分配是更好的选择.

多个块分配

这是一个与相邻块相关的优化,即针对 ext4 的块分配器.在 ext3 中,块分配器的工作方式是每次分配一个块.当需要分配多个块时,非相邻块中可能存在相邻的数据.ext4 使用块分配器修复了这个问题,它能够在磁盘上一次分配多个块.与前面其他优化一样,这个优化在磁盘上收集相关的数据,以实现相邻读优化.

多个块分配的另一个

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号