`

Ext4,Ext3的特点和区别

阅读更多

            今天,有个后辈问我Ext4的优点,一下子不知道该怎么说,以前只知道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" 命令禁用该特性。)


Ext4 随 Linux kernel 2.6.28 正式发布已有数周,一直苦于找不到测试用的磁盘,正巧年前 Intel 送来几块 SSD 测试样品,这两天就顺带把 SSD 也测了。测试所使用的 Linux 内核版本为 2.6.28.2,测试工具为 IOzone 3.318。

IOzone 测试命令为:

time /opt/iozone/bin/iozone -a -s 4G -q 256 -y 4 >|/root/ext4-iozone-stdout.txt


上述命令的说明如下:

Auto Mode
File size set to 4194304 KB
Using Maximum Record Size 256 KB
Using Minimum Record Size 4 KB
Command line used: /opt/iozone/bin/iozone -a -s 4G -q 256 -y 4
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.


测试结果除了表明 Intel SSD 的读写速度快得令人咋舌之外,还可以说明 Ext4 的各方面性能都超过了上一代 Ext3,甚至在大多数情况下,比没有日志功能的 Ext2 还要快出不少:

<!-- TABLE,THEAD,TBODY,TFOOT,TR,TH,TD { font-family:"Arial"; font-size:x-small } -->

reclen write rewrite read reread random read random write bkwd read record rewrite stride read fwrite frewrite fread freread
Ext2

real 28m12.718s
user 0m10.725s
sys 5m8.265s
4 218,680 216,596 630,248 245,802 88,700 138,065 106,112 1,882,623 73,538 214,175 218,364 566,570 247,381
8 215,308 218,690 556,064 246,260 154,680 150,052 188,397 2,462,367 130,896 217,157 216,647 583,808 248,397
16 216,457 216,843 575,046 245,701 258,660 158,750 306,842 2,654,320 220,939 216,061 218,140 598,174 246,581
32 217,925 214,289 537,976 243,081 394,013 167,002 464,240 2,397,831 340,775 217,434 219,353 583,463 246,341
64 215,460 219,256 527,919 244,362 503,227 162,917 609,546 2,546,079 456,243 216,875 217,692 571,707 244,264
128 219,081 216,173 540,831 242,526 609,750 161,442 721,701 2,656,729 551,122 217,780 217,427 579,271 242,291
256 216,091 217,631 565,111 245,157 654,274 173,955 870,547 2,574,261 634,835 216,638 219,693 563,735 247,101
Ext3

real 27m42.449s
user 0m11.529s
sys 7m17.049s
4 218,242 213,039 482,132 243,986 88,007 156,926 105,557 1,540,739 75,010 216,028 216,432 522,704 243,385
8 218,390 217,915 544,892 244,979 152,424 190,454 181,486 1,945,603 130,737 218,364 216,431 530,853 243,222
16 218,083 217,683 561,038 244,506 255,244 200,032 300,212 2,096,495 221,329 216,930 216,661 514,177 244,069
32 216,258 217,013 569,246 243,811 389,745 198,275 446,462 1,934,853 338,785 216,809 219,296 530,634 243,446
64 218,850 217,711 577,529 243,725 497,689 201,693 589,535 2,036,412 450,449 219,387 214,900 514,353 244,809
128 220,234 215,687 530,519 241,615 608,244 199,619 714,295 1,992,168 553,022 217,828 218,454 513,596 241,510
256 216,011 220,188 592,578 242,548 642,341 199,408 834,240 2,092,959 624,043 217,682 218,165 529,358 242,878
Ext4

real 27m3.485s
user 0m10.847s
sys 6m9.578s
4 221,823 216,992 532,488 273,668 85,210 183,195 103,036 1,862,817 74,781 225,841 220,620 523,799 272,848
8 226,028 218,580 561,960 272,036 154,972 216,505 178,482 2,135,372 132,506 227,423 215,766 641,021 271,328
16 222,241 217,746 547,548 270,895 260,899 223,895 295,288 2,095,966 223,135 226,055 216,210 621,287 273,475
32 220,121 213,025 240,426 247,628 345,210 175,977 451,631 2,145,351 342,236 225,796 213,427 598,331 269,759
64 223,983 214,437 308,696 551,577 754,941 225,897 523,130 2,218,016 448,086 227,030 214,706 582,795 272,323
128 222,576 217,816 624,636 271,293 644,500 224,997 720,468 2,308,315 582,943 225,971 217,373 552,335 274,237
256 221,202 222,238 541,685 270,898 671,748 228,085 845,494 2,215,381 643,715 225,411 219,166 580,066 273,342










分享到:
评论
1 楼 来世炸了幻想乡 2015-01-13  
[flash=200,200][url][img][list]
[*]
引用
[u][i] :( :o :lol: :lol: :cry: [/i][/u]
[/list][/i
    [*]sssss[list][*][list][*][*][list][*][*][*][list][*][*][*][*][list][*][*][*][*][*][list][*][*][*][*][*][*][list][*][*][*][*][*][*][*][list][*][*][*][*][*][*][*][*][list][*][*][*][*][*][*][*][*][*][list][*][*][*][*][*][*][*][*][*][*][list][*][*][*][*][*][*][*][*][*][*][*][list][*][*][*][*][*][*][*][*][*][*][*][*][list][*][*][*][*][*][*][*][*][*][*][*][*][*][list][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*][*]
[*][*][*][*][*][*][*][*][*][*][*][*][/list][*][*][*][*][*][*][*][*][*][*][*][/list][*][*][*][*][*][*][*][*][*][*][/list][*][*][*][*][*][*][*][*][*][/list][*][*][*][*][*][*][*][*][/list][*][*][*][*][*][*][*][/list][*][*][*][*][*][*][/list][*][*][*][*][*][/list][*][*][*][*][/list][*][*][*][/list][*][*][/list][*][/list][/list][/list]mg][/url][/flash]

相关推荐

    Ext4,Ext3的特点和区别

    Ext4,Ext3的特点和区别

    Windows读取Ext4分区的工具 Ext2Read

    EXT4是目前Linux发行版广泛采用的文件系统,其特点是速度快、支持大文件和大量文件。 2. **查看与复制**: 用户可以像在Windows资源管理器中一样,浏览EXT分区中的文件和目录结构,预览文件内容(对于文本文件),并...

    make_ext4fs.zip

    在Linux系统中,EXT4文件系统因其高效、稳定和广泛支持的特点,被广泛应用。在开发和维护过程中,有时我们需要手动创建EXT4文件系统,这时就需要用到`make_ext4fs`这个工具。本文将深入探讨`make_ext4fs`及其相关...

    ext4magic源代码

    3. **ext4文件系统**:ext4是Linux系统最常用的文件系统之一,其特点是高性能、大文件支持以及良好的日志记录能力。由于其广泛的应用,`ext4magic`的出现对许多Linux用户来说是一大福音。 **标签:“数据恢复”** ...

    找回Linux误删丢失文件支持Ext2/Ext3/Ext4格式文件

    在Linux系统中,数据安全是至关重要的,尤其是对于那些使用Ext2、Ext3或Ext4文件系统的用户。这些文件系统广泛应用于各种Linux发行版中,它们各有特点,但都有可能出现数据丢失的情况,如误删除文件。本文将详细介绍...

    WINDOWS下查看EXT4文件系统

    1. **EXT4的特点**:EXT4是EXT3的升级版,提供了更大的文件系统大小支持(最大可达到16TB),单个文件大小可达16TB。它优化了inode分配,减少了碎片,并引入了更快的文件系统挂载和检查机制。 2. **日志文件系统**...

    ext4分区,完全格式化

    1. **大文件支持**:EXT4支持最大16TB的文件和1EB(1024PB)的文件系统大小,远超EXT3的限制,这对于大数据和云计算环境尤为重要。 2. **元数据快照**:EXT4引入了元数据快照功能,允许在不暂停服务的情况下创建...

    ext3 中文api

    1. **概述**:介绍EXT3文件系统的基本概念、设计目标和主要特点。 2. **系统调用**:详述每个与EXT3交互的系统调用,包括其参数、返回值和使用示例。 3. **库函数**:提供EXT3相关的C语言库函数,如`ext3fs_open()`...

    Linux最新文件格式ext4

    #### Ext4 的特点与优势 - **设计原则**:Ext4 设计的目标是在提高性能的同时保持与 Ext3 的兼容性。相比 Ext3,Ext4 减少了元数据的更新频率,减少了磁盘 I/O 操作;引入了延迟分配技术,优化了空间分配策略;支持...

    ext4文件系统数据恢复方法研究

    1. EXT4文件系统的特点与优势: - EXT4文件系统作为EXT3的后继者,提供48位硬盘块号,可管理的硬盘最大容量达1EB,有效解决了EXT3在大容量硬盘管理上的不足。 - 引入扩展extent树的数据管理方式,提高了文件存取...

    最新ext3.0资源包 ext3.0

    此外,随着固态硬盘(SSD)的普及,EXT3的写入优化不如专为SSD设计的文件系统如EXT4和XFS。 EXT3.0 alpha 版本可能是指EXT3的一个早期开发版本,通常alpha版本是软件开发过程中的第一个公开测试版本,可能存在较多...

    ext3.4 ext3.1.0以及ext3.0API

    4. **大文件支持**:EXT3支持最大16TB的文件系统和2TB的单个文件,满足了大容量存储需求。 5. **灵活的块组配置**:EXT3的块组可以配置不同的大小和数量,以适应不同大小的磁盘和不同的性能需求。 EXT3.4与EXT...

    ext4 年月时间控件 年月日时间控件 年月日时分秒时间控件

    EXT4的时间控件基于jQuery UI,提供了丰富的样式和功能,可以轻松地与后台数据进行交互。 2. **年月选择器**:这种控件允许用户仅选择年份和月份,通常适用于只需要知道大致日期的情况,例如统计数据的筛选或者周期...

    EXT3.3学习文档

    EXT3文件系统的特点包括: 1. **日志式文件系统**:EXT3引入了日志记录机制,可以在系统崩溃或非正常关机后快速恢复文件系统的状态,提高了数据的安全性和系统的可靠性。 2. **高性能**:EXT3设计时考虑了性能,尤其...

    ext2.0和4.0官方文档

    EXT4是在EXT3的基础上发展起来的,目的是提高性能和增加新特性。EXT4的最大分区大小可达16EB(exabytes),单个文件大小上限为16TB。它引入了许多改进,例如: 1. **预分配(Preallocation)**:EXT4允许在写入文件前...

    Linux系统环境Ext3文件系统的使用介绍

    4. 数据转换:从Ext2转换到Ext3非常简便,只需使用tune2fs工具,无需备份和恢复数据,可以直接将Ext2转换为Ext3。同时,Ext3文件系统可以无缝加载为Ext2文件系统,提供了很好的兼容性。 5. 多种日志模式:Ext3支持...

    深入理解linux内核(中文第三版) 第18章+Ext2和Ext3文件系统

    Ext2的另一个特点是将磁盘块组织成块组,每个块组包含相邻的数据块和索引节点,这一设计使得系统能够更快地访问存放在单个块组中的文件,减少了磁盘寻道时间。在创建Ext2文件系统时,系统会预先为普通文件分配磁盘块...

    ext 包+教程

    4. **权限管理**:EXT3遵循Unix的权限模型,包括读、写和执行权限,以及用户、组和其他用户的权限设置。 二、EXT3的安装与挂载 在Linux中,安装EXT3文件系统通常是在创建新分区时进行。通过`fdisk`命令创建分区,...

    linux_ext2,3文件系统详解

    随着技术的发展,EXT4和更现代的文件系统如XFS、Btrfs等已逐渐取代EXT2和EXT3,提供了更高的性能和更多高级特性,如在线调整文件系统大小、文件系统加密等。不过,理解EXT2和EXT3的基础知识对于Linux系统管理员来说...

    ext4文件系统的目录索引节点预留

    Ext4(Fourth Extended File System)是一种高性能的日志文件系统,它继承了Ext3的特点,并在此基础上进行了多项改进,包括但不限于更大的文件系统容量、更快的性能和更高的可靠性。Ext4文件系统能够支持更大的文件...

Global site tag (gtag.js) - Google Analytics