首页 > 系统 > 关键词  > 正文

JFS 文件系统概述及布局分析(一)

2007-09-30 13:45 · 稿源:云南设计港

日志文件系统如何缩短系统重启时间

如果发生系统崩溃,JFS提供了快速文件系统重启。通过使用数据库日志技术,JFS能在几秒或几分钟之内把文件系统恢复到一致状态,而非日志文件系统却要花上几小时甚至几天才能完成。本白皮书对JFS体系结构作了概述,并且描述了可在developerWorks网站上找到的JFS技术的设计特性、潜在限制以及管理实用程序。

日志文件系统(JFS)提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。它具有可伸缩性和健壮性,与非日志文件系统相比,它的优点是其快速重启能力:JFS能够在几秒或几分钟内就把文件系统恢复到一致状态。

虽然JFS主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计的,JFS还可用于想得到高性能和可靠性的客户机配置。

体系结构和设计

JFS体系结构可从磁盘布局特性的角度进行说明。

逻辑卷

所有文件系统讨论的基础是某种类型的逻辑卷。这可以是一个物理磁盘,或物理磁盘空间的某个子集,例如:一个FDISK分区。逻辑卷也称为磁盘分区。

聚集和文件集

文件系统创建实用程序mkfs,创建了完全包含在分区内的聚集。聚集是包含一种特定格式的磁盘块阵列,其格式包括超级块和分配映射表。超级块将分区标识成JFS聚集,而分配映射表描述聚集内每个数据块的分配状态。格式还包括描述它所必需的初始文件集和控制结构。文件集是可安装的实体。

文件、目录、inode与寻址结构

文件集包含文件和目录。文件和目录由inode持续表示;每个inode描述文件或目录的属性,并作为查找磁盘上文件或目录数据的起始点。JFS还使用inode来表示其它文件系统对象,如描述文件集中每个inode的分配状态和磁盘位置的映射表。

目录将用户特定的名称映射到为文件和目录所分配的inode上,并且形成传统的命名层次。文件包含用户数据,用户数据中没有隐含任何限制或格式。也就是说,JFS将用户数据看成是未解释的字节流。根植于inode基于盘区的寻址结构用来将文件数据映射到磁盘。聚集超级块和磁盘分配映射表、文件描述符和inode映射表、inode、目录以及寻址结构一起表示了JFS控制结构或元数据。

日志

在每个聚集中维护JFS日志,并且用来记录元数据的操作信息。日志有一种同样由文件系统创建实用程序设置的格式。聚集内多个安装的文件集可以同时使用一个日志。

设计特性

JFS从一开始就设计成完全集成了日志记录,而不是在现有文件系统上添加日志记录。JFS的许多特性使之区别于其它文件系统。

日志处理

JFS提供了改进的结构化一致性和可恢复性,以及比非日志文件系统(例如:HPFS、ext2和传统UNIX文件系统)快得多的系统重启时间。发生系统故障时非日志文件系统容易崩溃,是由于一个逻辑写文件操作通常占用多个媒体I/O来完成,且在任何给定时间,可能没有完全反映在媒体上。这些文件系统依靠重启实用程序(也就是fsck),fsck检查文件系统的所有元数据(例如:目录和磁盘寻址结构)以检测和修复结构完整性问题。这是一个耗时并且容易出错的过程,在最糟糕的情况下,它还可能丢失或放错数据。

相反,JFS使用原来为数据库开发的技术,记录了文件系统元数据上执行的操作(即原子事务)信息。如果发生系统故障,可通过重放日志并对适当的事务应用日志记录,来使文件系统恢复到一致状态。由于重放实用程序只需检查文件系统最近活动所产生的运行记录,而不是检查所有文件系统的元数据,因此,与这种基于日志的方法相关的文件系统恢复时间要快得多。

基于日志恢复的其它几个方面也值得注意。首先,JFS只记录元数据上的操作,因此,重放这些日志只能恢复文件系统中结构关系和资源分配状态的一致性。它没有记录文件数据,也没有将这些数据恢复到一致状态。因此,恢复后某些文件数据可能丢失或失效,对数据一致性有关键性需求的用户应该使用同步I/O。

面对媒体出错,日志记录不是特别有效。特别地,在将日志或元数据写入磁盘的期间发生的I/O错误,意味着在系统崩溃后,要将文件系统恢复到一致状态,需要耗时并且有可能强加的全面完整性检查。这暗示着,坏块重定位是任何驻留在JFS下的存储管理器或设备的一个关键特性。

