您的位置:首页 > 运维架构 > Linux

Linux中Ext2文件系统整理一

2014-10-15 10:54 148 查看
1、Ext2文件系统规划(参照《鸟哥Linux私房菜基础篇》)

磁盘分区后进行格式化,这时文件系统会将inode与block规划好,除非再次进行格式化,否则不会改变。但是如今的文件系统很大,有的高达几百G,这样会是的inode与block的数量太大,这样将它们全部放在一起是不明智的,因此Ext2文件系统在格式化后采取的措施是:将整个文件系统分成多个块组(block group),各个块组内有各自独立的inode/block/super block系统,具体如下:

启动扇区

Super
block
文件系统描述说明
块对照表
Inode
对照表
Inode
Table
Data
block
文件系统描述说明
块对照表
Inode
对照表
Inode
Table
Data
block
......
block group1
block group2
......
启动扇区:整个磁盘的第一个扇区,总容量为512bytes。包括硬盘主引导记录(MBR)及分区表(partition table)。

super block:super block是文件系统存在的标志,是记录整个文件系统相关信息的地方,可以说,没有super block,就没有整个文件系统了。一般super block的大小为1024bytes。其包括的信息如下:

Super
block
整个磁盘中block与inode的总量

未使用与已使用block与inode的数量

格式化后block与inode的大小(block为1k,2k,4k,inode为128bytes)

文件系统的挂在时间、最近一次写入数据时间、最近一次检验磁盘时间等文件系统的相关信息

一个validbit数值,若此文件系统已被挂载,则valib bit为0,若未被挂载,则valib bit为1

注:理论上看,一个文件系统应只有一个super block。实际上,除了第一个block group之外,后续的block group不一定含有super block(第一个block group中的super block是记录整个文件系统信息的,而不是此block group的),如果有也只是第一个block group中的备份,这样也可以在第一个block group中的super block被破坏后及时救援)

文件系统描述说明:描述该blockgroup的block区域,即标注开始与结束block。并且还要标注block group中各个区段(super block、bitmap、inodemap、data block等)的block区域。

块对照表:记录该blockgroup中block的使用情况,在添加文件时可以快速的找到可用的空间来存储文件。

inode对照表:与块对照表功能类似,记录inode的使用情况。

data block:即用来存储文件具体内容的区域。在分区格式化后大小与数量便固定,并注有标号,一共inode记录。

2、关于block的大小设置:已知每个inode大小固定为128bytes,一个block记录需要4 bytes,因此inode最多也只能记录32条block记录信息,但是inode还需要记录其它的文件属性信息,并且32个block记录若全是指向存放文件内容数据的block则使得文件的大小受到很大的限制。因此,Ext2文件系统采用的措施是将inode记录block方式定为12个直接、1一个间接、1个双间接、1个三间接记录区。

12个直接:即inode中有分配12个4bytes来记录12个直接存放了文件内容数据的block,如下图所示:

1个间接:inode中的一个4bytes记录来指向一个block,但是此block中不是直接存放文件的内容数据,而是存放其它block记录。假设一个block大小为1K,则一个block可以存放1K/4bytes = 256个block记录了。

1个双间接:inode中的一个4bytes记录来指向一个存放block记录的block,该block中可以指向另外256个block,而这256个block也不是直接存放文件内容数据,而也是存放block记录数据每个block可以存放256个,则256个block则可以存放256*256个存放文件内容数据的block了。如下图所示:

1个三间接:(同上一样,只是再加一层中间block)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: