工作日志系统搭建 每日工作汇报表详细表
概述所谓日志文件系统是在传统文件系统的基础上 , 加入文件系统更改的日志记录 , 它的设计思想是:跟踪记录文件系统的变化 , 并将变化内容记录入日志 。日志文件系统在磁盘分区中保存有日志记录 , 写操作首先是对记录文件进行操作 , 若整个写操作由于某种原因(如系统掉电)而中断 , 系统重启时 , 会根据日志记录来恢复中断前的写操作 。在日志文件系统中 , 所有的文件系统的变化都被记录到日志 , 每隔一定时间 , 文件系统会将更新后的元数据及文件内容写入磁盘 。在对元数据做任何改变以前 , 文件系统驱动程序会向日志中写入一个条目 , 这个条目描述了它将要做些什么 , 然后它修改元数据 。目前Linux的日志文件系统主要有:在Ext2基础上开发的Ext3 , 根据面向对象思想设计的ReiserFS , 由SGI IRIX系统移植过来的XFS , 由IBM AIX系统移植过来的JFS , 其中EXT3完全兼容EXT2 , 其磁盘结构和EXT2完全一样 , 只是加入日志技术;而后三种文件系统广泛使用了B树以提高文件系统的效率 。
Ext3Ext3文件系统是直接从Ext2文件系统发展而来 , 目前Ext3文件系统已经非常稳定可靠 , 它完全兼容Ext2文件系统 , 用户可以平滑地过渡到一个日志功能健全的文件系统 。Ext3日志文件系统的思想就是对文件系统进行的任何高级修改都分两步进行 。首先 , 把待写块的一个副本存放在日志中;其次 , 当发往日志的I/O 数据传送完成时(即数据提交到日志) , 块就写入文件系统 。当发往文件系统的I/O 数据传送终止时(即数据提交给文件系统) , 日志中的块副本就被丢弃 。
2.1 Ext3日志模式Ext3既可以只对元数据做日志 , 也可以同时对文件数据块做日志 。具体来说 , Ext3提供以下三种日志模式:
- 日志(Journal )
- 预定(Ordered )
- 写回(Writeback )
2.2 日志块设备(JBD)
Ext3 文件系统本身不处理日志 , 而是利用日志块设备(Journaling Block Device)或叫JBD 的通用内核层 。Ext3文件系统调用JDB例程以确保在系统万一出现故障时它的后续操作不会损坏磁盘数据结构 。Ext3 与JDB 之间的交互本质上基于三个基本单元:日志记录 , 原子操作和事务 。
日志记录本质上是文件系统将要发出的低级操作的描述 。在某些日志文件系统中 , 日志记录只包括操作所修改的字节范围及字节在文件系统中的起始位置 。然而 , JDB 层使用的日志记录由低级操作所修改的整个缓冲区组成 。这种方式可能浪费很多日志空间(例如 , 当低级操作仅仅改变位图的一个位时) , 但是 , 它还是相当快的 , 因为JBD 层直接对缓冲区和缓冲区首部进行操作 。
修改文件系统的任一系统调用都通常划分为操纵磁盘数据结构的一系列低级操作 。如果这些低级操作还没有全部完成系统就意外宕机 , 就会损坏磁盘数据 。为了防止数据损坏 , Ext3文件系统必须确保每个系统调用以原子的方式进行处理 。原子操作是对磁盘数据结构的一组低级操作 , 这组低级操作对应一个单独的高级操作 。
出于效率的原因 , JBD 层对日志的处理采用分组的方法 , 即把属于几个原子操作处理的日志记录分组放在一个单独的事务中 。此外 , 与一个处理相关的所有日志记录都必须包含在同一个事务中 。一个事务的所有日志记录都存放在日志的连续块中 。JBD层把每个事务作为整体来处理 。例如 , 只有当包含在一个事务的日志记录中的所有数据提交给文件系统时才回收该事务所使用的块 。
推荐阅读
- 销售内勤工作总结 万能的销售个人工作总结
- 全过控工作内容有哪些
- 胶带开十字锁方法
- 对眼睛好的方法
- 小区人脸识别门禁系统安全吗
- xp怎么升级到win7 一键升级XP系统到win7系统的方法
- 全空气系统空调机组如何选型
- 皇后工作室《黑寡妇》电影寡姐1/4全身像 售价4280元
- 安全工作心得体会发言开头怎么写
- 内账要做总账吗
