第 4 個擴展文件系統,即 ext4,是下一代的日志文件系統,它與上一代文件系統 ext3 是向後兼容的。盡管 ext4 目前還不是標准文件系統,但它將成為大部分下一代 Linux® 發行版的默認文件系統。了解 ext4,以及它為什麼將成為您最喜歡的新文件系統。
Linux 內核的每次發行都伴隨一些驚喜,今年 12 月份發行的 2.6.28 也不例外。這個發行版是首個穩定的 ext4 文件系統(它還包含其他出色的特性,比如正在開發的 Btrfs)。這個下一代擴展文件系統提供更好的伸縮性、可靠性和許多新功能。ext4 的伸縮性如此之大,以致最大的文件系統所用的磁盤空間將達到 100 萬 TB。
擴展文件系統的簡史
第一個受 Linux 支持的文件系統是 Minix 文件系統。這個文件系統有嚴重的性能問題,因此出現了另一個針對 Linux 的文件系統,即擴展文件系統。第 1 個擴展文件系統(ext1)由 Remy Card 設計,並於 1992 年 4 月引入到 Linux 中。ext1 文件系統是第一個使用虛擬文件系統(VFS)交換的文件系統。虛擬文件系統交換是在 0.96c 內核中實現的,支持的最大文件系統為 2 GB。
第 2 個擴展文件系統(ext2)也是由 Remy Card 實現的,並於 1993 年 1 月引入到 Linux 中。它借鑒了當時文件系統(比如 Berkeley Fast File System [FFS])的先進想法。ext2 支持的最大文件系統為 2TB,但是 2.6 內核將該文件系統支持的最大容量提升到 32TB。
第 3 個擴展文件系統(ext3)是 Linux 文件系統的重大改進,盡管它在性能方面遜色於某些競爭對手。ext3 文件系統引入了日志 概念,以在系統突然停止時提高文件系統的可靠性。雖然某些文件系統的性能更好(比如 Silicon Graphics 的 XFS 和 IBM® Journaled File System [JFS]),但 ext3 支持從使用 ext2 的系統進行就地(in-place)升級。ext3 由 Stephen Tweedie 實現,並於 2001 年 11 月引入。
今天,我們已經擁有第 4 個擴展文件系統(ext4)。ext4 在性能、伸縮性和可靠性方面進行了大量改進。最值得一提的是,ext4 支持 1 EB 的文件系統。ext4 是由 Theodore Tso(ext3 的維護者)領導的開發團隊實現的,並引入到 2.6.19 內核中。目前,它在 2.6.28 內核中已經很穩定(到 2008 年 12 月為止)。
ext4 從競爭對手那裡借鑒了許多有用的概念。例如,在 JFS 中已經實現了使用區段(extent)來管理塊。另一個與塊管理相關的特性(延遲分配)已經在 XFS 和 Sun Microsystems 的 ZFS 中實現。
在 ext4 文件系統中,您可以發現各種改進和創新。這些改進包括新特性(新功能)、伸縮性(打破當前文件系統的限制)和可靠性(應對故障),當然也包括性能的改善。