文件系统结构
日志文件系统使用了各种数据结构,如超级块、分配组、索引节点,块、分段和设备日志。
超级块中包含关于文件系统的控制信息,如文件系统的整体大小(单位为 512 字节的块)、文件系统名称、文件系统日志设备、版本编号、索引节点的数目、空闲索引节点列表、空闲数据块列表、创建时间和日期,以及文件系统状态。所有这些数据都存储在文件系统的第一个逻辑块中。如果这些数据损坏,可能会使得该文件系统无法使用。所以,系统在逻辑块 31 中保存了超级块的另一个副本。
分配组由索引节点及其相应的数据块组成。分配组可以跨越多个相邻的磁盘块,并且提高 I/O 操作的速度。JFS 和 JFS2 文件系统都使用了分配组。对于 JFS 文件系统,可以在创建文件系统时指定分配组的大小。
索引节点包含关于文件的控制信息,如类型、大小、拥有者、文件创建、修改或者最近访问的日期和时间。它还包含指向存储文件实际数据的数据块的指针。每个文件都具有对应的索引节点。
对于 JFS 文件系统,索引节点的最大数目(对应着文件的最大数目),由创建文件系统时所指定的每个索引节点拥有的字节数(number of bytes per inode,nbpi)值来确定。对于文件系统中的每个 nbpi 字节,都会创建一个索引节点。索引节点的总数是固定的。nbpi 值需要与分配组大小相关联。
JFS 将所有的文件系统限制为 16 MB (224) 个索引节点。
JFS2 文件系统动态地管理索引节点所需的空间,所以不存在任何 nbpi 参数。
数据块存储了文件的实际数据,或者指向其他数据块的指针。磁盘块大小的缺省值为 4 KB。
逻辑块的分段可用于支持小于逻辑块标准大小 (4 KB) 的文件。这个规则仅适用于文件大小小于 32 KB 的最后一个逻辑块。
如果只有 JFS 文件系统,您可以选择使用压缩使得文件的所有逻辑块存储为相邻分段的序列。对文件系统进行压缩,将增加使用该文件系统时 CPU 的使用量和 I/O 活动。
如果需要支持大量较小的文件,这些特性是非常有价值的。在安装的时候,必须为文件系统指定分段的大小。不同的文件系统可以使用不同的分段大小。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论