Ext3文件系统
- 格式:doc
- 大小:57.50 KB
- 文档页数:4
以下是对ext3文件系统默认簇大小的分析:
簇大小是文件系统中用于存储数据的最小单元大小。
在ext3文件系统中,默认的簇大小是根据文件系统的性能和磁盘空间的使用情况来设置的。
默认情况下,ext3文件系统的簇大小为4KB。
簇大小对文件系统的性能和磁盘使用情况有重要影响。
如果簇大小设置得过大,会浪费磁盘空间,因为不是所有的簇都会被实际使用。
相反,如果簇大小设置得过小,会降低文件系统的性能,因为需要更多的I/O操作来读取和写入数据。
在ext3文件系统中,默认的簇大小是由系统配置参数决定的,这些参数是在创建文件系统时设置的。
在大多数情况下,ext3文件系统的簇大小是合理的,能够满足大多数应用的需求。
然而,在某些特殊情况下,如需要优化磁盘使用或提高文件系统性能时,可以调整簇大小。
要调整ext3文件系统的簇大小,需要编辑ext3文件系统的元数据目录中的fs.block_size参数。
这个参数的值决定了簇的大小,可以通过修改它来改变簇的大小。
需要注意的是,调整簇大小可能会影响文件系统的性能和磁盘使用情况,因此在进行更改之前,应该仔细评估当前的情况和需求。
总的来说,默认的ext3文件系统簇大小是在综合考虑了性能和磁盘使用情况后设置的。
在大多数情况下,默认的簇大小可以满足需求。
然而,在某些特殊情况下,如需要优化磁盘使用或提高文件系统性能时,可以调整簇大小。
在进行更改之前,应该仔细评估当前的情况和需求。
如果您需要了解更多关于ext3文件系统的详细信息,可以参考相关文档和资料。
Linux ext3在Red Hat Linux 7.2版中,Red Hat首次支持了日志文件系统的ext3文件系统。
该文件系统是在ext2文件系统的基础上进行了改进,是使用了日志功能的ext2文件系统加强版。
ext3文件系统为ext2文件系统共享了所的磁盘设备,并添加了向ext2文件系统转换的能力。
ext3基于ext2的代码,所以它的磁盘格式和ext2的相同,这意味着一个干净卸载的ext3文件系统可以作将ext2文件系统毫无问题地重新挂装。
ext3文件系统和ext2文件系统都使用相同的元数据,因而有可能执行ext2文件系统到ext3文件系统的现场升级,从ext2文件系统升级到ext3只需要短短的几分钟。
1.日志(Journaling)日志块设备层(JBD,Journaling block device layer)完成ext3文件系统日志功能。
JBD不是ext3文件系统所特有的,它的设计目标是为了向一个块设备添加日志功能。
当一个修改执行时,ext3文件系统代码将通知JBD,称为一个事务(transaction)。
如果在事务执行时突然断电或出现其他情况导致事务终止,日志功能具有的重放功能,能重新执行中断的事务。
日志中有三种数据模式:第一种模式:data=writeback。
在这种模式里ext3文件系统根本不处理任何形式的日志数据(如XFS、JFS和ReiserFS)。
尽管事实上它提供有限的数据完整性并能摧毁用户最近修改的文件,但这种模式能给用户整体上的最高性能。
第二种模式:data=ordered,在这种模式下ext3文件系统只记录元数据日志,但它将元数据和数据分组成一个单元称为事务(transaction)。
这种模式保持数据的可靠性与文件系统一致性,这意味着在系统崩溃后,用户不会在新近写入的文件中看到任何垃圾数据。
总体来说这种模式的性能远远低于data=writeback模式,但却比data=journal模式快很多。
文件系统btrfs ext3ext4jfs reiserfs reiser4xfs ntfs zfs 最大卷容量16 EB32 TB 1 EB (16TB)32 PB16 TB??16 EB256 TB16 EB 最大文件容量16 EB 2 TB16 TB 4 PB8TB8TB8 EB16 TB16 EB目录结构 B tree list/tree list/Htree B tree B+ tree dancing B*tree B+ tree B+ treehashtable文件分配extents bitmap/table bitmap/extents bitmap/extents bitmap??extents bitmap?? ACLS Yes Yes Yes Yes No No Yes ACLS only Yes checksum Yes No journal No No No No No Yes 透明压缩Yes No No No No Plugin No Yes Yes 透明加密No No No No No Plugin No Yes Yes online defrag Yes No Yes Yes No Yes Yes Yes Yesshrink Yes Yes Yes No Offlineresize Offline No Yes No全填充速率全填充利用率0.89450.90650.90470.99590.99270.9918大文件效率14.67617.43510.725513.749314.31912.7093大文件删除 2.693 5.262 2.4220.037 1.8020.296小文件效率9.949 5.131 2.786640.94913.6058.978小文件删除 6.73710.7227 1.3916.116 2.756 5.653循环列文件0.1240.0890.0020.0940.190.099大文件read204620619314511946598200391215377521970242大文件write1279625565960926461962617446841812466大文件rndread201277119262871934420198527314901991976056大文件rndwrite138040411870101294689144601113082101384804小文件read237589329348153019732270843725593712236197小文件write926602526469681710844237395810939536小文件rndread332464735445662702282373755140455752666753小文件rndwrite91027715259701244240191075617903931311261以上数据,在公司的debian testing上测定。
常用的linux文件系统类型Linux操作系统是一种开源的操作系统,它的文件系统类型非常丰富。
不同的文件系统类型可以支持不同的文件大小、文件数量和文件系统的速度等特性。
本文将对常用的Linux文件系统类型进行介绍,以帮助读者选择最适合自己需求的文件系统类型。
1. ext2ext2是Linux最早的文件系统类型之一。
它被广泛使用,因为它很稳定,而且在Linux内核中得到了很好的支持。
它支持最大2TB 的文件系统,并且允许使用文件名长达255个字符。
但它不支持文件的访问控制,因此在安全性方面不太可靠。
另外,由于它没有日志功能,因此在文件系统崩溃后需要进行长时间的文件系统检查。
2. ext3ext3是ext2的升级版本,它添加了日志功能。
这意味着在文件系统崩溃后,ext3可以更快地恢复,而且文件系统的可靠性也更高。
它还支持最大16TB的文件系统,并且可以使用文件名长达255个字符。
但它的速度较慢,因为每次写入都需要写入日志。
3. ext4ext4是ext3的升级版本,它支持最大1EB的文件系统,而且可以使用文件名长达255个字符。
它的速度比ext3更快,因为它使用了更先进的数据结构,同时它的文件系统检查速度也更快。
此外,它还支持更高级的文件访问控制,因此在安全性方面更可靠。
4. XFSXFS是一种高性能的文件系统类型,它可以支持非常大的文件和文件系统。
它支持最大9EB的文件系统,并且可以使用文件名长达255个字符。
它的速度非常快,因为它使用了先进的算法和数据结构。
但它的可靠性不如ext4,因为它在文件系统崩溃后需要进行长时间的文件系统检查。
5. BtrfsBtrfs是一种新型的文件系统类型,它被设计用于支持大型文件系统和高级数据管理功能。
它支持最大16EB的文件系统,并且可以使用文件名长达255个字符。
它支持数据快照、压缩、复制和校验等高级功能。
但它还不够稳定,因为它还没有被广泛使用。
6. NTFSNTFS是Windows操作系统使用的文件系统类型,但它也可以在Linux上使用。
Ext3文件系统1 Ext3文件系统简介Ext3一种日记式文件系统。
日记文件系统会把系统对磁盘文件系统的更改第一一一记录在日记文件中,然后再更新到磁盘上。
在由某种原因(例如down机等)而致使文件系统显现不一致的情形下,能够通过重放(replay)日记文件来恢复文件系统的一致性。
Ext3是直接从Ext2文件系统进展过来的,采纳了Ext2文件系统的磁盘数据布局,实现了对Ext2的完全兼容。
依照写入日记的内容和数据刷新时刻的不同,Ext3可支持三个不同的日记格式:Journal模式,ordered模式和writeback模式。
1.1Ext3日记模式第一介绍元数据的概念,在Ext2 和 Ext3中,有六种元数据,别离是:超级块,块组描述符,节点,间接块,数据位图。
可见,元数据记录了数据的改变。
Ext3既能够只对元数据做日记,也能够同时对文件数据块做日记。
具体来讲,Ext3提供以下三种日记模式:日记(Journal )文件系统所有数据和元数据的改变都记入日记。
这种模式减少了丢失每一个文件所作修改的机遇,可是它需要很多额外的磁盘访问。
例如,当一个新文件被创建时,它的所有数据块都必需复制一份作为日记记录。
这是最平安和最慢的Ext3日记模式。
预定(Ordered )只有对文件系统元数据的改变才记入日记。
但是,Ext3文件系统把元数据和相关的数据块进行分组,以便把元数据写入磁盘之前写入数据块。
如此,就能够够减少文件内数据损坏的机遇;例如,确保增大文件的任何写访问都完全受日记的爱惜。
这是缺省的Ext3 日记模式。
写回(Writeback )只有对文件系统元数据的改变才记入日记;这是在其改日记文件系统发觉的方式,也是最快的模式1.2日记块设备(JBD)Ext3 文件系统本身不处置日记,而是利用日记块设备(Journaling Block Device)或叫JBD 的通用内核层。
Ext3文件系统挪用JDB例程以确保在系统万一显现故障时它的后续操作可不能损坏磁盘数据结构。
EXT2、EXT3、EXT4、XFS、GPT详解原创:运维老司机小柒博客7月18日EXT2与EXT3区别Linux之前缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定。
但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统是非日志文件系统。
这在关键行业的应用是一个致命的弱点,Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠。
它完全兼容ext2文件系统。
用户可以平滑地过渡到一个日志功能健全的文件系统中来。
这实际上了也是ext3日志文件系统初始设计的初衷。
1) ext3和ext2的主要区别在于,ext3引入Journal(日志)机制,Linux内核从2.4.15开始支持ext3,它是从文件系统过渡到日志式文件系统最为简单的一种选择,ext3提供了数据完整性和可用性保证。
2) ext2和ext3的格式完全相同,只是在ext3硬盘最后面有一部分空间用来存放Journal的记录;3) 在ext2中,写文件到硬盘中时,先将文件写入缓存中,当缓存写满时才会写入硬盘中;4) 在ext3中,写文件到硬盘中时,先将文件写入缓存中,待缓存写满时系统先通知Journal,再将文件写入硬盘,完成后再通知Journal,资料已完成写入工作;5) 在ext3中,也就是有Journal机制里,系统开机时检查Journal的内容,来查看是否有错误产生,这样就加快了开机速度;EXT3日志文件系统的特点1、高可用性系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。
宕机发生后,恢复ext3文件系统的时间只要数十秒钟。
2、数据的完整性ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。
在保证数据完整性方面,ext3文件系统有2种模式可供选择。
其中之一就是"同时保持文件系统及数据的一致性"模式。
⽂件系统EXT3,EXT4和XFS的区别1. EXT3
(1)最多只能⽀持32TB的⽂件系统和2TB的⽂件,实际只能容纳2TB的⽂件系统和16GB的⽂件
(2)Ext3⽬前只⽀持32000个⼦⽬录
(3)Ext3⽂件系统使⽤32位空间记录块数量和i-节点数量
(4)当数据写⼊到Ext3⽂件系统中时,Ext3的数据块分配器每次只能分配⼀个4KB的块
2. EXT4
EXT4是Linux系统下的⽇志⽂件系统,是EXT3⽂件系统的后继版本。
(1)Ext4的⽂件系统容量达到1EB,⽽⽂件容量则达到16TB
(2)理论上⽀持⽆限数量的⼦⽬录
(3)Ext4⽂件系统使⽤64位空间记录块数量和i-节点数量
(4)Ext4的多块分配器⽀持⼀次调⽤分配多个数据块
3. XFS
(1)根据所记录的⽇志在很短的时间内迅速恢复磁盘⽂件内容
(2)采⽤优化算法,⽇志记录对整体⽂件操作影响⾮常⼩
(3)是⼀个全64-bit的⽂件系统,它可以⽀持上百万T字节的存储空间
(4)能以接近裸设备I/O的性能存储数据。
ext3是Linux文件系统中的一种常见的磁盘分区格式,它的全称是"extended file system 3"。
ext3文件系统是在ext2文件系统的基础上发展起来的,它支持更大的文件系统和更多的文件数量。
在ext3文件系统中,每个文件或目录都被分配一个唯一的inode(索引节点),这个inode包含了文件的元数据,如文件的大小、创建时间、最后修改时间、权限等。
文件的名称和inode之间有一个映射关系,这个关系通过文件
系统中的目录项来维护。
ext3文件系统还支持一些高级特性,如文件系统的日志功能,这个功能可
以保证文件系统的数据一致性,防止因为系统崩溃而导致的数据丢失。
此外,ext3还支持文件系统的配额管理,这个功能可以限制用户或组可以使用的磁盘空间及文件数量。
在Linux操作系统中,可以使用"mkfs.ext3"命令来格式化一个分区为ext3文件系统,可以使用"mount"命令来挂载一个ext3文件系统,可以使用"umount"命令来卸载一个ext3文件系统。
简述linux操作系统中的文件系统类型及其区分方法Linux 操作系统支持多种文件系统类型,这些文件系统类型可以通过文件系统驱动程序来挂载。
常见的文件系统类型包括 ext2、ext3、ext4、xfs、swap 等。
下面对这些文件系统类型进行简要介绍:1. ext2/ext3/ext4:这是Linux中最常用的文件系统类型之一,支持文件压缩、日志记录等功能。
其中,ext2/ext3是早期版本的文件系统,而ext4则是ext3的升级版,支持更大的文件和更好的性能。
2. xfs:这是一种支持无损数据压缩和扩展文件系统大小的文件系统。
xfs 文件系统在 Linux 中常用于高端服务器和工作站上。
3. swap:这是一种虚拟内存文件系统,用于在系统内存不足时充当磁盘缓存。
swap 文件系统可以将磁盘空间用作内存缓存,提高系统性能。
4. 其他文件系统类型:除了以上常见的文件系统类型,Linux 还支持其他文件系统类型,如 reiserfs、jffs2 等。
reiserfs 是一种优秀的文件系统类型,支持文件压缩和索引功能,而 jffs2 则是一种基于 JFFS 文件系统类型的深度压缩文件系统。
要区分这些文件系统类型,可以通过命令行或者文件系统检测工具来实现。
例如,在 Linux 中,可以使用 fsck 命令来检查文件系统类型,也可以使用mount 命令来挂载文件系统。
此外,一些文件系统检测工具,如 parted、gdisk 等,也可以用于检测和转换文件系统类型。
Linux 系统自身可以通过文件名、文件属性等信息来识别文件系统类型。
例如,在 Linux 中,文件系统类型可以通过文件名中的“-”或者“.”等符号来表示。
例如,一个文件名为“/dev/sda1”的文件系统类型为 block 设备文件,而一个文件名为“/home/user/ Documents”的文件系统类型为符号链接文件。
此外,Linux 系统还可以通过文件系统驱动程序来挂载文件系统,从而识别文件系统类型。
本文主要讲述Linux 上比较流行的ext2 文件系统在硬盘分区上的详细布局情况。
Ext2 文件系统加上日志支持的下一个版本是ext3 文件系统,它和ext2 文件系统在硬盘布局上是一样的,其差别仅仅是ext3 文件系统在硬盘上多出了一个特殊的inode(可以理解为一个特殊文件),用来记录文件系统的日志,也即所谓的journal。
由于本文并不讨论日志文件,所以本文的内容对于ext2 和ext3 都是适用的。
1 前言本文的资料来源是Linux 内核中ext3 文件系统的源代码。
为了便于读者查阅源代码,本文中一些关键的技术词汇都使用了内核源代码中所使用的英语单词,而没有使用相应的中文翻译。
(这种方法是否恰当,还请读者朋友们指教。
)2 粗略的描述对于ext2 文件系统来说,硬盘分区首先被划分为一个个的block,一个ext2 文件系统上的每个block 都是一样大小的,但是对于不同的ext2 文件系统,block 的大小可以有区别。
典型的block 大小是1024 bytes 或者4096 bytes。
这个大小在创建ext2 文件系统的时候被决定,它可以由系统管理员指定,也可以由文件系统的创建程序根据硬盘分区的大小,自动选择一个较合理的值。
这些blocks 被聚在一起分成几个大的block group。
每个block group 中有多少个block 是固定的。
每个block group 都相对应一个group descriptor,这些group descriptor 被聚在一起放在硬盘分区的开头部分,跟在super block 的后面。
所谓super block,我们下面还要讲到。
在这个descriptor 当中有几个重要的block 指针。
我们这里所说的block 指针,就是指硬盘分区上的block 号数,比如,指针的值为0,我们就说它是指向硬盘分区上的block 0;指针的值为1023,我们就说它是指向硬盘分区上的block 1023。
手机第二分区EXT2、EXT3、EXT4区别第一:关于EXT2-4分区的网络说明,精简整理!∙Ext2: 是GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。
∙Ext3: 是ext2 的下一代,是在保有目前ext2 的格式之下再加上日志功能。
它兼容ext2,并且从ext2转换成ext3并不复杂。
ext3文件系统已经非常稳定可靠。
∙EXT4: 是ext3文件系统的后继版本,但是Ext4是Linux文件系统的一次革命。
在很多方面,Ext4相对于Ext3的进步要远超过Ext3相对于Ext2的进步。
Ext3相对于Ext2的改进主要在日志方面,但是Ext4相对于Ext3的的改进是更深层次的,是文件系统数据结构方面的优化,是一个高效的、优秀的、可靠的和极具特点的文件系统,并且EXT3可以转为EXT4的。
第二:个人总结(根据网上多方资料分析,加上个人经验,总结如下):∙ext2,标准系统格式,速度快,对SD卡影响小。
但是不能随意断电,也就是说如果你的手机系统卡死了,扣电池的话,ext2分区里面的东西就可能丢失。
∙ext3,有日志功能,可以随意断电了,比ext2好;但EXT3的日志系统对卡的读写频繁,这对于FLASH存储设备不好,寿命会减少。
∙ext4,比ext3有更强大的功能,比如大文件、无限制目录等;实测,对G6而言ext4比ext3耗电!第三:其他相关信息:∙对于速度方面,比如开启A2SD+,有个a2sd --dc2sd功能,是把dalvik-cache 这个文件夹放到ext分区。
------据说dalvik-cache这个文件夹放回rom(手机)里,速度会好一些,也就是说在开启A2SD+时候,不要a2sd --dc2sd这个命令,只输入a2sd --enable即可!∙另外,对于“速度来说肯定2比3更快”,这句话据专家说这是一个误区,原来一直感觉ext2比ext3快,因为ext3就是多了日志系统。
Ext3文件系统1 Ext3文件系统简介Ext3一种日志式文件系统。
日志文件系统会把系统对磁盘文件系统的更改首先一一记录在日志文件中,然后再更新到磁盘上。
在由某种原因(例如down机等)而导致文件系统出现不一致的情况下,可以通过重放(replay)日志文件来恢复文件系统的一致性。
Ext3是直接从Ext2文件系统发展过来的,采用了Ext2文件系统的磁盘数据布局,实现了对Ext2的完全兼容。
根据写入日志的内容和数据刷新时间的不同,Ext3可支持三个不同的日志格式:Journal模式,ordered 模式和writeback模式。
1.1Ext3日志模式首先介绍元数据的概念,在Ext2 和 Ext3中,有六种元数据,分别是:超级块,块组描述符,节点,间接块,数据位图。
可见,元数据记录了数据的改变。
Ext3既可以只对元数据做日志,也可以同时对文件数据块做日志。
具体来说,Ext3提供以下三种日志模式:日志(Journal )文件系统所有数据和元数据的改变都记入日志。
这种模式减少了丢失每个文件所作修改的机会,但是它需要很多额外的磁盘访问。
例如,当一个新文件被创建时,它的所有数据块都必须复制一份作为日志记录。
这是最安全和最慢的Ext3日志模式。
预定(Ordered )只有对文件系统元数据的改变才记入日志。
然而,Ext3文件系统把元数据和相关的数据块进行分组,以便把元数据写入磁盘之前写入数据块。
这样,就可以减少文件内数据损坏的机会;例如,确保增大文件的任何写访问都完全受日志的保护。
这是缺省的Ext3 日志模式。
写回(Writeback )只有对文件系统元数据的改变才记入日志;这是在其他日志文件系统发现的方法,也是最快的模式1.2日志块设备(JBD)Ext3 文件系统本身不处理日志,而是利用日志块设备(Journaling Block Device)或叫JBD 的通用内核层。
Ext3文件系统调用JDB例程以确保在系统万一出现故障时它的后续操作不会损坏磁盘数据结构。
EXT3文件系统简介EXT2和EXT3是许多Linux操作系统发行版本的默认文件系统。
EXT基于UFS,是一种快速、稳定的文件系统。
随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了;其中EXT2文件系统是非日志文件系统,这在关键行业的应用是一个致命的弱点,EXT3文件系统弥补了这一缺点。
EXT3文件系统是直接从EXT2文件系统发展而来,目前EXT3文件系统已经非常稳定可靠。
它完全兼容EXT2文件系统。
用户可以平滑地过渡到一个日志功能健全的文件系统中来。
这实际上了也是EXT3日志文件系统初始设计的初衷。
EXT3日志文件系统的特点1、高可用性系统使用了EXT3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。
宕机发生后,恢复EXT3文件系统的时间只要数十秒钟。
2、数据的完整性:EXT3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。
在保证数据完整性方面,EXT3文件系统有2种模式可供选择。
其中之一就是“同时保持文件系统及数据的一致性”模式。
采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。
3、文件系统的速度:尽管使用EXT3文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,EXT3比EXT2的性能还要好一些。
这是因为EXT3的日志功能对磁盘的驱动器读写头进行了优化。
所以,文件系统的读写性能较之EXT2文件系统并来说,性能并没有降低。
4、数据转换由EXT2文件系统转换成EXT3文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。
另外,EXT3文件系统可以不经任何更改,而直接加载成为EXT2文件系统。
5、多种日志模式EXT3有多种日志模式,一种工作模式是对所有的文件数据及metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=journal模式);另一种工作模式则是只对metadata记录日志,而不对数据进行日志记录,也即所谓data=ordered或者data=writeback模式。
EXT3文件系统
EXT2和EXT3是许多Linux操作系统发行版本的默认文件系统。
EXT基于UFS,是一种快速、稳定的文件系统。
随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了;其中EXT2文件系统是非日志式文件系统,这在关键行业的应用是一个致命的弱点,EXT3文件系统弥补了这一缺点。
EXT3文件系统是直接从EXT2文件系统发展而来,目前EXT3文件系统已经非常稳定可靠。
它完全兼容EXT2文件系统。
用户可以平滑地过渡到一个日志功能健全的文件系统中来。
这实际上了也是EXT3日志文件系统初始设计的初衷。
Ext3文件系统属于一种日志文件系统,是对Ext2系统的扩展。
Ext3系统兼容Ext2文件系统,二者之间的相互转换并不复杂。
Ext2是 GNU/Linux 系统中标准的文件系统,其簇快取层的优良设计使得Ext2系统存取文件的性能非常好,尤其是针对中小型的文件更显优势。
Ext3是一种日志式文件系统,日志文件系统比传统的文件系统安全,因为它用独立的日志文件跟踪磁盘内容的变化。
就像关系型数据库(RDBMS),日志文件系统可以用事务处理的方式,提交或撤消文件系统的变化。
由于文件系统都有快取层参与运作,不使用时必须将文件系统卸下,以便将快取层的资料写回磁盘中。
因此每当系统要关机时,必须将其所有的文件系统全部关闭后才能进行关机。
如果在文件系统尚未关闭前就关机 (如停电) 时,下次重开机后会造成文件系统的资料不一致,故(所以)这时必须做文件系统的重整工作,将不一致与错误的地方修复。
然而这一重整的工作是相当耗时的,特别是容量大的文件系统,而且也不能百分之百保证所有的资料都不会流失。
为了克服此问题,使用(便出现了)所谓的日志式文件系统 (Journal File System) 。
此类文件系统最大的特色是,它会将整个磁盘的写入动作完整记录在磁盘的某个区域上,以便有需要时可以回溯追踪。
由于资料的写入动作包含许多的细节,如改变文件标头资料、搜寻磁盘可写入空间、一个个写入资料区段等等,每一个细节进行到一半若被中断,就会造成文件系统的不一致,因而需要重整。
然而在日志式文件系统中,由于详细纪录了每个细节,故当在某个过程中被中断时,系统可以根据这些记录直接回溯并重整被中断的部分,而不必花时间去检查其他的部分,故重整的工作速度相当快,几乎不需要花时间。
EXT3日志文件系统的特点
1、高可用性
系统使用了EXT3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。
宕机发生后,恢复EXT3文件系统的时间只要数十秒钟。
2、数据的完整性:
EXT3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破
坏。
在保证数据完整性方面,EXT3文件系统有两种模式可供选择。
其中之一就是“同时保持文件系统及数据的一致性”模式。
采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。
3、文件系统的速度:
尽管使用EXT3文件系统时,有时在存储数据时可能要多次写数据,但是从总体上看来,EXT3比EXT2的性能还要好一些。
这是因为EXT3的日志功能对磁盘的驱动器读写头进行了优化。
所以文件系统的读写性能较之EXT2文件系统并来说,性能并没有降低。
4、数据转换
由EXT2文件系统转换成EXT3文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。
另外,EXT3文件系统可以不经任何更改,而直接加载成为EXT2文件系统。
5、多种日志模式
EXT3有多种日志模式,一种工作模式是对所有的文件数据及metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=journal模式);另一种工作模式则是只对metadata记录日志,而不对数据进行日志记录,也即所谓data=ordered或者
data=writeback模式。
系统管理人员可以根据系统的实际工作要求,在系统的工作速度与文件数据的一致性之间作出选择。
Ext3磁盘数据结构
除了硬盘分区中的第一块作为引导块所保留,不受Ext3文件系统管理以外,其余部分分成块组(blockgroup),每个快组的分布下图所示,由于内核尽可能把属于一个文件的数据块存放在同一块中,所以组块减少了文件碎片。
块组中的每块包含下列信息:
超级快(块):文件系统超级快(块)的一个拷贝
组描述符:一组块组描述符的拷贝
数据块位图:一个数据块位图
索引节点位图:一组索引节点
索引节点表:一个索引节点位图
数据块:存放文件数据
Ext3 Inode
在Ext3文件系统中inode是基本块;文件系统中的每个文件与目录由唯一的inode来描叙。
每个数据块组的Ext3 inode被保存在inode表中, 同时还有一个位图被系统用来跟踪已分配和未分配的inode。
图2给出了Ext3 inode的格式,它包含以下几个域:
mode:它包含两类信息;inode描叙的内容以及用户使用权限。
Ext3中的inode可以表示一个文件、目录、符号连接、块设备、字符设备。
Owner Information :表示此文件或目录所有者的用户和组标志符。
文件系统根据它可以进行正确的存取。
Size :以字节计算的文件尺寸。
Timestamps :inode创建及最后一次被修改的时间。
Datablocks:指向此inode描叙的包含数据的块指针。
前12个指针指向包含由inode 描叙的物理块, 最后三个指针包含多级间接指针。
例如两级间接指针指向一块指针,而这些指针又指向一些数据块。
这意味着访问文件尺寸小于或等于12个数据块的文件将比访问大文件快得多。