首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>其他编程>正文

Linux文件系统ext4 相关知识大全

http://www.oklinux.cn  2008-07-06  linuxidc   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

Ext4 是众多 Linux? 文件系统中的最新版本,它将像以前的版本一样重要和流行。作为 Linux 系统管理员,您应该知道迁移到 ext4 的优缺点和基本步骤。本文将介绍何时应采用 ext4、如何在 ext4 中使用传统的文件系统维护工具以及如何充分利用该文件系统。

Ext4 的功能

Linux 支持几个不同的文件系统。这些文件系统中,一些是专用的网络文件系统或为其他操作系统开发的文件系统,但绝大部分还是用作 Linux 本地文件系统 — 您可以将 Linux 根(/)和系统目录放在这种文件系统里。目前,这一类文件系统包括 ext2、ext3、ReiserFS、XFS 和 Journaled File System (JFS)。但是文件系统一直在不断设计和开发中,新的文件系统也将陆续问世。

目前正在开发的最重要的 Linux 文件系统是 ext4 — 它是专门为 Linux 开发的原始的扩展文件系统(ext 或 extfs)的第四版。由于继承了以前版本,ext4 在不久的将来很可能会成为一个重要的 Linux 标准文件系统(可能是 标准文件系统)。

Ext4 与 ext3 的对比

扩展文件系统(ext 或 extfs)第四版产生的原因是开发人员在 ext3 中并入了新的高级功能。但在实现的过程出现了几个问题:

一些新功能违背向后兼容性。
Ext3 代码变得更加复杂并难以维护。
这些更改使原本十分可靠的 ext3 变得不可靠。
由于这些原因,从 2006 年 6 月份开始,开发人员决定把 ext4 从 ext3 中分离出来进行独立开发。Ext4 的开发工作从那时起开始进行,但大部分 Linux 用户和管理员都不怎么注意这件事情。随着 2.6.19 内核在 2006 年 11 月的发布,ext4 第一次出现在主流内核里,但是它当时还处于试验阶段(现在还是),因此很多人都忽视了它。

由于还处于开发阶段,从 2.6.24.4 内核开始,ext4 的功能列表就一直在变动。 Ext4 的当前和预期功能包括从 ext3 发展而来的功能,见表 1。

表 1. Ext4 的当前功能和未来功能使它超越了 ext3
功能 优势
更大的文件系统 Ext3 最多只能容纳 32 TiB 的文件系统和 2 TiB 的文件,根据使用的具体架构和系统设置,实际容量上限可能比这个数字还要低 — 或许只能容纳 2 TiB 的文件系统和 16 gibibyte(GiB)的文件。相反,Ext4 的文件系统容量达到 1024 pebibyte(PiB), 或 1 exbibyte(EiB),而文件容量则达到 16 TiB。对一般的台式计算机和服务器而言,这可能并不重要,但对大磁盘阵列的用户而言,这就非常重要了。
extent extent 是一种提高磁盘文件描述符效率的方法,它能够减少删除大型文件所需的时间等等。
持久性预分配 如果一个应用程序需要在实际使用磁盘空间之前对它进行分配,大部分文件系统都是通过向未使用的磁盘空间写入 0 来实现分配。而 ext4 允许提前分配,无需进行上述操作,这能提高某些数据库和多媒体工具的性能。
延迟分配 Ext4 能够尽量延迟磁盘空间的分配,这能够提高性能。
更多的子目录 如果 ext3 中一个目录只能包含 32,000 个子目录还不能满足您的需求,那么不必担心,因为 ext4 取消了这一限制。
日志 checksum Ext4 给日志数据添加了检查和(checksum)功能,这能提高可靠性和性能。
在线磁盘整理 虽然 ext3 一般不会受到碎片的影响,但是存储在它里面的文件多少会产生一些碎片。Ext4 支持在线磁盘整理,这能够改善总体性能。
恢复删除文件 虽然这一功能尚未实现,但 ext4 将支持恢复删除文件。当文件被意外删除时,此功能将极为有用。
更快的文件系统检查 Ext4 添加了新的数据结构,允许 fsck 在检查中跳过磁盘中未使用的部分,因此加快了文件系统的检查。
纳秒级时间戳 大部分的文件系统(包括 ext3)都包含有精确到秒的时间戳数据,而 ext4 把精确度提高到了纳秒。一些资料还表明 ext4 的时间戳支持的日期达到 2514 年 4 月 25 日,而 ext3 只达到 2038 年 1 月 18 日。

