您應該使用哪個 Linux 文件系統?

已發表: 2022-01-29

在 Linux PC 上格式化分區時,您會看到各種各樣的文件系統選項。 這些選項不需要壓倒性的。 如果您不確定要使用哪個 Linux 文件系統,有一個簡單的答案。

快速回答:如果您不確定,請使用 Ext4

稍後我們將深入討論各種文件系統之間的差異,但如果您不確定:請使用 Ext4。

Ext4 是大多數 Linux 發行版上的默認文件系統是有原因的。 它是舊 Ext3 文件系統的改進版本。 它不是最先進的文件系統,但這很好:這意味著 Ext4 堅如磐石且穩定。

未來,Linux 發行版將逐漸轉向 BtrFS。 BtrFS 仍然是最前沿的,並且看到了很多發展,所以你要避免在生產系統上使用它。 數據損壞或其他問題的風險不值得潛在的速度提高。

相關: FAT32、exFAT 和 NTFS 之間有什麼區別?

但請注意,此“使用 Ext4”建議僅適用於 Linux 系統分區和其他只有 Linux 才能訪問的磁盤分區。 如果您正在格式化要與其他操作系統共享的外部驅動器,則不應使用 Ext4,因為 Windows、macOS 和其他設備無法讀取 Ext4 文件系統。 在 Linux 上格式化外部驅動器時,您需要使用 exFAT 或 FAT32。

廣告

如果您要在主 Linux 引導驅動器上設置分區,那麼在設置這些分區時,您還需要創建一個大小至少為幾 GB 的交換分區。 此分區用於“交換空間”。 它類似於 Windows 上的頁面文件。 Linux 在其 RAM 已滿時將內存換出到交換空間。 此分區必須格式化為“交換”,而不是使用特定的文件系統。

什麼是日記?

在文件系統之間進行選擇時,您會注意到的一件事是,其中一些被標記為“日誌”文件系統,而另一些則沒有。 這個很重要。

日記功能旨在防止崩潰和突然斷電導致數據損壞。 假設您的系統正在將文件寫入磁盤的過程中,突然斷電。 如果沒有日誌,您的計算機將不知道文件是否已完全寫入磁盤。 該文件將保留在磁盤上,已損壞。

使用日誌,您的計算機會注意到它將在日誌中將某個文件寫入磁盤,將該文件寫入磁盤,然後從日誌中刪除該作業。 如果在寫入文件的過程中斷電,Linux 將在啟動時檢查文件系統的日誌並恢復任何部分完成的作業。 這可以防止數據丟失和文件損壞。

日誌確實會稍微降低磁盤寫入性能,但在台式機或筆記本電腦上非常值得。 它沒有你想像的那麼多開銷。 完整文件不會寫入日誌。 相反,只有文件元數據、inode 或磁盤位置會在寫入磁盤之前記錄在日誌中。

每個現代文件系統都支持日誌,在設置台式機或筆記本電腦時,您需要使用支持日誌的文件系統。

廣告

不提供日誌記錄的文件系統可用於高性能服務器和管理員希望擠出額外性能的其他此類系統。 它們也是可移動閃存驅動器的理想選擇,您不希望更高的開銷和額外的日誌寫入。

所有這些 Linux 文件系統之間有什麼區別?

