Ext4 vs XFS——你應該使用哪個文件系統

運行 Linux 系統的用戶幾乎不會關注底層文件系統。 事實上,在安裝 Linux 的過程中,往往會使用列出的默認文件系統而不探索其他可用選項。 對於 Windows,事情要容易得多,因為 NTFS 是占主導地位的文件系統。 使用 Linux,您可以使用許多文件系統。 其中包括 Ext4、XFS、ZFS 和 BTRFS。

最廣泛使用的文件系統是 Ext4 和 XFS,後者是基於 RHEL 的發行版中的默認文件系統,而 Ext4 是 Debian 和 Ubuntu 發行版中的標准文件系統。 在選擇文件系統時,需要考慮的一些因素包括可擴展性、穩定性和數據完整性。

在本指南中,我們將重點關注 Ext4 和 XFS 文件系統 並試圖了解這兩者之間的差異。

Ext4 文件系統

Ext4 文件系統(擴展文件系統)是 Ext 文件系統家族的第四代,其起源可以追溯到 1987 年首次推出的 Minix 操作系統。 Ext 文件系統是第一個支持 Linux 內核的文件系統。早在 1992 年。它在 2008 年出現,Linux 2.6.28。 繼承其前身 ext3。

Ext4 完美地管理了許多小文件,並確保即使寫入緩存斷電也能正確寫入元數據。

一目了然,其主要特點包括:

  • 支持大文件大小 – Ext4 支持高達 16 TiB (Tebibytes) 的單個文件大小,而 XFS 支持高達 8 exbibytes 的最大文件大小。
  • 基於範圍的延遲分配以實現更快的文件分配。
  • 向後兼容性 – 使用 Ext4 文件系統的另一個好處是它與 Ext3 和 Ext2 系統的向後兼容性。 這提高了性能和靈活性,因為某些 Ext4 功能也可以在 Ext3 和 Ext2 文件系統中實現。 此外,Ext3 和 Ext2 文件系統可以作為 Ext4 掛載。
  • 分配改進 – 存儲塊在寫入磁盤之前由 Ext4 文件系統更有效地分配。 這大大提高了讀寫性能。
  • 日誌校驗和 – Ext4 文件系統利用校驗和選項將文件損壞的風險降至最低。 校驗和選項執行頻繁的檢查以探測塊卷中的錯誤。 這樣做可以減少日誌記錄時間並降低性能。
  • 更快的文件系統檢查 – 除了日誌校驗和,Ext4 還產生更快的文件系統檢查,對於 example,與早期版本(如 Ext3 和 Ext2)相比,fsck 命令將運行得更快,並在更短的時間內給出結果。
  • 改進的時間戳 – Ext4 實現了以納秒為單位的時間戳,這是對基於秒的時間戳粒度的改進,這被認為是不夠的。 此外,時間戳中又增加了 408 年,以解決 2038 年的上限。
  • 無限數量的子目錄 – Ext4 文件系統不限制可以在單個目錄中創建的子目錄數量,目錄大小本身除外。 在 Ext3 中,一個目錄最多只能有 32,000 個子目錄。 Ext4 引入了 HTreeindices 功能來增加可以存儲在目錄中的條目。
  • 透明加密 – 早在 2015 年 6 月,Linux 內核 4.1 中的 Ext4 文件系統就實現了對透明加密的支持。

XFS 文件系統

XFS 文件系統最初由 Silicon Graphics 於 1993 年開發,以其穩定和高性能的 64 位日誌文件系統而自豪。 XFS 文件系統旨在支持高達 18 艾字節的大型文件系統和極大的文件。 文件系統專為具有大型磁盤陣列、大型 CPU 以及需要存儲大型文件的系統而設計。

XFS 因提供 I/O 線程的高可擴展性和處理大文件的出色性能而廣為人知。

XFS 文件系統是 RHEL、CentOS 和其他 RHEL 發行版(如 Oracle Linux、Rocky Linux 和 AlmaLinux)中的默認文件系統。

主要特點包括:

  • 支持更大的文件系統 – XfS 支持高達 1PiB 的文件系統,而 Ext4 支持高達 50TiB。 支持的文件系統大小可能因 Linux 發行版而異。
  • 延遲分配 – 使用延遲評估技術進行文件分配。 僅當數據最終刷新到磁盤時才會發生塊分配,這有助於減少碎片並提高性能。
  • 在線碎片整理和文件系統增長
  • 先進的元數據預讀算法
  • 元數據日誌 – 元數據日誌是一項功能,可在突然斷電或系統崩潰的情況下保證文件系統的一致性。
  • 配額日誌 – 這消除了系統崩潰後冗長的配額一致性檢查的需要。
  • 支持擴展屬性 – 這使系統能夠為每個文件關聯幾個額外的名稱/值對。
  • 在線碎片整理和增長 – 您可以在掛載和活動時對文件系統進行碎片整理和擴大。
  • 存儲可擴展性 – XFS 文件系統以驚人的長度支持大型文件系統、大型目錄和高達 EB 容量的大量文件。
  • 高效的磁盤空間管理——由於 B 樹索引,XFS 還為高效的磁盤空間管理提供了可擴展性。

結論

為您的應用程序選擇合適的文件系統是一個重要的決定。 在做出決定時,需要考慮服務器有多大、您期望的 I/O 工作負載、吞吐量和延遲、文件大小、應用程序可能遭受的停機時間等等。

那是對 XFS 和 Ext 文件系統的概述。 我們已經深入概述了每個文件系統提供的好處。 考慮到這些信息,您可以就為您的操作系統選擇哪個文件系統做出明智的決定。