由于 ext4 目前还处于开发阶段,这个功能表还会有所变动。功能列表的一些功能在实际使用中不具备与 ext3 的向后兼容性 — 即可能无法使用 ext3 文件系统类型的代码挂载 ext4 文件系统。但是 ext4 保留了向前兼容性 — 您可以像挂载 ext4 文件系统一样挂载 ext3 文件系统。

ext4 的使用对象

Ext4 最为显著的改进是文件和文件系统的大小。因此,最可能需要 ext4 的用户是那些磁盘空间大小为几个 TB 的用户。然而表 1 中的功能列表还展示了其他一些吸引人的改进。例如,如果您的目录带有大量子目录,或者要求时间戳的精确度小于一秒,您可能希望尝试使用 ext4。

因为 ext4 目前处于试验阶段,要使用它就必须重新编译内核,否则,使用 ext4 时将会出现麻烦。事实上,ext4 处于试验阶段意味着只有希望为 ext4 的开发做贡献,或者非常渴望它的某些功能,这些情况下才有必要使用它。如果想在稳定的 ext4 发布之前获得可靠的大磁盘支持,可以考虑使用 XFS 或 JFS。

当然,ext4 不可能永远处于试验阶段。它不久将成为一个稳定的文件系统。届时,ext4 将像 ext3 一样成为所有用户的最佳选择,但需要注意几个问题。首先,ext4 还存在一些独有的 bug,因此当首次发行 ext4 稳定版时要多加注意。其次,使用 ext4 可能导致一些老版本的工具无法访问磁盘。这将涉及到紧急恢复工具,因此在确定您使用的工具支持 ext4 之前不要进行更新。好的一面是,应该可以从 ext3 顺利迁移到 ext4,如果需要保存现有数据,这将实现轻松的转移。

共3页: 上一页 1 [2] [3] 下一页

上一篇:Linux厂商合并 Xandros收购Linspire   下一篇:Ubuntu 8.04开发环境设置的一些体会

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Ubuntu 8.04开发环境设置的一些体会
·Linux下对C代码的编译
·Linux2.6与2.4内核驱动程序的区别
·Linux终端不回显
·Linux环境下重新编译GCC-4.3.0
·Linux兼容内核的三个重要源泉详细介绍
·升级Linux内核错误解决
·C语言编写Linux下的守护进程
·避免Linux脚本多次运行
·学习Linux源码及实践
·Linux环境下编译C程序
·关于Linux下PHP编程的几个问题
·Linux环境下将txt格式文本转换成xls表格
·Linux下free命令各字段的含义
·Linux中umask使用学习
·global5.7.1发布了,很好很强大
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux源代码已超过1000万行 价值达5亿
·Linux下安装PCI转串口卡及USB转串口器
·基于3c2410的Linux2.6.22移植
·Java基础:Java初学者必须了解的基础问
·Linux下while循环中数组赋值的方法
·C 异步编程方式
·Linux驱动开发之input子系统
·Linux下paste命令
·Ubuntu Linux下C编译错误解决实例
·Ubuntu下向系统日志写记录
·Linux内核模块编程helloworld小程序问
·Ubuntu下QT的开发环境
  阅读排行
·Linux编程时获取当前时间实例解析
·Linux中断处理学习笔记
·Linux环境下OpenGL编程学习
·Linux下安装g77 fortran complier过程
·Linux添加路径到PATH
·Linux多线程编程学习之线程同步
·Linux内核补丁与补丁的安装
·Linux - 非阻塞socket编程处理EAGAIN错
·Linux下Qtopia Core 4.3(QT/E)交叉编译
·Linux平台下学写批处理
·初识Linux脚本编程(shell)
·新手学堂 Linux的sort命令使用
·Linux环境下重新编译GCC-4.3.0
·在Linux上获得线程id的方法
·解决Linux中Matlab中文乱码问题
网摘收藏: