开发者社区> 华章计算机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #17 如何使用ext4

简介: 本节书摘来自华章出版社《Linux内核精髓:精通Linux内核必会的75个绝技》一书中的第3章,第3.1节,作者 竹部 晶雄、平松 雅巳,更多章节内容可以访问云栖社区“华章计算机”公众号查看
+关注继续查看

HACK #17 如何使用ext4

本节介绍ext4的编写和挂载方法、开发版ext4的使用方法。
ext4是ext3的后续文件系统,从Linux 2.6.19开始使用。现在主要的发布版中多数都是采用ext4作为标准文件系统。
除了间接参照块管理以外,ext4还以扩展形式支持块的管理,使其能够处理更大的文件、文件系统。另外,还增加了确保多块(multiblock)注1、确保延迟块、提高fsck速度、碎片整理等新的功能。在ext3中,时间戳(time stamp)的单位为毫秒,而ext4中变成了纳秒,可管理的时间日期上限也从2038年为止扩展到2514年为止。时间戳的种类也在以往的mtime、atime、ctime基础上增加了保存文件生成时间的crtime注2。
表3-1所示为ext3和ext4主要功能的差异。
表3-1 ext3和ext4的性能、功能比较
image
image

ext4的生成与挂载
下面介绍ext4的生成方法。生成文件系统时可以使用e2fsprogs中的mke2fs命令。mke2fs有很多种选项。表3-2介绍其中的一部分。
表3-2 mke2fs的选项
image

选项的详细情况请参考mke2fs命令的操作指南。
生成ext4时,需要将文件系统的种类指定为ext4,执行mke2fs命令。在该例子中使用的是Fedora 14的e2fsprogs-1.41.12-5,在/dev/sdb1上生成ext4。

# mke2fs -t ext4 /dev/sdb1 或mkfs -t ext4 /dev/sdb1

挂载ext4时可以执行mount命令。需要向变量指定设备和挂载点。在该例子中是挂载到/mnt。

# mount -t ext4 /dev/sdb1 /mnt

关于mount选项
ext4中增加了很多功能。这些功能多数都可以在生成文件系统时或挂载时选择启用/禁用。这里介绍可以在挂载中设置的一部分选项(见表3-3)。
mount选项的详细内容请参考mount命令的操作指南或内核文档(Documentation/filesystems/ext4.txt)。
表3-3 ext4的挂载选项
image

开发版ext4的获取方法
现在论坛也在对ext4进行积极开发。开发版的ext4包含新的功能和bug的修改等。利用开发版时,需要从ext4的维护人员所管理的Git树中获取。这里将介绍获取开发版内核、命令的方法。获取时可以使用git命令。
ext4 patch queue的获取
正在开发的ext4的补丁包括在ext4 patch queue中。可以使用下列方法来获取。

# git clone http://repo.or.cz/r/ext4-patch-queue.git

获取成功后,就会生成ext4-patch-queue目录。其中就有适用于ext4的补丁。对应的内核版本、适用的补丁的顺序记载在series文件中。

# cat ext4-patch-queue/series

# BASE v3.0-rc1
#
correct-comments-for-ext4_free_blocks
fix-max-file-size
use-FIEMAP_EXTENT_LAST-flag-for-last-extent
fixed-tracepoints-cleanup

# potential problems?
fix-oops-in-jbd2_journal_remove_journal_head

##########################################
# unstable patches
####################################################
stable-boundary
...

将这些补丁适用于内核的源代码后,生成的内核就具有ext4的最新功能。
开发版的e2fsprogs的获取
e2fsprogs的Git树可以执行下列命令来获取。

# git clone http://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git

这时获取的是最新的稳定版e2fsprogs,因此需要切换到开发版的“next”分支。

# git checkout next

这样就切换到了开发版的e2fsprogs。可以通过执行configure,make来使用各种命令。由于内核、命令都是开发版,因此在使用过程中可能会发现bug。这时请向linux-ext4@vger.kernel.org报告。
小结
本节介绍了ext4的生成与挂载、获取开发版ext4的内核补丁和命令的方法。ext4具有比ext3更多的功能,作为更加便捷的文件系统,能够吸引更多的用户。
参考文献
Ext4(and Ext2/Ext3)Wiki
https://ext4.wiki.kernel.org/index.php/Main_Page
Mailing list ARChives
http://marc.info/?l=linux-ext4&r=1&w=2
—Akira Fujita

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《Linux内核精髓:精通Linux内核必会的75个绝技》一导读
内核是操作系统的核心,操作系统的基本功能都是由内核提供的。文件生成和数据包传输等也是通过内核的功能实现的。但这些都不是简单的任务。平时可能意识不到,但这其中确实包含了很多先进技术。例如,在文件系统方面,配置文件时尽量减少磁盘扫描,在网络方面,由于路由表的入口数量庞大,因此设计时尽量保证对系统整体影响较小的设计。
1481 0
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #21FUSE
本节书摘来自华章出版社《Linux内核精髓:精通Linux内核必会的75个绝技》一书中的第3章,第3.5节,作者 竹部 晶雄、平松 雅巳,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1242 0
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #20 使用fio进行I/O的基准测试
本节书摘来自华章出版社《Linux内核精髓:精通Linux内核必会的75个绝技》一书中的第3章,第3.4节,作者 竹部 晶雄、平松 雅巳,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1595 0
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #19 ext4的调整
本节书摘来自华章出版社《Linux内核精髓:精通Linux内核必会的75个绝技》一书中的第3章,第3.3节,作者 竹部 晶雄、平松 雅巳,更多章节内容可以访问云栖社区“华章计算机”公众号查看
885 0
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #18 向ext4转换
本节书摘来自华章出版社《Linux内核精髓:精通Linux内核必会的75个绝技》一书中的第3章,第3.2节,作者 竹部 晶雄、平松 雅巳,更多章节内容可以访问云栖社区“华章计算机”公众号查看
875 0
《Linux内核精髓:精通Linux内核必会的75个绝技》一第3章 文件系统
本节书摘来自华章出版社《Linux内核精髓:精通Linux内核必会的75个绝技》一书中的第3章,作者 竹部 晶雄、平松 雅巳,更多章节内容可以访问云栖社区“华章计算机”公众号查看
865 0
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap
本节书摘来自华章出版社《Linux内核精髓:精通Linux内核必会的75个绝技》一书中的第2章,第2.9节,作者 竹部 晶雄、平松 雅巳,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1047 0
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #14 虚拟存储子系统的调整
本节书摘来自华章出版社《Linux内核精髓:精通Linux内核必会的75个绝技》一书中的第2章,第2.8节,作者 竹部 晶雄、平松 雅巳,更多章节内容可以访问云栖社区“华章计算机”公众号查看
879 0
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #13 使用Block I/O控制器设置I/O优先级
本节书摘来自华章出版社《Linux内核精髓:精通Linux内核必会的75个绝技》一书中的第2章,第2.7节,作者 竹部 晶雄、平松 雅巳,更多章节内容可以访问云栖社区“华章计算机”公众号查看
900 0
【一、玩转shell命令】Linux常用shell命令(及相关知识)详解与用法演示(三)
【一、玩转shell命令】Linux常用shell命令(及相关知识)详解与用法演示
0 0
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
Decian GNU/Linux安全合规之路
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
冬季实战营第二期:Linux操作系统实战入门
立即下载