您查看的文章来源于http://www.oklinux.cn
除了内核模块之外,还要查看 e2fsprogs 的一个版本,它支持 ext4 文件系统的功能。您可以下载一个压缩文件(参考资料 一节提供了相关的链接)或使用 git,如清单 1 所示。
清单 1. 通过 git 获取最新版本的 e2fsprogs 的命令
$ git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
$ cd e2fsprogs
$ git checkout -b pu
Switched to a new branch "pu"
$ git branch
master
* pu
$ git pull git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git pu
注意,您有可能需要使用发行版的包管理器安装 git。这些工具有待进一步测试,因此不推荐在生产系统中使用,并且就目前而言,并没有添加很多特别针对 ext4 的工具。因此,您可能更喜欢使用随发行版一起交付的 stock e2fsprogs 包。
e2fsprogs 的编译过程非常标准:将 cd 包解压缩到生成的目录,输入 ./configure,输入 make,并输入(作为 root)make install。 这个过程将覆盖发行版的常规 e2fsprogs 包,因此,只有确定要使用这些工具的最新(也可能是不稳定的)版本时,才执行此操作。
把 ext3 迁移到 ext4
当系统在 ext4 的支持下启动到内核时,您就可以使用新的文件系统了。为此,必须准备一个分区、独立磁盘的冗余阵列(RAID)设备或其他存储空间。然后就可以把它用作 ext4 文件系统并调整文件系统选项。
准备一个设备
如果希望从简单的入手,可以使用新版或旧版的 e2fsprogs 包(即 mkfs.ext3 或 mkfs.ext4)附带的工具格式化分区或其他设备。例如, mkfs.ext4 -j /dev/sda6 准备了 /dev/sda6 分区以供使用。使用 mkfs.ext4 可以产生一个文件系统,并激活了很多特定于 ext4 的功能。
目前,e2fsprogs 程序还没有完全跟上内核文件系统的步伐。幸运的是,大部分内核驱动程序的功能都不需要对 mkfs.ext4 或其他实用程序进行特殊准备。当挂载文件系统时,将激活 ext4 功能。如果要在大媒体上使用 ext4, 就必须进行大胆的探索,确保记录和报告所遇到的问题!
如果想把现有的 ext2 或 ext3 文件系统用作 ext4 文件系统,也不难实现。只需要按照随后描述的方法挂载设备即可。然而如果使用某些新的功能,如 extent,该文件系统就不能和 ext2 或 ext3 的驱动程序一起使用。
使用 ext4
要把一个设备用作 ext4 文件系统,就必须使用 ext4dev 文件系统类型代码挂载它(当 ext4 变得稳定时,文件系统类型代码将变为 ext4)。例如,mount -t ext4dev /dev/sda6 /mnt/point 在 /mnt/point 中把 /dev/sda6 挂载为 ext4 文件系统。这些都是 ext4 的基本用法。注意,默认的挂载选项启用了 extent,这会导致文件系统在作为 ext3 文件系统使用时变得不可用。如果您想尝试一下 ext4 同时可以返回到 ext3,则使用 -o noextents 选项禁用 extent 功能。
一旦挂载以后,可以像其他任何文件系统一样使用 ext4:复制文件、直接创建文件等等。 除了遇到 bug 或执行基准测试以外,您不会觉察到任何差别。
调整 ext4 性能选项
可以使用 tune2fs 程序调优 ext4 文件系统,与调优 ext2 或 ext3 文件系统的方式一样。目前, tune2fs 不提供任何特定于 ext4 的选项,但是可以使用标准的 -O 参数设置 ext4 选项,例如 extent。
当把文件系统挂载为 ext4 时,内核开始使用特定于文件系统的功能,如 extent。这样做的结果是不能再把文件系统挂载为 ext3 文件系统,至少会变得非常困难。
尽管把 ext3 文件系统挂载为 ext4 能够实现特定于 ext4 的功能,挂载本身并不把旧数据结构转换为新的格式。例如,现有文件保持块状方式分配, 而不是使用 extent 进行分配。因此,旧文件没有从新功能获得好处。然而,ext4 的开发人员已经考虑到这种情况并且提供了一种解决办法:可以使用(正处于 试验阶段的)e4defrag 工具(随后将介绍)转换分配方式来利用 extent 功能。另一个新工具(尚不可用)将改变 inode 的大小,使它变为新的格式。
维护 ext4 文件系统
可以使用标准的 e2fsprogs 工具来维护 ext4 文件系统,例如使用 tune2fs 在创建文件系统之后调整选项,使用 fsck.ext4 执行文件系统检查等等。这些程序在 ext4 与 ext3 之间没有很大的差别。但是,如前面提到的一样,ext4 包含一些能够提升 fsck 性能的增强功能。
除了这些工具以外,有一个新工具特别值得注意:e4defrag。该程序能够对已挂载的 ext4 文件系统进行磁盘碎片整理。这能够提高性能,尤其是文件系统空间快要用完的时候。同时,这也有利于将 ext2/3 样式的分配转换为基于 extent 的 ext4 样式的分配,因此能够提高曾经作为 ext3 文件系统的文件系统的性能。不幸的是,e4defrag 还不是标准的 e2fsprogs 包的一部分,因此需要单独下载(参考资料 小节提供了链接)。