在大文件系统下, 单一inode表将会变得非常臃肿, 难以管理, 因此 ext2采用多个区块群组(group block), 每个区块群组均具有其 superblock, inode, block
data block
在进行文件系统创建时, 创建的记录文件的单位
- 在ext2文件系统下支持的block大小有1k,2k,4k三种
- 因block大小而产生的ext2文件系统限制如下表
- 在选择block大小时应视实际情况而定, 如果系统中文件都非常小, 则可以使用1k
inode table
- 记录的信息
- 文件的存取模式
- 文件的拥有者与群组
- 文件的容量
- 文件创建/状态改变的实际(ctime)
- 最近一次读取实际(atime)
- 最近修改时间(mtime)
- 定义文件特性的旗标, 如SetUID
- 文件内容的指向(pointer)
- 特点
- inode大小固定位128Bytes, (ext4和xfs可设置到256Bytes)
- 每个文件仅会占用一个inode
- 文件系统内承载的文件数量与inode的数量有关(Inode count)
block过多时, 会采用链式的block记录, 即多占用一个block进行记录下一个block的位置
superblock
- 记录的信息
- block与inode的总量
- 未使用/已使用的inode/block
- block/inode的大小
- filesystem的挂载时间, 最近写入数据的时间, 最近检查磁盘(fsck)的时间等信息
- 一个valid bit 数值记录是否已挂载, 若为0, 则未被挂载
- 特点
- 一个文件系统从逻辑上来说仅有一个superblock, 即使是在多个block group中有superblock, 这些superblock也只是作为第一个blockgroup的中superblock的备份
filesystem description
描述每个block group的开始与结束block号码
block bitmap 区块对照表
记录block使用情况的表
inode bitmap inode对照表
记录inode的使用情况
ps: tune2fs和dumpe2fs可以查看文件系统的inode,block等信息