linux ext4 安装包,Ext4

news/2024/7/23 10:41:59 标签: linux ext4 安装包

出自Linux Wiki

提示:此文已超过 7 年(2579 天)未更新,如发现内容过时或有误,欢迎改进:)

Ext4的名称来源于4th extended filesystem,它是广泛应用于Linux的Ext3文件系统的后继。同Ext3类似,Ext4也是日志文件系统。Ext2中不同,Ext4对Ext3做了很多深层次的改进,文件系统的数据结构也有变化。目前的Ext4文件系统设计更合理、性能有所提高、可靠性得到增强,还引入了一些新功能。

在Windows也可访问Ext4文件系统,见从Windows访问ext文件系统。

新特性

做为新一代文件系统,Ext4文件系统具有很多新特性:

新功能

大文件系统与大文件支持Ext4文件系统最大支持1 exabyte(10006B=10003GB)在线碎片整理(Online defragmentation)(开发中)尽管ext4引入了很多避免碎片产生的技术,一个用了很长时间的文件系统总归要产生一些碎片。Ext4将提供一个可以为单个文件及整个文件系统进行碎片整理的工具。虽然目前已经有不少在线整理磁盘的解决方法,但主流内核还未加入对他们的支持。打破子文件夹数限制ext3中一个文件夹的子文件夹数不能超过32000,在ext4中,这一限制被取消。时间戳的改进由于计算机总是越来越快,不过任务对时间精度的要求不断提升,精确到“秒”的时间戳越来越显得不够用了。为此,Ext4引入了精确到“纳秒”的时间戳。另外,ext4还在将秒的表示增加了2个比特,这就避免了“2038年问题”,使时间的表示范围增加了约500年。ext4还引了对文件创建时间戳的支持。不过正如Theodore Ts'o所指出的,要使更多的程序支持这一特性,可能还需要修改诸如stat()之类的系统调用函数,而如glibc等依赖于它们的库也需要做相应的更新。正因如此,“文件创建时间戳”走入用户应用程序可能还需要一段时间。

无日志模式有些特殊应用可能希望通过取消日志来提高性能,Ext4提供无日志模式以适应这些特殊需求(从2.6.29内核开始支持)。

性能提升

更快速的文件系统检查fsck检查磁盘速度慢的一个重要原因是它在第一步要扫描所有的inode。ext4对未分配的inode做了适当标记,这让fsck检查磁盘时可以将它们整块地忽略掉,大大加快了磁盘检查的时间。

ExtentsExt2/3等老Linux文件系统使用间接块映射模式(block mapping),文件的每一个块都要被记录下来,这使得对大文件的操作(如删除)效率低下。Ext4引入Extents这一概念来代替ext2/3使用的传统的块映射(block mapping)方式。“extent”是一个大的连续的物理块区域,它的引入加快了处理大文件的性能、减少了碎片。当块大小为4KB时,ext4中的一个extent最大可以映射128MB的连续物理存储空间。持续预分配空间(Persistent pre-allocation)ext4文件系统允许为文件预分配磁盘空间。目前多数文件系统实现这一功能的方法是在要分配的空间中添满0。 在ext4中不再采用这一方法,而是用一个新的fallocate()内核系统调用来实现(支持ext4和XFS),且其分配的空间很可能是连续的。这一技术在流媒体、P2P等多种场合中都有广泛应用。延时分配(Delayed allocation)该技术也称为allocate-on-flush,可以提升文件系统的性能。只有数据将要被真正写入磁盘时,文件系统才为其分配块,这与其它文件系统在早期就分配好必要的块是不同的。另外,由于ext4的这种做法可以根据真实的文件大小做块分配决策,它还减少了碎片的产生。多块分配(Multiblock allocator)Ext3文件系统为每次写操作最多分配一个4K块(block),在处理大文件时会导致性能的下降。Ext4在一次操作中可以分配多个块,并尽力让这些块连续,这有助于减少磁盘碎片。当启用了延时分配或使用O_DIRECT时这一功能即被启用。

可靠性增强

日志校验日志通常用于在硬件故障发生后恢复数据,它是日志文件系统中最重要的部分之一,按照损坏的日志执行恢复操作可能导致严重的后果。所以Ext4为日志增加了校验和以提升可靠性。这一特性还可以安全地避免写日志进程的磁盘I/O等待时间,并略微提高了性能。

兼容性

前向兼容ext4文件系统与ext3部分向前兼容。即只要不启用extents(ext4的一项新特性),ext4文件系统就可以做为ext3文件系统挂载。后向兼容ext4后向兼容与ext3和ext2,即可以将ext3或ext2文件系统做为ext4分区挂载。由于此时可以使用ext4的一些新特性(如新的块分配算法),这样做时还可以稍稍提升性能。

评价

测试数据

