linux ext3有哪些特点

56次阅读
没有评论

共计 4229 个字符,预计需要花费 11 分钟才能阅读完成。

本篇内容介绍了“linux ext3 有哪些特点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在 linux 中,ext3 全称“Third extended filesystem”,中文意思为“第三代扩展文件系统”,是一个日志文件系统;它最大支持的容量为 32TB,单个文件最大限制为 16TB,支持 32000 个子目录。ext3 文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。

本教程操作环境:linux7.3 系统、Dell G3 电脑。

linux ext3 文件

EXT3 是第三代扩展文件系统(英语:Third extended filesystem,缩写为 ext3),是一个日志文件系统,常用于 Linux 操作系统。单个文件最大限制 16TB,该文件系统最大支持 32TB 的容量。

它是很多 Linux 发行版的默认文件系统。Stephen Tweedie 在 1999 年 2 月的内核邮件列表中,最早显示了他使用扩展的 ext2,该文件系统从 2.4.15 版本的内核开始,合并到内核主线中。

EXT3 日志文件系统的特点

1、高可用性

系统使用了 ext3 文件系统后,即使在非正常关机后,系统也不需要检查文件系统。宕机发生后,恢复 ext3 文件系统的时间只要数十秒钟。

2、数据的完整性

ext3 文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。在保证数据完整性方面,ext3 文件系统有 2 种模式可供选择。其中之一就是“同时保持文件系统及数据的一致性”模式。采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。

3、文件系统的速度

尽管使用 ext3 文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,ext3 比 ext2 的性能还要好一些。这是因为 ext3 的日志功能对磁盘的驱动器读写头进行了优化。所以,文件系统的读写性能较之 Ext2 文件系统并来说,性能并没有降低。

4、数据转换

由 ext2 文件系统转换成 ext3 文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。用一个 ext3 文件系统提供的小工具 tune2fs,它可以将 ext2 文件系统轻松转换为 ext3 日志文件系统。另外,ext3 文件系统可以不经任何更改,而直接加载成为 ext2 文件系统。

5、多种日志模式

Ext3 有多种日志模式,一种工作模式是对所有的文件数据及 metadata(定义文件系统中数据的数据, 即数据的数据)进行日志记录(data=journal 模式);另一种工作模式则是只对 metadata 记录日志,而不对数据进行日志记录,也即所谓 data=ordered 或 data=writeback 模式。系统管理人员可以根据系统的实际工作要求,在系统的工作速度与文件数据的一致性之间作出选择。

为什么你需要从 ext2 迁移到 ext3(EXT3 的优点)

主要有四个原因:可用性、数据完整性、速度、易于迁移。

1、可用性

在非正常当机后(停电、系统崩溃),只有在通过 e2fsck 进行一致性校验后,ext2 文件系统才能被装载使用。运行 e2fsck 的时间主要取决于 ext2 文件系统的大小。校验稍大一些的文件系统(几十 GB)需要很长时间。如果文件系统上的文件数量多,校验的时间则更长。校验几百个 GB 的文件系统可能需要一个小时或更长。这极大地限制了可用性。相比之下,除非发生硬件故障,即使非正常关机,ext3 也不需要文件系统校验。这是因为数据是以文件系统始终保持一致方式写入磁盘的。在非正常关机后,恢复 ext3 文件系统的时间不依赖于文件系统的大小或文件数量,而依赖于维护一致性所需“日志”的大小。使用缺省日志设置,恢复时间仅需一秒(依赖于硬件速度)。

2、数据完整性

使用 ext3 文件系统,在非正常关机时,数据完整性能得到可靠的保障。你可以选择数据保护的类型和级别。你可以选择保证文件系统一致,但是允许文件系统上的数据在非正常关机时受损;这是可以在某些状况下提高一些速度(但非所有状况)。你也可以选择保持数据的可靠性与文件系统一致;这意味着在当机后,你不会在新近写入的文件中看到任何数据垃圾。这个保持数据的可靠性与文件系统一致的安全的选择是缺省设置。

3、速度

尽管 ext3 写入数据的次数多于 ext2,但是 ext3 常常快于 ext2(高数据流)。这是因为 ext3 的日志功能优化硬盘磁头的转动。你可以从 3 种日志模式中选择 1 种来优化速度,有选择地牺牲一些数据完整性。

4、易于迁移

你可以不重新格式化硬盘,并且很方便的从 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 来确认这一点。)

扩展知识:EXT3 与 EXT4 的主要区别

Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:

1. 与 Ext3 兼容

执行若干条命令,就能从 Ext3 在线迁移到 Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4 作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。

2. 更大的文件系统和更大的文件

较之 Ext3 目前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系统,以及 16TB 的文件。

3. 无限数量的子目录

Ext3 目前只支持 32,000 个子目录,而 Ext4 支持无限数量的子目录。

4.Extents

Ext3 采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在 Ext3 中要建立 25,600 个数据块(每个数据块大小为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent 为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的 25,600 个数据块中”,提高了不少效率。

5. 多块分配

当写入数据到 Ext3 文件系统中时,Ext3 的数据块分配器每次只能分配一个 4KB 的块,写一个 100MB 文件就要调用 25,600 次数据块分配器,而 Ext4 的多块分配器“multiblock allocator”(mballoc)支持一次调用分配多个数据块。

6. 延迟分配

Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。

7. 快速 fsck

以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。

8. 日志校验

日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4 的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。

9.“无日志”(No Journaling)模式

日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。

10. 在线碎片整理

尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。

11.inode 相关特性

Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展属性(如纳秒时间戳或 inode 版本),默认 inode 大小为 256 字节。Ext4 还支持快速扩展属性(fast extended attributes)和 inode 保留(inodes reservation)。

12. 持久预分配(Persistent preallocation)

P2P 软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。Ext4 在文件系统层面实现了持久预分配并提供相应的 API(libc 中的 posix_fallocate()),比应用软件自己实现更有效率。

13. 默认启用 barrier

磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit 记录,若 commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当 barrier 之前的数据全部写入磁盘,才能写 barrier 之后的数据。(可通过“mount -o barrier=0″命令禁用该特性。)

“linux ext3 有哪些特点”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-29发表,共计4229字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)