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主要功能的差异。

HACK#17 如何使用ext4 - 图1

HACK#17 如何使用ext4 - 图2

ext4的生成与挂载

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

HACK#17 如何使用ext4 - 图3

选项的详细情况请参考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


[1]关于确保多块的内容请参考HACK#19。

[2]ext4的索引节点大小为256字节的情况。