JFS日志记录的语义如下:当涉及元数据更改的文件系统操作--例如,unlink()--返回成功执行的返回码时,操作的结果已经提交到文件系统,即使系统崩溃了也可以发现。例如,一旦成功删除了文件,即使系统崩溃然后重启,它仍然是删除的并且不会再重新出现。

日志记录风格将同步写入日志磁盘引入每个修改元数据的inode或vfs操作。(对数据库专家而言,这是一种使用非剥夺缓冲区策略的仅重做的、物理残留映象、提前写的日志记录协议。)在性能方面,与依赖(多个)谨慎的同步元数据写操作以获得一致性的许多非日志文件系统相比,这种方法较好。但是,与其它日志文件系统相比,它在性能上处于劣势。其它日志文件系统,如VeritasVxFS和TransarcEpisode,使用不同的日志风格并且缓慢地将日志数据写入磁盘。在执行多个并行操作的服务器环境中,通过将多个同步写操作组合成单一写操作的组提交来减少这种性能损失。JFS日志记录风格随着时间推移而得到不断改进,现在提供了异步日志记录,异步日志记录提高了文件系统的性能。

基于盘区的寻址结构

JFS使用基于盘区的寻址结构,连同主动的块分配策略,产生紧凑、高效、可伸缩的结构,以将文件中的逻辑偏移量映射成磁盘上的物理地址。盘区是象一个单元那样分配给文件的相连块序列,可用一个由<逻辑偏移量,长度,物理地址>组成的三元组来描述。寻址结构是一棵B+树,该树由盘区描述符(上面提到的三元组)填充,根在inode中,键为文件中的逻辑偏移量。

可变的块尺寸

按文件系统分,JFS支持512、1024、2048和4096字节的块尺寸,以允许用户根据应用环境优化空间利用率。较小的块尺寸减少了文件和目录中内部存储碎片的数量,空间利用率更高。但是,小块可能会增加路径长度,与使用大的块尺寸相比,小块的块分配活动可能更频繁发生。因为服务器系统通常主要考虑的是性能,而不是空间利用率,所以缺省块尺寸为4096字节。

动态磁盘inode分配

JFS按需为磁盘inode动态地分配空间,同时释放不再需要的空间。这一支持避开了在文件系统创建期间,为磁盘inode保留固定数量空间的传统方法,因此用户不再需要估计文件系统包含的文件和目录最大数目。另外,这一支持使磁盘inode与固定磁盘位置分离。

目录组织

JFS提供两种不同的目录组织。第一种组织用于小目录,并且在目录的inode内存储目录内容。这就不再需要不同的目录块I/O,同时也不再需要分配不同的存储器。最多可有8个项可直接存储在inode中,这些项不包括自己(.)和父(..)目录项,这两个项存储在inode中不同的区域内。

第二种组织用于较大的目录,用按名字键控的B+树表示每个目录。与传统无序的目录组织比较,它提供更快的目录查找、插入和删除能力。

稀疏和密集文件

按文件系统分,JFS既支持稀疏文件也支持密集文件。

稀疏文件允许把数据写到一个文件的任意位置,而不要将以前未写的中间文件块实例化。所报告的文件大小是已经写入的最高块位处,但是,在文件中任何给定块的实际分配,只有在该块进行写操作时才发生。例如,假设在一个指定为稀疏文件的文件系统中创建一个新文件。应用程序将数据块写到文件中第100块。尽管磁盘空间只分配了1块给它,JFS将报告该文件的大小为100块。如果应用程序下一步读取文件的第50块,JFS将返回填充了0的一个字节块。假设应用程序然后将一块数据写到该文件的第50块,JFS仍然报告文件的大小为100块,而现在已经为它分配了两块磁盘空间。稀疏文件适合需要大的逻辑空间但只使用这个空间的一个(少量)子集的应用程序。

对于密集文件,将分配相当于文件大小的磁盘资源。在上例中,第一个写操作(将一块数据写到文件的第100块)将导致把100个块的磁盘空间分配给该文件。在任何已经隐式写入的块上进行读操作,JFS将返回填充了0的字节块,正如稀疏文件的情况一样。