有关ext4文件系统的测试结果,可以参考Phoronix上的文章,或者可以看LinuxToy上的翻译。

已知问题

虽然ext4已经正式进入2.6.28版内核,但近来出现了ext4丢失数据的报道

使用ext4

相关资料

详情

开发者Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp, Theodore Ts'o, Eric Sandeen, Sam Naghshineh, others

全称Fourth extended file system

发布稳定版: 2008年10月21日

不稳定版: 2006年10月10日 (Linux 2.6.28, 2.6.19)

分区标识0x83 (MBR)

EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)

结构

目录内容链表, hashed B-tree

文件分配Extents/Bitmap

坏块表格

限制

最大文件尺寸16 TiB (for 4k block filesystem)

最大文件数量40亿 (在文件系统创建时指定)

最长文件名256字节

最大卷容量1 EiB

文件名字符集除 NULL ('\0') 和 '/' 外之所有字符

功能

日期记录修改(mtime), 属性修改 (ctime), 读取 (atime), 删除 (dtime), 创建 (crtime)

日期范围1901年12月14日 - 2514年4月25日

日期分辨率纳秒

岔流否

属性extents, noextents, mballoc, nomballoc, delalloc, nodelalloc, data=journal, data=ordered, data=writeback, commit=nrsec, orlov, oldalloc, user_xattr, nouser_xattr, acl, noacl, bsddf, minixdf, bh, nobh, journal_dev

文件系统权限POSIX

透明压缩否<

透明加密否

单一实例存储(SIS)否

操作系统支持Linux、Windows(通过Ext2Fsd)

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。


http://www.niftyadmin.cn/n/1749386.html

相关文章

芜湖,Tailscale 开源版本让你的 WireGuard 直接起飞~

原文链接&#x1f517; https://fuckcloudnative.io/posts/how-to-set-up-or-migrate-headscale/目前国家工信部在大力推动三大运营商发展 IPv6&#xff0c;对家用宽带而言&#xff0c;可以使用的 IPv4 公网 IP 会越来越少。有部分地区即使拿到了公网 IPv4 地址&#xff0c;也是…

使用 Emmet 提高编写 CSS 的效率

2019独角兽企业重金招聘Python工程师标准>>> 首先&#xff0c;Sublime Text 2 已经提供了比较强大的 CSS 样式所写方法来提高 CSS 编写效率。例如编写 position: absolute; 这一个属性&#xff0c;我们只需要输入 posa 这四个字母即可。它会弹出缩写样式的提示&…

linux监听火狐浏览器关闭,禁止Firefox终端消息Python/Linux

我是Python编程新手&#xff0c;正在尝试使用Python的webbrowser模块编写一个脚本&#xff0c;用web浏览器打开url/IP地址。在打开web浏览器的实际操作运行良好&#xff0c;但我收到了来自firefox的日志消息&#xff0c;这些消息来自于运行脚本的终端窗口。虽然它最终不会阻止脚…

五线谱基础知识

http://www.tan8.com/thread-705-1-1.html http://www.tan8.com/thread-7604-1-1.html

火山引擎多场景下的云原生技术实践

活动介绍从得到 4 小时跨年演讲直播、京东虎年 691 亿次春晚红包互动&#xff0c;到人气冰雪话题互动&#xff0c;2022 年开年的全民活动背后都有火山引擎全力以赴的技术力量支撑。作为字节跳动旗下的企业级技术服务平台&#xff0c;火山引擎于去年 12 月正式发布全系云产品&…

我要造轮子之基于JDK的AOP实现

1 前言 Aspect Oriented Programing&#xff0c;面向切面编程。 利用AOP可以对业务逻辑的各个部分进行隔离&#xff0c;从而使得业务逻辑各部分之间的耦合度降低&#xff0c;提高程序的可重用性&#xff0c;同时提高了开发的效率。 AOP主要用于日志记录&#xff0c;性能统计&am…

怎么查usb id linux,利用这个 USB ID 仓库识别更多 Linux 上的设备

这是一个包含了所有已知 USB 设备 ID 的开源项目。• 来源&#xff1a;linux.cn • 作者&#xff1a;Alan Formy-duval • 译者&#xff1a;geekpi •(本文字数&#xff1a;6115&#xff0c;阅读时长大约&#xff1a;7 分钟)市场上有成千上万的 USB 设备&#xff1a;键盘、扫描…

linux如何进入grub2,使用grub2引导进入Linux或Window系统

很多人在一通烂搞之后把自己的grub搞崩了(比如我当时手贱删除了boot分区)虽然后来又装了grub&#xff0c;但是进入grub后还是没有引导&#xff0c;只有一个孤零零的命令行界面这时候应该怎么办呢&#xff1f;首先当然是想进入系统对grub进行配置&#xff0c;但是怎么进入呢&…