Ext3文件系统

什么是日志文件系统?node

所谓日志文件系统是在传统文件系统的基础上,加入文件系统更改的日志记录,它的设计思想是:跟踪记录文件系统的变化,并将变化内容记录入日志。日志文件系统在磁盘分区中保存有日志记录,写操做首先是对记录文件进行操做,若整个写操做因为某种缘由(如系统掉电)而中断,系统重启时,会根据日志记录来恢复中断前的写操做。在日志文件系统中,全部的文件系统的变化都被记录到日志,每隔必定时间,文件系统会将更新后的元数据及文件内容写入磁盘。在对元数据作任何改变之前,文件系统驱动程序会向日志中写入一个条目,这个条目描述了它将要作些什么,而后它修改元数据。linux


Ext文件系统结构
ide


220909967.png



MBR:spa

MBR全称Master Boot record,即硬盘的主引导记录。前446字节为引导器,64字节分区表,2字节校验,大小一共512字节。设计


Linux文件系统以“Block”作为存储单元。日志

  • Block一般有若干个连续的扇区组成,一般为1KB,2KB,4KB,8KB,此值大小一般记录在位于文件系统2-3号扇区的superblock中;orm

  • 全部的block都被赋予地址,由0开始编号,0号起始于文件系统的第一个扇区;xml

  • 全部blok被划分若干个相等的块组,每一个块组中包含相同数量的block,但因为文件系统可能不是块大小的整数倍,因此最有一个块组可能小于其余块组;blog

  • 若是superblock定义了文件系统开始出保留的区域,则此区域不属于任何block,0号block也在保留区域后开始。get


SuperBlock:

  • superblock位于系统的1024字节处,为其分配空间为1024字节,但其中部分字节并没使用

  • 由基本信息组成,如块大小,总块数,每组块数以及第一个快前保留块数,还有inode数量和每块组inode数量;

  • 还有一些非实质性的数据,如卷名,最后写入时间,文件系统是否干净,是否须要一致性检查。2使用dumpe2fs可查看信息。dump2fs /dev/sda1;

  • 日志文件系统会把SuperBlockdatablock里作一个备份,当SuperBlock更新时,备份也一样更新;

  • superblockbackup block之间同步的时间15s30s;



GDT(组描述符表):

组描述符表,位于superblock以后,每一个组描述符占用32字节,一般组描述符不会超过一个块组;记录block bitmap和inode bitmap等起始位置的信息;


block bitmap(块位图):

  • 管理块组中的块的分配状况;


inode bitmap(Inode位图):

  • 位于block bitmap以后,大小只占用一个block;

  • 管理组中inode的分配状况;

  • 起始位置在GDT中给出,一般inode数量小于组中的块数,不过能够手动更改;


Inode Table(inode表):

  • inode大小为128字节;

  • 全部inode存放在inode table中,每一个块组都有一个本地组的inode table

  • 1-10号inode被用做保留,并在inode table中设置为已分配;

  • 1号inode节点用于代表坏块,但在linux内核中没有标定的值;

  • 8号节点一般为日志使用,但能够在superblock中从新定义;

  • 第一个用户文件一般使用11号节点,但此通常被lost+found目录使用;

相关文章
相关标签/搜索