Ext3文件系统

本文详细介绍了日志文件系统的概念及其工作原理,并深入探讨了Ext文件系统的结构,包括MBR、SuperBlock、GDT、blockbitmap和inodebitmap等关键组成部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是日志文件系统?

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


Ext文件系统结构


220909967.png



MBR:

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


Linux文件系统以“Block”做为存储单元。

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

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

  • 所有blok被划分若干个相等的块组,每个块组中包含相同数量的block,但由于文件系统可能不是块大小的整数倍,所以最有一个块组可能小于其他块组;

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


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目录使用;











本文转自 安安安安森  51CTO博客,原文链接:http://blog.51cto.com/smallc/1334475,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值