ext3添加了日志功能,下面是研究通过日志恢复文件时的一点心得,工作需要,未作深入研究。
只言片语,不成体系,个人理解,可能不对!
jbd日志过程:(ordered为例)
1. 对元数据的修改(以块为单位)先记录到日志中(这时的数据应该还在内存)
2. 对文件内容进行相应操作
3. 进行commit操作,表示此次操作完成,日志中的元数据可以生效
4. jbd守护进程定时把日志中的元数据flush到磁盘
删除操作为例:
1. 在内存中将inode的数据修改,修改后的inode写入日志
2. 文件数据清空(实际上只是清除指针,可能在上一步已经做完)
3. 日志中append一个commit操作,表示删除操作完成
4. 修改后的inode被jbd守护进程flush到磁盘
故被删除的文件想要恢复,只能祈祷inode所在块,在之前的日志记录中,被写到了日志中
参考:
http://bbs.chinaunix.net/thread-1922346-1-1.html
相关推荐
Ext4文件系统在Ext3的基础之上做了很多改进,引入了大量新功能,这些改进主要是为了提高未来的Linux系统的性能。 虽然Ext4做了很多改进,但依然能够与Ext3实现向后和向前的兼容性,这一点的确很难得。 因为Ext3文件...
EXT3文件系统是一种广泛用于Linux操作系统的日志型文件系统,由Linux内核开发者Stephen Tweedie设计。它提供了一种可靠的方式来组织和管理磁盘上的数据,支持大容量存储和快速的数据恢复。EXT3的主要特点是其日志式...
Linux操作系统中的EXT2和EXT3文件系统是两种广泛使用的日志式文件系统,它们在Linux发展历史上扮演了重要角色。EXT2(第二扩展文件系统)是Linux早期的主要文件系统,而EXT3(第三扩展文件系统)是EXT2的增强版,...
### ext2 和 ext3 文件系统详解 #### 一、概述 `ext2` 和 `ext3` 是广泛应用于 Linux 操作系统中的文件系统格式。它们的设计目标是在保持高性能的同时提供可靠性和稳定性。`ext2` 是第二扩展文件系统,而 `ext3` ...
Linux系统环境下的Ext3文件系统是一种广泛使用的日志文件系统,它是从早期的Ext2文件系统发展而来的。Ext3的出现主要是为了弥补Ext2在关键业务应用中的不足,特别是Ext2缺乏日志功能的问题。Ext3文件系统通过引入...
在Windows 10系统上读取ext4格式的文件系统可能需要一些额外的软件支持,因为Windows本身不原生支持ext4格式。以下是一种可行的方法:
在Android开发中,ext4文件系统打包是系统镜像制作的重要一环。本文档将详细介绍在Android平台上使用make_ext4fs工具打包ext4文件系统镜像的过程,并对相关的操作注意事项进行说明。同时,文档也会涉及使用simg2img...
可以读写Ext2,以Ext2方式挂载Ext3文件系统(不支持Ext3日志),不支持中文! It provides Windows NT4.0/2000/XP/2003/Vista/2008 with full access to Linux Ext2 volumes (read access andwrite access). This ...
Linux的EXT2(第二扩展文件系统)是早期广泛使用的文件系统之一,特别是在嵌入式系统和Linux服务器上。EXT2的C语言实现是一项技术性极强的任务,涉及到对操作系统底层机制的理解,包括文件系统的结构、inode、超级块...
Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。 索引节点(inode)是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。 一个文件系统维护...
Steven在1992年为Linux设计,以替代原有的Minix文件系统,随后发展出多个版本,包括EXT2、EXT3和EXT4。EXT家族的文件系统因其稳定性和效率而受到欢迎,尤其是在服务器环境中。 EXT2是EXT系列的第一个日志文件系统...
EXT2文件系统在Linux社区中广泛使用,直到后来被EXT3和EXT4等更先进的文件系统所取代。本文将详细介绍如何制作一个EXT2文件系统。 一、EXT2文件系统的特点 1. 简单高效:EXT2文件系统的设计简洁,没有日志功能,这...
EXT4的设计目标是解决EXT3在大容量硬盘上的局限性,例如提高文件系统的最大容量和单个文件大小。在EXT4中,最大文件系统容量可以达到16EB(1EB = 1024PB),单个文件大小可以达到16TB。此外,EXT4引入了快速分配、...
标题中的“ext文件系统浏览”指的是能够查看和操作Linux操作系统使用的EXT系列文件系统(如EXT2、EXT3、EXT4)的工具。在Windows环境下,由于默认不支持这些文件系统,因此需要借助特定的软件来实现对它们的浏览和...
不同的操作系统支持不同的文件系统,Linux系统能够识别的文件系统包括ext2、ext3、fat等。 ext2(第二扩展文件系统)是Linux系统中最为广泛使用的一个文件系统。它比早期的ext文件系统更为高效和稳定,支持大容量...
Ext2(第二扩展文件系统)和Ext3(第三扩展文件系统)是Linux系统中最早和最常用的文件系统格式之一,对它们的理解有助于深入掌握Linux文件系统的管理和优化。 Ext2文件系统以其高效性和稳定性著称,为Linux系统...
### 日志文件系统EXT:事务元数据日志在Linux EXT2FS文件系统中的应用 #### 概述 本文档详细介绍了为Linux EXT2FS文件系统设计并实现事务元数据日志(journal)的工作进展。该研究针对的是如何提高文件系统在崩溃...
1. **文件系统大小限制**:传统的Ext2/Ext3文件系统支持的最大文件系统大小为16TB(基于32位块编号),这在现代大规模存储环境下显得捉襟见肘。 2. **时间戳精度**:只支持秒级的时间戳精度,无法满足对于毫秒级甚至...
该视频对ext3文件系统的结构组成进行了讲解,包括目录中记录项文件类型,数据块寻址等
ExtReader是一款专为读取ext3文件系统设计的软件,主要面向Windows用户,尤其是开发者和系统管理员。在Windows操作系统上,通常默认不支持Linux的ext3文件系统,因此ExtReader填补了这一空白,使得用户无需在Linux...