微軟開發 Windows,蘋果控制 macOS,而 Linux 是社區開發的開源項目。 任何有技能和時間的人(或任何公司)都可以創建一個新的 Linux 文件系統。 這就是為什麼有這麼多選擇的原因之一。 以下是不同之處:

  • Ext代表“擴展文件系統”,是第一個專門為 Linux 創建的。 它進行了四次重大修訂。 “Ext”是文件系統的第一個版本,於 1992 年推出。它是對當時使用的 Minix 文件系統的重大升級,但缺少重要功能。 許多 Linux 發行版不再支持 Ext。
  • Ext2不是一個日誌文件系統。 推出時,它是第一個支持擴展文件屬性和 2 TB 驅動器的文件系統。 Ext2 缺少日誌意味著它寫入磁盤的次數更少,這使得它對 USB 驅動器等閃存非常有用。 但是,像 exFAT 和 FAT32 這樣的文件系統也不使用日記功能,並且與不同的操作系統更兼容,因此我們建議您避免使用 Ext2,除非您知道出於某種原因需要它。
  • Ext3基本上只是帶有日誌功能的 Ext2。 Ext3 旨在向後兼容 Ext2,允許在 Ext2 和 Ext3 之間轉換分區,而無需任何格式化。 它比 Ext4 存在的時間更長,但 Ext4 自 2008 年以來就存在並且經過了廣泛的測試。 此時,您最好使用 Ext4。
  • Ext4也被設計為向後兼容。 您可以將 Ext4 文件系統掛載為 Ext3,或者將 Ext2 或 Ext3 文件系統掛載為 Ext4。 它包括減少文件碎片的新功能,允許更大的捲和文件,並使用延遲分配來提高閃存壽命。 這是最現代的 Ext 文件系統版本,也是大多數 Linux 發行版的默認版本。

  • BtrFS ,發音為“Butter”或“Better”FS,最初是由 Oracle 設計的。 它代表“B-Tree 文件系統”,允許驅動器池、動態快照、透明壓縮和在線碎片整理。 它與 ReiserFS 中的許多想法相同,ReiserFS 是一些 Linux 發行版默認使用的文件系統。 BtrFS 旨在徹底擺脫 Ext 系列文件系統。 Ext4 文件系統的維護者 Ted Ts'o 認為 Ext4 是一個短期的解決方案,並認為 BtrFS 是前進的方向。 隨著 BtrFS 的進一步測試,預計在未來幾年內,BtrFS 將成為企業服務器和消費者桌面 Linux 發行版的默認配置。
  • ReiserFS在 2001 年推出時是 Linux 文件系統的一大飛躍,它包含許多 Ext 永遠無法實現的新功能。 ReiserFS 被 Reiser4 取代,Reiser4 在 2004 年改進了許多初始版本中不完整或缺少的功能。但在主要開發人員 Hans Reiser 於 2008 年入獄後,Reiser4 的開發停滯不前。Reiser4 仍然沒有在主要的 Linux 內核中,不太可能到達那裡。 BtrFS 是更好的長期選擇。

    相關:如何在 Ubuntu 上安裝和使用 ZFS(以及為什麼要這樣做)

  • ZFS由 Sun Microsystems 為 Solaris 設計,現在歸 Oracle 所有。 ZFS 支持許多高級功能,包括驅動器池、快照和動態磁盤條帶化——默認情況下,BtrFS 將為 Linux 帶來許多這些功能。 每個文件都有一個校驗和,因此 ZFS 可以判斷文件是否損壞。 Sun 在 Sun CDDL 許可下開源 ZFS,這意味著它不能包含在 Linux 內核中。 但是,您可以在任何 Linux 發行版上安裝 ZFS 支持。 Ubuntu 現在也提供從 Ubuntu 16.04 開始的官方 ZFS 支持。 Ubuntu 默認使用 ZFS 作為容器。
  • XFS由 Silicon Graphics 於 1994 年為 SGI IRX 操作系統開發,並於 2001 年移植到 Linux。它在某些方麵類似於 Ext4,因為它也使用延遲分配來幫助處理文件碎片並且不允許掛載快照。 它可以即時放大,但不能縮小。 XFS 在處理大文件時性能很好,但在處理很多小文件時性能比其他文件系統差。 它對於主要需要處理大文件的某些類型的服務器可能很有用。
  • JFS或“日誌文件系統”由 IBM 於 1990 年為 IBM AIX 操作系統開發,後來移植到 Linux。 它擁有低 CPU 使用率和對大文件和小文件的良好性能。 JFS 分區可以動態調整大小,但不能縮小。 它計劃得非常好,並且在大多數主要發行版中都有支持,但是它在 Linux 服務器上的生產測試不如 Ext 廣泛,因為它是為 AIX 設計的。 Ext4 更常用,測試也更廣泛。
  • 交換是格式化驅動器時的一個選項,但不是實際的文件系統。 它用作虛擬內存,沒有文件系統結構。 您無法安裝它來查看其內容。 Swap 被 Linux 內核用作“暫存空間”,用於臨時存儲 RAM 中無法容納的數據。 它也用於冬眠。 雖然 Windows 將其頁面文件作為文件存儲在其主系統分區上,但 Linux 只是為交換空間保留了一個單獨的空分區。

相關: FAT32、exFAT 和 NTFS 之間有什麼區別?

  • FAT16FAT32exFAT :在 Linux 中格式化驅動器時,Microsoft 的 FAT 文件系統通常是一種選擇。 這些文件系統不包含日誌,因此非常適合外部 USB 驅動器。 它們是每個操作系統(Windows、macOS、Linux 和其他設備)都可以讀取的事實上的標準。 這使它們成為格式化要與其他操作系統一起使用的外部驅動器時使用的理想文件系統。 FAT32 較舊。 exFAT 是理想的選擇,因為它支持大小超過 4 GB 的文件和大小超過 8 TB 的分區,這與 FAT32 不同。

還有其他 Linux 文件系統,包括專門為嵌入式設備和 SD 卡中的閃存設計的文件系統。 但這些是您在使用 Linux 時最常看到的選項。

相關:適合開發人員和愛好者的最佳 Linux 筆記本電腦