ext3日志文件系统理解
2011-06-11 10:36
120 查看
1. 对于ext3日志文件系统。是一个事务,对应同一个时间戳?对于ext3的Ordered模式(默认模式)来说事务里面仅包含元数据,包括 inode,bitmap等,这些都会被先写到JBD层所在的磁盘上。每个事务都有自己的状态标记,比如是否committed。没有commit会被放到一起,然后被JBD层scan下刷。在没有断电的情况下,是直接把内存中的相应内容刷到磁盘,断电后重启后,把JBD层没有commit的,重新刷到磁盘。形成一个向前回滚的情况。
每个文件操作一般会修改inode(里面有磁盘布局, read_page等ops), super_block(包括一些计数)。 在JDB层,会有相应结构JDB_buffer, 它里面应该有一个指针指向这些内存内容,那些脏的buffer会被放到一个transaction(事务)里面,这些transcaction会被串到一个链上,超时,或者JDB没有空间容纳更多的transcaction时,就需要下刷这些transaction。 也就是说,ext3元数据的下刷都要通过JDB, 到了JDB以后,transaction到达commit状态, 但是还没有到达 check_point状态。 只有到达check_point状态以后, 才能说明meta data已经从JDB(磁盘)写到相应的实际磁盘位置了。断电重启后, 检查那些transaction的状态, 若为commit 但还不是check_point,则需要把这些事务重新往磁盘刷一遍。以上只是JDB的一种思想, 细节不一定正确。
JBD层是在磁盘上的一个固定位置。
2. Ext3 与JDB 之间的交互本质上基于三个基本单元:日志记录,原子操作和事务
3. 出于效率的原因,JBD 层对日志的处理采用分组的方法,即把属于几个原子操作处理的日志记录分组放在一个单独的事务中。此外,与一个处理相关的所有日志记录都必须包含在同一个事务中。一个事务的所有日志记录都存放在日志的连续块中。JBD层把每个事务作为整体来处理。例如,只有当包含在一个事务的日志记录中的所有数据提交给文件系统时才回收该事务所使用的块
每个文件操作一般会修改inode(里面有磁盘布局, read_page等ops), super_block(包括一些计数)。 在JDB层,会有相应结构JDB_buffer, 它里面应该有一个指针指向这些内存内容,那些脏的buffer会被放到一个transaction(事务)里面,这些transcaction会被串到一个链上,超时,或者JDB没有空间容纳更多的transcaction时,就需要下刷这些transaction。 也就是说,ext3元数据的下刷都要通过JDB, 到了JDB以后,transaction到达commit状态, 但是还没有到达 check_point状态。 只有到达check_point状态以后, 才能说明meta data已经从JDB(磁盘)写到相应的实际磁盘位置了。断电重启后, 检查那些transaction的状态, 若为commit 但还不是check_point,则需要把这些事务重新往磁盘刷一遍。以上只是JDB的一种思想, 细节不一定正确。
JBD层是在磁盘上的一个固定位置。
2. Ext3 与JDB 之间的交互本质上基于三个基本单元:日志记录,原子操作和事务
3. 出于效率的原因,JBD 层对日志的处理采用分组的方法,即把属于几个原子操作处理的日志记录分组放在一个单独的事务中。此外,与一个处理相关的所有日志记录都必须包含在同一个事务中。一个事务的所有日志记录都存放在日志的连续块中。JBD层把每个事务作为整体来处理。例如,只有当包含在一个事务的日志记录中的所有数据提交给文件系统时才回收该事务所使用的块
相关文章推荐
- 我目前对日志文件系统的一些理解
- Red Hat日志文件系统-ext3
- ext3日志模式---文件系统
- 关于linux系统的日志文件的学习与理解
- 访问eeprom设备的方法三(理解iic总线接口应用以及创建sysfs文件系统的bin文件访问接口(新的访问设备的文件接口))
- 深入理解和管理Linux文件系统
- 深入理解Lustre文件系统-第7篇 MDC和Lustre元数据
- ext3,第三扩展文件系统
- 日志文件系统syslog,syslog-ng
- 分布式日志收集系统: Facebook Scribe之配置文件
- Java项目读取配置文件时,FileNotFoundException 系统找不到指定的文件,System.getProperty("user.dir")的理解
- Linux下日志文件监控系统Logwatch的使用记录
- android的文件系统结构及其引导过程的初步理解
- 文件系统的几种类型:ext3, swap, RAID, LVM
- 对嵌入式Linux中的根文件系统的理解和解析
- Linux ext2, ext3, ext4 文件系统解读[5]
- 怎样理解linux的文件系统
- [深入理解文件系统之四] VFS和vnode
- 解剖Linux系统的LOG日志文件
- flume实例二、监听目录日志上传到HDFS文件系统