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

2009-05-13 00:47:44来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

如果发生系统崩溃,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。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:浅谈Linux文件系统反删除方法(二)

下一篇:JFS 文件系统概述及布局分析(二)