Linux ext4文件系统:性能和兼容性

系统 Linux
2008年以来,主要的Linux版本都支持ext4文件系统。ext4支持很大的文件,也可以支持容量极大的文件卷,而且,ext4还支持就地升级,只需运行一些命令(tune2fs 和e2fsck)就可以将现有的 ext2 或ext3升级为ext4。

大多数主流Linux版本都配置了对完整 ext4 文件系统的支持功能。所以有必要探讨一下 ext4文件系统在升级和企业决策实施方面带来的影响。

2008年以来,主要的Linux版本都支持ext4文件系统。ext4支持很大的文件(可以达到16TB),也可以支持容量极大的文件卷(支持大小为1,048,576 TB的文件系统)。 而且,ext4还支持就地升级,只需运行一些命令(tune2fs 和e2fsck)就可以将现有的 ext2 或ext3升级为ext4。就地升级功能不需要将大容量文件卷进行备份就可以完成升级,不过,将文件备份始终是稳妥的做法。

使用ext4可兼容引导程序

每次启动电脑时,都要有一个启动过程,首先是 BIOS(基本输入输出系统),还有硬盘上的启动磁区。对于Linux来说,下一步操作是LILO(LInux载入程序)或GRUB。当前的大多数Linux版本都使用了GRUB程序。GRUB2具有支持ext4启动分区的功能。这项功能有一定的好处,可以避免在一个启动分区上同时运行两个不同的文件系统。经过标准化处理后,只运行一个文件系统,可以使工作简化,也不用将硬盘分为多个启动分区。另外,多个启动分区共用一个磁盘转轴会降低系统的性能。

Fedora的最新版本利用升级后的GRUB,可以直接支持ext4上的启动分区功能。 Ubuntu 9.10也支持ext4的启动分区功能,不过需要用户在就地升级后运行grub-install命令(详见Ubuntu 9.10发行公告)。用户如果没有运行grub-install命令,会发现系统处于不稳定状态。

ext4的性能

安装使用了ext4的系统,在某些情形下,使用标准检查程序进行检测时,会出现性能降低的情况(例如PostgreSQL和Linux 2.6.31之后的内核版本)。这是由以下原因产生:为了进一步提高整个文件系统的可靠性,核心层上进行了额外的工作。理解特定的标准检测程序使用什么样的测试来评估性能,以及关注那些与自己的特殊要求相关的结果,都是很重要的。文件的数量、文件的大小和应用(比如,大型的数据库和为网页服务相适应)在密闭环境下进行的测验与实际环境中相比相差甚大。

了解ext4的一些新性能有利于做出合理的升级决定。核对总和日记是ext4的一项新功能,在执行写入过程时,该功能可以确保磁盘区域的完整性。这也让检验日志块是否犯错误成为可能(这些错误会破坏文件提交进程)。此外,该过程是一个单向事件,可以将文件系统性能提高20%。如果用户对增强的可靠性和性能都不感兴趣的话,可以将写入功能关闭。Barriers是另一项关闭后可以提高性能的可靠性功能,但是如果磁盘不能处理该部分数据的话,用户会有潜在的资料损坏风险。

与较早版本的文件系统相比,ext4在运行fsck(文件系统检查)时显得格外优越。在ext3和更早版本的文件系统中,fsck 需要穿越许多索引节点来确定文件系统是不是完好的。利用 ext4,可以越过已知为空的索引节点。可以观察到,在一些为Linux系统设计的ext4标准检查程序中,系统性能提高了100% 以上。

文件系统决策

是否要将现有的Linux版本升级为ext4,要视具体情况而定。如果要支持大的文件 (> 2TB),文件系统(> 16 TB)或一定数目的子目录(ext3限制为32000),那么用户肯定要升级了。而且,新的安装程序或许在使用ext4的情况下才有意义。现有的生产系统不存在容量超限情况的,可以选择延缓升级。

想要了解关于ext4的更多信息,可以阅读 IBM开发工作上的一篇关于扩展 (ext)文件系统的综述文章。那篇文章还对Linux文件系统的历史做了简要介绍。对ext4提供的强大功能,用户要确信自己已经做到全部了解。

【编辑推荐】

  1. 分布式文件系统试用比较
  2. Linux文件系统保护最佳实践:Tripwire
  3. 专题:下一代Linux文件系统
责任编辑:yangsai 来源: TechTarget中国
相关推荐

2012-05-21 09:48:58

Ext4

2012-05-21 10:42:02

Ext4

2017-11-23 09:30:01

Linux文件系统sudo命令

2010-12-28 09:51:06

ext4文件系统

2018-09-12 15:48:35

ext4Linux文件系统

2010-06-01 09:55:24

ext4文件系统

2012-05-08 10:56:15

Linux

2011-06-27 10:17:15

EXT4 Btrfs

2009-08-04 08:28:10

2009-10-27 12:47:29

linux Ext3文

2012-09-20 09:32:23

Ubuntu 12.1文件系统Ubuntu

2017-07-12 12:29:54

2009-11-30 09:46:45

Ubuntu文件系统选择

2012-09-20 09:24:41

Ubuntu 12.1文件系统

2009-07-07 15:58:13

2009-08-12 17:42:24

Linux文件系统BTRFSext4

2018-11-21 10:35:44

DropboxLinux同步支持

2022-09-15 08:06:02

FTL闪存存储

2011-01-06 09:57:31

Linux Kerne

2009-03-24 14:29:04

LinuxExt4数据丢失
点赞
收藏

51CTO技术栈公众号