举报

  • 相关推荐
  • 微信员工辟谣改日期恢复过期文件:纯属谣言

    近日,有博主在社交平台上发布消息称,通过修改手机日期能够找回微信中已过期的文件、图片和视频。该博主详细描述了操作方法:若文件未接收、图片或视频未点开,在超过所谓“7天”的过期时间后,将手机日期修改为文件接收日期的后七天内,便可正常接收,过期的图片也能如此操作。

  • 博主称修改手机日期能把微信过期文件找回 微信员工:假的离谱

    有博主称修改手机日期能把微信过期文件找回。 该博主表示,你们要是文件没接收、图片没点开、视频没点开,超过7天过期的时候,把手机日期改为接收的后七天内,就能正常点开了。比如7.10发的文件我没接收过期了,我把手机日期改成7.10-7.16之间(比如7.11)成功接收,过期的图片也一样能接收。 但是要是你没发现过期,点了一下才发现过期,这时候改日期就不行了,所�

  • 微信员工:微信文件过期就是过期了 从来没占用过手机空间

    微信收到文件之后,超过14天都不点它,就意味着它从来没有被下载过,过期就是过期了,它从来都没占过你的手机空间。 非要严格说的话,就是那个包含文件名称的缩略图,占的空间应该以小于KB计,不及你一张照片的1/1000。

  • 腾讯旗下AI工作台ima上线新功能:支持上传文件生成AI播客

    腾讯旗下AI工作台ima迎来重大升级,以活知识库 大模型的深度耦合重构知识管理体系。 此次更新突破性地实现了多模态知识转化用户上传文件即可生成AI播客,Xmind思维导图经智能解析后自动沉淀为结构化知识库,共享知识库更支持关键信息置顶功能。 这些创新使得碎片化知识如同被注入生命力,通过动态重组转化为驱动组织进化的智能中枢。

  • 智造实力赢得世界信赖 王力安防成功布局全球市场

    王力在全球安防市场的竞争力获得国际认可。今年5月,哈萨克斯坦住房公共事业和建设委员会主席率团考察永康王力总部,随后波兰客商考察团也到访。这些国际考察团对王力智能生产线印象深刻,其安全门生产周期从7天缩短至1天,产能提升300%。王力通过获得UL、BS等国际认证,成功打入高端市场。其位于永康的"未来工厂"占地23万平方米,整合5G与工业互联网技术,将186道工序重构为16个智能工作岛,每7.68秒完成一樘安全门组装。在焊接、涂装等环节实现工艺突破,产品远销欧美等地区。王力以智能制造为核心,持续引领行业创新,为中国智造贡献标杆力量。

  • 苹果宣布美国制造计划:投6000亿美元布局

    近日,苹果公司首席执行官库克在社交平台发布重磅消息,苹果公司决定在未来四年内大幅扩大对美国的投资规模,总额将攀升至6000亿美元,并同步启动“全新的美国制造业计划”。此举不仅将为美国创造大量就业岗位,还将有力推动先进制造业在美国本土的发展。 今年早些时候,苹果公司就已许下承诺,未来四年内在美国投入5000亿美元用于布局美国制造产业。如今,公司�

  • 国内电商erp系统

    文章介绍了快麦ERP系统在电商行业中的优势。该系统以客户需求为核心,提供简洁易用的操作界面,支持多平台订单自动同步,大幅提升工作效率。其智能化功能包括智能分单、自动补货提醒和库存预警等,帮助企业管理库存,减少损失。系统稳定性强,能应对促销期间的高并发订单处理。此外,7×24小时专业客服团队提供及时支持,确保客户无后顾之忧。快麦ERP凭借这些优势

  • JFS 文件系统概述及布局分析(六)

    AG空闲inode盘区列表有助于解决反向查找问题以及空闲inode号查找问题。这使得JFS能找到下一个空闲盘区所在的IAG号和AG号。(实际是给出了空闲inode号。)每个文件集的每个AG都有一个AG空闲inode盘区列表。

  • JFS 文件系统概述及布局分析(五)

    块分配映射表用来为整个聚集跟踪分配或释放的磁盘块。由于聚集内所有的文件集共享相同的磁盘块池,在分配或释放磁盘块时,聚集内所有的文件集可使用该分配映射表。

  • JFS 文件系统概述及布局分析(四)

    这一节描述文件布局使用的B+树数据结构。选择B+树是为了提高读写盘区的性能,这是JFS必须进行的最普通操作。B+树为读取文件的特定盘区提供快速搜索。它还提供有效方法将盘区添加或插入文件中。