ext2/3/4:
- superblock:记录此 filesystem 的总体信息,包括inode/block的总量、使用量、剩余量,
以及文件系统的格式与相关信息等;node
- inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的 block
号码;spa
- block:实际记录文件的内容,若文件太大时,会占用多个 block 。
因为整个分区都使用一套inode和superblock的话,会使inode和block数量过于庞大,所以系统会将inode和block分组:block group。指针
boot sector | block group 1| block group2| block group3 ......日志
对于每一个block group,包含6个部分:ip
- data block (1k,2k,4k):每一个block只能存储一个文件,若是block太大文件过小会浪费大量空间。一样,block过小会形成inode过多。
- inode table: 存储rwx权、owner、group、文件大小、SUID,SGID,SBIT、mtime,ctime,atime、以及指向data block的指针。
- superblock:记录inode和data block的总量,使用量,空闲量,大小,是否挂载(valid bit),写入数据时间,校验时间。(一般只有block group1有superblock,即整个文件系统只有一个superblock,其余group里通常为第一个的备份)
- Filesystem Description:记录每一个groupblock的位置,以及这6个部分的位置
- block bitmap:记录空闲block的表
- inode bitmap:记录空闲inodede表
xfs
xfs分为:it
一个数据区 (data section)io
一个文件系统活动登陆区 (log section)table
一个实时运行区 (realtime section)登录
- 数据区:一样分为block group,存储了(1)整个文件系统的 superblock、 (2)剩余空间的管理机制、 (3)inode的分配与追踪。可是 inode 与 block 是动态产生,不是一开始就分配的。
- 实时运行区:当有文件要被建立时,xfs 会在这个区段里面找一个到数个的 extent 区块,将文件放置在这个区块内,等到分配完毕后,再写入到 data section 的 inode 与 block 去