Linux的日志文件系统简要剖析(4)

  第四扩展文件系统

  第 四扩展日志文件系统(fourth extended journaling file system,ext4fs)是由 ext3fs 演化而来。Ext4 文件系统被设计为具有向前和向后兼容性,但它具有许多新的高级特性(其中的一些特性破坏了兼容性)。这就意味着您可以将 ext4fs 的一部分作为 ext3fs 挂载,反之亦然。

  首先,ext4fs 是 64 位文件系统,并被设计为可以支持很大的容量(1 exabyte)。它还可以使用分区,但是这样做将失去与 ext3fs 的兼容性。像 XFS 和 Reiser4 一样,ext4fs 还支持在必要时采取延时分配方式分配块(这样可以减少磁盘碎片)。日志的内容也已经执行过检查和(checksum),使日志更加可靠。ext4fs 并没有采用标准的 B+ 或者 B* 树,取而代之的是 B 树的一种变体,叫做 H 树,它支持更大的子目录(ext3 的上限为 32KB )。

  虽然延时分配的方法可以减少磁盘碎片,但时间久了,一个大的文件系统可能会成为碎片。为解决这个问题,开发了在线磁盘碎片整理工具(e4defrag)。您可以使用这个工具来整理单个的文件或者整个文件系统。

  ext3fs 与 ext4fs 间的另一个有趣的区别就在于文件的日期分辨率。在 ext3 中,时间戳的最小分辨率为 1 秒。而 Ext4fs 是面向未来的:那时处理器和接口的速度会持续加快,需要更高的分辨率。因此,ext4 中时间戳的最小分辨率为 1 纳秒。

  Ext4fs 已被合并到自 2.6.19 以后的 Linux 内核中,但它还是不够稳定。下一代系统的开发将继续致力于此;辅之以上一代的优势, 它就会是下一代的 Linux 日志文件系统。

  结束语

  日志文件系统在系统崩溃或断电时提供了可靠性,并防止系统崩溃。另外,与较传统的文件系统方法(比如那些依赖于 fsck 的系统)相比,日志文件系统大大地缩短了系统崩溃的恢复时间。新的日志记录功能的开发要指望将来的新算法与结构,也要仰仗以前的算法与结构,将 JFS 和 XFS 的功能结合起来。将来日志文件系统到底会如何发展还不得而知,但可以确定的是它们会更具实用性,并会成为新的日志文件系统标准。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/27507.html