ext4 的使用对象

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

从2.6.28版本开始,Linux Kernel开始正式支持新的文件系统EXT4。

把 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 包的一部分,因此需要单独下载。


相关内容

    暂无相关文章