Ext4文件系统的特性和功能简介

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

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

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

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

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

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

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

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

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

/. “无日志”(No Journaling)模式。 日志总归有一些开销,Ext4
允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。

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

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

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

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

Ext4文件系统的特性和功能简介

时间: 2024-10-10 07:25:02

Ext4文件系统的特性和功能简介的相关文章

Ext4文件系统的特性

与Ext3文件系统兼容:原有的Ext3数据结构仍然照样保留,Ext4作用于新数据,整个系统因此也就获得了Ext4所支持的更大的容量 更大额文件系统和更大的文件:Ext3目前所支持的最大16TB文件系统和最大2TB文件,Ext4分别支持1EB的文件系统,16TB的文件(1EB=1024PB,1PB=1024TB). 无限数量的子目录.Ext3支持32000个子目录,Ext4不限制 Extents:Ext3采用间接块映射,当操作大文件时,效率极其低下.比如一个100M的文件.在Ext3中要建立256

关闭ext4文件系统的日志功能

最近在帮一个研究生弄一个虚拟化环境下的基于Innodb的日志文件的读写优化的实验,实验的具体详细内容就不说了,其中有一个步骤需要将MySQL的日志文件放置在一块单独的硬盘里面,这块硬盘要么是ext2,要么是ext4,ext4的性能据说比前面的ext系列的要高,所以选择了ext4.但是ext4具备有日志的功能,如果开启了这个日志功能的话,到时又会有多个虚拟机同时跑,那么这个ext4的日志功能会对我们的实验数据产生一定的影响,并且我们在实验中并不需要到这个日志功能,所以需要将这个日志功能关闭.具体如

EXT4文件系统禁用日志功能

ext4提供有很多特性,当然有一些是前一代文件系统ext3本身就具有的,比如日志功能,但有时候我们却并不需要这些特性,则我们可以禁用它们.ext4文件系统的日志功能就是在牺牲一定性能的情况下增强稳定性的一种手段,但在一些情况,比如Web Server上存在的大量小文件所在的文件系统就是一个典型示例,此时可以禁用ext4的日志功能. 关闭EXT4日志功能: [[email protected] ext4]# tune2fs -O ^has_journal /dev/sdd1 tune2fs 1.4

atitit.ntfs ext 文件系统新特性对比

atitit.ntfs ext 文件系统新特性对比 1. 现代文件系统应该有的特性2 1.1. 恢复Log2 1.2. 压缩2 1.3. Meta ext2 1.4. Fulltext?search  全文2 1.5. Copy 校验2 1.6. 稀疏文件,这是UNIX类和NTFS等文件系统的一个特性.2 2. Ext2 特性3 2.1. EXT2第二代扩展文件系统(英语:second extended filesystem,缩写为 ext2)3 3. Ext3 特性4 3.1. · 日志4 3

1-14 文件系统的特性与磁盘加密技术

本节所讲内容: 1-1 硬盘,文件系统的结构组成 硬盘结构详解 文件系统结构的组成 实战-怎样创建硬链接和软链接 1-2 真正的了解xfs与ext文件系统的特性与区别 xfs和ext 文件系统的区别 实战-磁盘的加密技术. ============================================ 1-1 硬盘,文件系统的结构组成 MBR(主引导记录(Master Boot Record)) 位于硬盘第一个物理扇区柱面0,磁头0,扇区1处 硬盘结构详解 硬盘主要包括:盘片.磁头.盘

Ext4文件系统架构分析(一)

本文描述Ext4文件系统磁盘布局和元数据的一些分析,同样适用于Ext3和Ext2文件系统,除了它们不支持的Ext4的特性外.整个分析分两篇博文,分别概述布局和详细介绍各个布局的数据结构及组织寻址方式等.感兴趣的看官敬请留意和指导! 1. Ext4文件系统布局综述 一个Ext4文件系统被分成一系列块组.为减少磁盘碎片产生的性能瓶颈,块分配器尽量保持每个文件的数据块都在同一个块组中,从而减少寻道时间.以4KB的数据块为例,一个块组可以包含32768个数据块,也就是128MB. 1.1 磁盘布局 Ex

Ext4文件系统架构分析(二)

接着上一篇博文,继续分析Ext4磁盘布局中的元数据. 1.7 超级块 超级块记录整个文件系统的大量信息,如数据块个数.inode个数.支持的特性.管理信息,等待. 如果设置sparse_super特性标志,超级块和块组描述符表的冗余备份仅存放在编号为0或3.5.7的幂次方的块组中.如果未设置sparse_super特性标志,冗余备份存在与所有的块组中.以下是2.6.32.18内核中对Ext4超级块的描述: 3.0的内核中,Ext4的超级块加入了以下相关元数据:快照.文件系统错误处理相关.挂载选项

DYN-B201 Dynamics CRM 云生产力解决方案与功能简介

DYN-B201 Dynamics CRM 云生产力解决方案与功能简介 讲师:王健.林松涛Dynamics CRM 云产品正式落地中国,CRM 与 Azure.O365 深度整合无缝集成,带来无与伦比的生产力,重塑企业业务流程,见证企业的崛起!本次课程将为大家带来最新的 Dynamics CRM 云产品,介绍最新版本的 CRM 新增加的一些重点和亮点特性,包括计算字段,统计字段,实时工作流,业务规则引擎等等.以及进行一些应用场景的 demo 演示,展示如何通过 CRM 解决方案提升企业协同工作效

ext4文件系统的delalloc选项造成单次写延迟增加的分析

最近我们的服务进程遇到kill -15后处于Z的状态,变为了僵尸进程,经过/proc/{thread_id}/stack查看其上线程的栈,发现是卡在了fwrite的过程中,而我们的系统中所有文件系统挂载参数都使用了delalloc参数,怀疑是这个原因:ext4挂载的时候打开了delalloc选项,然后系统在没有分配磁盘块的情况下写写写,到page cache被回写到磁盘时,发现磁盘已经满了,没办法分配新的磁盘块了,就Hang住了. 这篇文章是淘宝内核组的刘峥同学在内部技术论坛上发表的一篇文章,但