ext2和ext3的主要区别
- 格式:doc
- 大小:33.00 KB
- 文档页数:4
Ext2和Ext3文件系统Ext2: 是GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。
其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的x86 电脑系统中,簇最大为4KB, 则单一文件大小上限为2048GB, 而文件系统的容量上限为16384GB。
但由于目前核心 2.4 所能使用的单一分割区最大只有2048GB,因此实际上能使用的文件系统容量最多也只有2048GB。
Ext3: 顾名思义,它就是ext2 的下一代,也就是在保有目前ext2 的格式之下再加上日志功能。
目前它离实用阶段还有一段距离,也许在下一版的核心就可以上路了。
ext3是一种日志式文件系统。
日志式文件系统的优越性在于:由于文件系统都有快取层参与运作,如不使用时必须将文件系统卸下,以便将快取层的资料写回磁盘中。
因此每当系统要关机时,必须将其所有的文件系统全部卸下后才能进行关机。
如果在文件系统尚未卸下前就关机(如停电) 时,下次重开机后会造成文件系统的资料不一致,故这时必须做文件系统的重整工作,将不一致与错误的地方修复。
然而,此一重整的工作是相当耗时的,特别是容量大的文件系统,而且也不能百分之百保证所有的资料都不会流失。
故这在大型的伺服器上可能会造成问题。
为了克服此问题,业界经长久的开发,而完成了所谓‘日志式文件系统(Journal File System) ’。
此类文件系统最大的特色是,它会将整个磁盘的写入动作完整记录在磁盘的某个区域上,以便有需要时可以回朔追踪。
由于资料的写入动作包含许多的细节,像是改变文件标头资料、搜寻磁盘可写入空间、一个个写入资料区段等等,每一个细节进行到一半若被中断,就会造成文件系统的不一致,因而需要重整。
然而,在日志式文件系统中,由于详细纪录了每个细节,故当在某个过程中被中断时,系统可以根据这些记录直接回朔并重整被中断的部分,而不必花时间去检查其他的部分,故重整的工作速度相当快,几乎不需要花时间。
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一种日记式文件系统。
日记文件系统会把系统对磁盘文件系统的更改第一一一记录在日记文件中,然后再更新到磁盘上。
在由某种原因(例如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例程以确保在系统万一显现故障时它的后续操作可不能损坏磁盘数据结构。
本地硬盘存储【】本地存储能保证数据的完整性、安全性,网络视频服务器在网络传输过程中可能产生丢包的情况,使用本地存储能给予客户数据安全的保证。
本地存储一般是IDE 或SATA 接口外接IDE 或SATA 硬盘,在配合以安全稳定的文件系统,实现硬盘的存储。
文件系统网络视频服务器操作系统大多为嵌入式Linux,本地存储一般会应用Linux 的文件系统。
常用的有ext2 和ext3。
ext2 是为解决ext 文件系统的缺陷而设计的可扩展的、高性能的文件系统,它又被称为二级扩展文件系统。
ext2 是1993 年发布的,设计者是Rey Card。
它是Linux 文件系统类型中使用最多的格式,并且在速度和CPU 利用率上较为突出,是GNU/Linux 系统中标准的文件系统。
它存取文件的性能极好,对于中、小型的文件更显示出优势,这主要得益于其簇快取层的优良设计。
ext2 可以支持256 字节的长文件名,其单一文件大小和文件系统本身的容量上限与文件系统本身的簇大小有关。
在常见的Intel x86 兼容处理器的系统中,簇最大为4KB,单一文件大小上限为2048GB, 而文件系统的容量上限为6384GB。
尽管Linux 可以支持种类繁多的文件系统,但是2000 年以前几乎所有的Linux 发行版都使用ext2 作为默认的文件系统。
ext2 也有一些问题。
由于它的设计者主要考虑的是文件系统性能方面的问题,而在写入文件内容的同时,并没有写入文件的meta-data(和文件有关的信息,例如权限、所有者及创建和访问时间)。
换句话说,Linux 先写入文件的内容,然后等到有空的时候才写入文件的meta- data。
如果出现写入文件内容之后,但在写入文件的meta-data 之前系统突然断。
磁盘分区格式NTFS和FAT32有什么区别呀?二者各有什么好处呀?又有什么缺点呢?从目前流行的操作系统来看,常用的分区格式有:FAT16、FAT32、NTFS和Ext2。
FAT16:是MS-DOS和最早期的WINDOWS 95操作系统中使用的硬盘分区格式,采用16位的文件分配表,是目前获得操作系统支持最多的一种磁盘分区格式,几乎所有的操作系统都支持这种分区格式。
但它只支持2GB的磁盘容量而且磁盘利用效率低。
FAT32:采用32位的文件分配表,突破了2GB的限制。
与FAT16相比,极大地减少了磁盘的浪费,提高了磁盘利用率。
缺点是运行速度比采用FAT16格式分区的磁盘要慢,而且DOS 和的WINDOWS 95不支持这种分区格式。
NTFS:优点是安全性、稳定性非常出色,使用中不易产生文件碎片。
并且能对用户的操作进行记录,通过对用户权限进行严格限制,使每个用户只能按照系统赋予的权限进行操作,充分保护了系统与数据的安全。
WINDOWS 2000、WINDOWS NT以及WINDOWS XP都支持这种分区格式。
Ext2/Ext3:是Linux中使用最多的一种文件系统,专门为Linux设计,拥有最快的速度和最小的cpu 占有用率。
Ext2既可以用于标准块设备(如硬盘),也被应用在软盘等移动存储设备上。
Linux的磁盘分区格式与其它操作系统完全不同,其C、D、E、F等分区的意义也和WINDOWS操作系统下不一样,使用Linux操作系统后,死机的机会大大减少,但是目前支持这一分区格式的操作系统只有Linux。
FAT32与NTFS的区别在推出FAT32文件系统之前,通常PC机使用的文件系统是FAT16。
像基于MS-DOS,Win 95等系统都采用了FAT16文件系统。
在Win 9X下,FAT16支持的分区最大为2GB。
我们知道计算机将信息保存在硬盘上称为“簇”的区域内。
使用的簇越小,保存信息的效率就越高。
在FAT16的情况下,分区越大簇就相应的要增大,存储效率就越低,势必造成存储空间的浪费。
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是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。
MINIX, EXT2,FAT文件系统概要分析关键词:MINIX EXT2FAT FAT32分析Title: 概述了MINIX,EXT2,FAT文件系统,看完应该有一个全局的了解Author: QuanDate: 18.04.2006====================MINIX:====================Minix的文件系统主要包括一下6个部分:引导块,超级块,i节点位图,区段位图,真正的i节点信息,数据。
引导块:一般来将,每一个文件分区里面,都必须包含一个引导块。
虽然并不是每一个设备的分区都是用来引导的,但是,出于结构的统一以及兼容性方面的考虑,一般文件系统需要将分区的第一个块保留为引导块。
因此,我以前曾经犯过的一个错误就是,认为启动盘在windows里面是不能够被识别的,会提示磁盘未格式化。
看来我真的是错了,只能将那个启动盘上的系统,windows不能够识别。
但是,启动盘里面确实也装载着完整的文件系统。
超级块:之所以称之为超级块,就是因为这个块是整个文件系统的龙头!从它,可以推算出整个文件系统的信息。
在minix中,它包含了i节点数,区段数,块/区段比,最大文件长度,magic number等等信息。
这样,整个文件系统中,上面所涉及到的6个部分的分布就清楚了。
位图:常用的一个数据结构。
使用一个bit来代表一个有序逻辑单位,如这里的一个i节点,一个区段,或者是内存中的一页等等。
这里,使用位图来表示哪些i节点是可以的或者是不可用的,对于区段的使用方式也是相同的。
这样,就是对有序的逻辑单位进行了标记,而且这样的标记是写入磁盘的因此可以长期的保存。
所以,必须要确保文件系统的一致性(consistency),因为标记和真正的逻辑单位并不是同时写入磁盘的。
这一点,相当的重要。
i节点:这个结构和UNIX下的文件系统应该说是一样的。
这里保存着对应于每个文件的具体的信息,如文件类型,访问权限,链接信息,文件大小,时间信息,区段号(包括一次间接块和二次间接块)等等与文件密切相关的信息。
手机第二分区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就是多了日志系统。
ext2 文件系统格式The Second Extended File System(ext2)文件系统是 Linux 系统中的标准 文件系统,是通过对 Minix 的文件系统进行扩展而得到的,其存取文件的性能 极好。
在 ext2 文件系统中,文件由 inode(包含有文件的所有信息)进行唯一标识。
一个文件可能对应多个文件名,只有在所有文件名都被删除后,该文件才会被 删除。
此外,同一文件在磁盘中存放和被打开时所对应的 inode 是不同的,并 由内核负责同步。
ext2 文件系统采用三级间接块来存储数据块指针,并以块 (block,默认为 1KB)为单位分配空间。
其磁盘分配策略是尽可能将逻辑相 邻的文件分配到磁盘上物理相邻的块中, 并尽可能将碎片分配给尽量少的文件, 以从全局上提高性能。
ext2 文件系统将同一目录下的文件(包括目录)尽可能 的放在同一个块组中,但目录则分布在各个块组中以实现负载均衡。
在扩展文 件时,会尽量一次性扩展 8 个连续块给文件(以预留空间的形式实现)。
2.1. 总体存储布局 请点评我们知道,一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例 如某种 mkfs 命令)格式化成某种格式的文件系统,然后才能存储文件,格式 化的过程会在磁盘上写一些管理存储布局的信息。
下图是一个磁盘分区格式化 成 ext2 文件系统后的存储布局。
图 1. ext2 文件系统的总体存储布局文件系统中存储的最小单位是块(Block),一个块究竟多大是在格式化时确 定的,例如 mke2fs 的-b 选项可以设定块大小为 1024、2048 或 4096 字节。
而上图中启动块(Boot Block)的大小是确定的,就是 1KB,启动块是由 PC 标准规定的,用来存储磁盘分区信息和启动信息,任何文件系统都不能使用启 动块。
启动块之后才是 ext2 文件系统的开始, ext2 文件系统将整个分区划成若干 个同样大小的块组(Block Group),每个块组都由以下部分组成。
摘要:本文通过文件系统的定义说起,然后通过引文简单的介绍了一下文件系统类型;对Linux常用的ext2、ext3及reiserfs 根据本人使用经验也泛泛的谈了谈,但并不是专业的。
如何阅读本文,还是用马克思理论告诉我们的方法:一分为二,边看边批吧;目录索引一、什么是文件系统(Filesystem)1、常见定义方法;2、理解文件系统的关健词;1)磁盘的分割:2)文件系统的创建:3)挂载(mount):4)文件系统可视的几何结构:二、文件系统的类型;三、Linux 文件系统的选择和安全性;1、Linux操作系统安装过程中的文件系统的选择;1)ext2 文件系统;2)ext3 文件系统:是由ext2文件系统发展而来;3)reiserfs 文件系统;4)ext3、reiserfs、ext2 文件系统对大文件支持的对比;2、ext2、ext3及reiserfs文件系统的安全性;1)ext2、ext3和reiserfs 文件系统自动修复能力对比;2)ext2、ext3和reiserfs 反删除功能对比;四、Linux 支持的文件系统;五、文件系统的特性;六、在Linux中,文件系统的创建和挂载;七、关于本文;八、参考文档;九、相关文档;++++++++++++++++++++++++++++++++++++++++++++++++++++++++正文++++++++++++++++++++++++++++++++++++++++++++++++++++++++一、什么是文件系统(Filesystem);1、常见定义方法;什么是文件系统(filesystem),用一两句话解答出来,实在有点困难,这个问题只能留给文件系统的设计者或对文件系统精通的专业人士来答复;下面是关于filesystem的定义是我从 上搜索到的;下面我们分析一下,对我们来说,了解一下也有好处。
如果您是专业人士,如果您有自己的定义方法,请在本文后面留言;谢谢;定义一;A directory structure contained within a disk drive or disk area. The total available disk space can be composed of one or more filesystems. A filesystem must be mounted before it can be accessed. To mount a filesystem, you must specify a directory to act as the mount point. Once mounted, any access to the mount point directory or its subdirectories will access the separate filesystem.文件系统是包括在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区的目录结构;一个可应用的磁盘设备可以包含一个或多个文件系统;如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统;为了挂载(mount)文件系统,您必须指定一个挂载点;一旦文件系统被挂载,freebooks.by.ru/view/ShellProgIn24h/31480175.htm定义二;A method of organising files on a disk, eg NTFS, FAT./ldm/home/terms.html文件系统是在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区组织文件的方法,如NTFS或FAT;定义三;A data structure or a collection of files. In Unix, filesystem can refer to two very distinct things, the directory tree or the arrangement of files on disk partitions.文件系统是文件的数据结构或组织方法。
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例程以确保在系统万一出现故障时它的后续操作不会损坏磁盘数据结构。
Linux系统常用的文件格式包括以下几种:
1. ext:这是Linux系统最早的文件系统类型,称为扩展文件系统。
2. ext2:这是Linux系统中最常用的文件系统类型,它解决了ext文件系统的缺陷,并具有高性能。
3. ext3:这是ext2的改进版本,它增加了日志功能,提高了系统的稳定性和可靠性。
4. ext4:这是ext3的改进版本,它进一步提高了文件系统的性能和可靠性,并支持更大的文件和分区。
5. XFS:这是一种高性能的文件系统类型,它支持大型文件和文件系统,并具有出色的性能和可扩展性。
6. ReiserFS:这是一种支持大型文件和文件系统的日志文件系统,它具有出色的性能和可扩展性。
7. Btrfs:这是一种新型的文件系统类型,它支持快照、检查和恢复等功能,并具有出色的性能和可扩展性。
以上是Linux系统常用的文件格式,每种格式都有其特点和适用场景,根据实际需求选择合适的文件格式。
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模式。
在Red Hat Linux 7.2中,Red Hat首次支持日志文件系统ext3。
ext3文件系统是对稳定的ext2文件系统的改进,有几项优点。
本文概述这些优点,解释Red Hat公司对ext3进行了何种测试,略述性能调试(为高级用户)。
有数种基于Linux的日志文件系统正在开发之中。
本文不言及这些日志文件系统,也不准备与这些日志文件系统进行比较。
ext3的优点为什么你需要从ext2迁移到ext3呢?以下有四个主要原因:可用性、数据完整性、速度、易于迁移。
可用性在非正常当机后(停电、系统崩溃),只有在通过e2fsck进行一致性校验后,ext2文件系统才能被装载使用。
运行e2fsck的时间主要取决于ext2文件系统的大小。
校验稍大一些的文件系统(几十GB)需要很长时间。
如果文件系统上的文件数量多,校验的时间则更长。
校验几百个GB的文件系统可能需要一个小时或更长。
这极大地限制了可用性。
相比之下,除非发生硬件故障,即使非正常关机,ext3也不需要文件系统校验。
这是因为数据是以文件系统始终保持一致方式写入磁盘的。
在非正常关机后,恢复ext3文件系统的时间不依赖于文件系统的大小或文件数量,而依赖于维护一致性所需“日志”的大小。
使用缺省日志设置,恢复时间仅需一秒(依赖于硬件速度)。
数据完整性使用ext3文件系统,在非正常关机时,数据完整性能得到可靠的保障。
你可以选择数据保护的类型和级别。
你可以选择保证文件系统一致,但是允许文件系统上的数据在非正常关机时受损;这是可以在某些状况下提高一些速度(但非所有状况)。
你也可以选择保持数据的可靠性与文件系统一致;这意味着在当机后,你不会在新近写入的文件中看到任何数据垃圾。
这个保持数据的可靠性与文件系统一致的安全的选择是缺省设置。
速度尽管ext3写入数据的次数多于ext2,但是ext3常常快于ext2(高数据流)。
这是因为ext3的日志功能优化硬盘磁头的转动。
你可以从3种日志模式中选择1种来优化速度,有选择地牺牲一些数据完整性。
第一种模式,data=writeback,有限地保证数据完整,允许旧数据在当机后存在于文件当中。
这种模式可以在某些情况下提高速度。
(在多数日志文件系统中,这种模式是缺省设置。
这种模式为ext2文件系统提供有限的数据完整性,更多的是为了避免系统启动时的长时间的文件系统校验)第二种模式,data=orderd(缺省模式),保持数据的可靠性与文件系统一致;这意味着在当机后,你不会在新近写入的文件中看到任何垃圾数据。
第三种模式,data=journal,需要大一些的日志以保证在多数情况下获得适中的速度。
在当机后需要恢复的时间也长一些。
但是在某些数据库操作时速度会快一些。
在通常情况下,建议使用缺省模式。
如果需要改变模式,请在/etc/fstab文件中,为相应的文件系统加上data=模式的选项。
详情可参看mount命令的man page在线手册(执行man mount)。
易于迁移你可以不重新格式化硬盘,并且很方便的从ext2迁移至ext3而享受可靠的日志文件系统的好处。
对,不需要做长时间的、枯燥的、有可能失误的“备份-重新格式化-恢复”操作,就可以体验ext3的优点。
有两种迁移的方法:·如果你升级你的系统,Red Hat Linux安装程序会协助迁移。
需要你做的工作就是为每一个文件系统按一下选择按钮。
·使用tune2fs程序可以为现存的ext2文件系统增加日志功能。
如果文件系统在转换的过程已经被装载了(mount),那么在root目录下会出现文件”.journal”;如果文件系统没有被装载,那么文件系统中不会出现该文件。
转换文件系统,只需要运行tune2fs –j /dev/hda1(或者你要转换的文件系统所在的任何设备名称),同时把文件/etc/fstab中的ext2修改为ext3。
如果你要转换自己的根文件系统,你必须使用initrd引导启动。
参照mkinitrd的手册描述运行程序,同时确认自己的LILO或GRUB配置中装载了initrd(如果没有成功,系统仍然能启动,但是根文件系统会以ext2形式装载,而不是ext3,你可以使用命令cat /proc/mounts 来确认这一点。
)详情可参看tune2fs命令的man page在线手册(执行man tune2fs)。
为什么使用ext3?为什么Red Hat选择ext3作为我们第一个正式支持的日志文件系统?这是因为ext3具有以下优点。
注意这些优点每一个都不是ext3所独有的(其它的日志文件系统同样具有以下的某些优点),但是只有ext3同时具有所有的这些优点。
· ext3全面兼容ext2,允许用户在增加日志功能时,保留现存的文件系统。
任何想要去除文件系统的日志功能的用户也不需要做很多工作(我们没期望很多人这么做)。
而且,只要安装了最新版的e2fsprogs程序(例如Red Hat Linux 7.2中自带的),一个ext3文件系统不需要去掉日志功能,也能以ext2形式装载。
· ext3从ext2不断增强和改进自身功能的历史中获益,并且以后还将吸收ext2的优秀特性。
也就是说ext3继承了ext2许多已有的优点,同时ext2新增加的一些特性,也会很容易的转移到ext3中。
例如当扩展属性或者Htree增加到ext2中时,把这些特性加到ext3中也是很容易的(扩展属性实现访问控制列表,Htree可以提高目录操作的速度和改进大目录的可伸缩性)。
· ext3和ext2一样是由来自多家厂商的开发人员联合开发的,它的开发不依赖于任何个人或组织。
·ext3提供并使用了一个通用日志层(jbd),该层可以在其它环境中使用。
Ext3不但能在文件系统中使用日志功能,而且能够应用到其它设备中,例如目前Linux开始支持的NVRAM 设备,ext3就能够支持。
· ext3有多种日志模式。
它可以记录所有的文件数据和(metadata)元数据(data=journal),也可以只记录元数据(data= ordered或data=writeback)。
当你不记录文件数据时,你可以选择在记录元数据前修改文件系统数据(data=ordered;这样所有的元数据记录都指向了有效数据),或不特殊地处理文件数据(data=writeback;文件系统保持一致性,但是非正常关机后,文件中会有旧数据存在)。
这样,管理员可以在速度和文件数据一致性两方面权衡利弊,并且可以为某些特殊的应用调整速度。
· ext3有很强的平台兼容性,它可以在little-endian和big-endian系统上,支持32和64位体系结构,。
任何能够访问ext2文件系统的操作系统,都能访问ext3文件系统,目前包括各种Unix版本及其变种,BeOS,Windows。
· ext3不要求内核做大的修改,也不需要增加新的系统调用,因此目前没有什么难题能够阻止Linux Torvalds把ext3加入他正式的Linux内核版本中。
Ext3已经集成到了Alan Cox的–ac 内核中,很快就会进入到Linus的正式内核中。
·当由于软件或硬件错误导致文件系统崩溃时,文件修复程序e2fsck在修复数据方面有很好的成功记录。
ext3使用了和e2fsck相同的代码来修复崩溃的文件系统,因此在出现数据崩溃错误时,ext3和ext2同样具有防止数据丢失的优点。
我们要再次声明这些优点中的每一点都不是ext3所独有的。
它们中的大部分是别的文件系统也有的。
我们不过是声明这些所有的优点真的是只有ext3才全具备。
我们是根据用户的要求,来决定我们目前应该支持哪些特性。
根据我们的测试,ext3是目前最能满足我们用户需要的。
我们将继续评估其它的文件系统,以便于在以后的Red Hat Linux版本中加入这些文件系统。
为什么要信任ext3?Red Hat为了确保ext3能够安全地处理用户数据,做了以下测试:·我们在各种配置下进行了大量的压力测试。
这包括在各种硬件和文件系统配置上,进行数千小时的“专项”负载测试,以及许多用例(use case)测试。
·我们在多种条件下观测ext3,包括在某一点上内存分配错误的情况。
每次代码更拢 颐嵌挤锤吹厍恐菩缘刂圃齑砦罄床馐栽谡庑┨跫 挛募 低车囊恢滦浴?br />·我们测试出ext3和虚拟内存(VM)子系统之间的交互性能较差,因而进行了改进。
日志文件系统对VM子系统有更大的压力,并且我们在测试的过程中发现并修改了几个ext3和VM子系统中的错误。
经过了数千个小时的这种测试,我们对ext3文件系统充满了信心。
·从2.2内核系列一直到现在的2.4内核系统,我们对ext3进行了一年多的β测试。
甚至在正式的β测试以前,ext3已经被放在产品中,在一些环境中使用了。
ext3应用在一些访问量很大的服务器上超过了两年,例如服务器。
·为了处理潜在的硬件故障引起的崩溃,我们已经安排允许用户在“当机”后选择是否检测文件系统的一致性,即使文件系统被标记为“clean”。
这是因为硬件故障和大部分的电力故障,几乎能在磁盘的任何地方产生“垃圾”数据。
按下重起按钮可能不会产生这类问题,但是现实中由雷击或电压巨变引起的电力故障,是会破坏正在写入磁盘的数据的。
IDE磁盘比SCSI 磁盘更容易产生这类问题,部分原因是因为IDE磁盘通常使用松散缓存(looser cancheing)算法。
·这种特性是使用文件/.autofsk来实现的,如果根用户在正常情况下删除了这个文件,则在引导时系统可以提供选择是否检查文件系统的一致性。
如果/.autofsk不存在了并且用户选择对文件系统进行强制检查,那么这种情况和存在文件/forcefsck的效果是一样的。
性能调试建议调整电梯(elevator)算法设置ext3文件系统和ext2文件系统有一些不同,这种不同表现在多方面。
高级用户可以调整文件系统和I/O系统参数来改进性能。
这里主要介绍性能调试的一些基本方法。
当然,所有的性能调试都需要针对特定的应用程序;这里没有适合所有状况的性能调试方法。
但是,我们会尽力提供一些具有普遍意义的有用信息。
Linux 的大多数块设备驱动程序都使用了“电梯式(elevator)”算法来调度块I/O操作。
我们可以使用程序/sbin/elvtune调整吞吐量(throughput)和延迟时间(latency)的值,来达到最佳效果。
对于给定的负载,ext3要达到和ext2文件系统同样的效果,需要提供给/sbin/elvtune更小的延迟时间数值。