哪個檔案系統最適合你的 Linux 系統?

linux.cn發表於2016-01-19

檔案系統: 它們不是世界上最激動人心的技術,但是仍然很重要。本文我們將細數那些流行的 Linux 檔案系統 – 它們是什麼,它們能夠做什麼,以及它們的目標使用者。

Ext4

file-systems-ext4

如果你曾經安裝過 Linux,你可能在安裝過程中看到過“Ext4”字樣。用它有一個不錯的理由: 它是當前每個可用的 Linux 發行版所選擇的檔案系統。當然,還有其他的一些選擇,但是不可否認的是,Ext4(Extended 4)幾乎是所有 Linux 使用者都會選擇的檔案系統。

它能做什麼?

Ext4 擁有之前的檔案系統(Ext2/Ext3)中你所期待的所有優點, 同時還帶來了一些改進。還有很多內容可以發掘,這裡列舉出了 Ext4 為你帶來的最好的部分:

  • 日誌型檔案系統
  • 日誌校驗
  • 多重塊檔案分配
  • 向後相容 Ext2 && Ext3
  • 持續的空閒空間預分配
  • 改進的檔案系統校驗(相比於之前的版本)
  • 當然,同時支援更大的檔案

目標使用者

Ext4 針對那些尋找超級可靠的基礎環境或者那些只需要能工作就行的使用者。這個檔案系統不會對你的系統做快照;它甚至沒有最好的 SSD 支援,但是如果你不是太挑剔的話,你會覺得它也還不錯。

BtrFS

file-systems-btrFS

B 樹(B-tree)檔案系統 (也被當做是 butterFS,黃油檔案系統) 是 Oracle 為 Linux 研發的一款檔案系統。它是一個全新的檔案系統,而且正處於主要開發階段。Linux 社群認為其有時候使用上還有些不穩定。BtrFS 的核心原則是圍繞著寫時複製(copy-on-write)原則展開的。寫時複製基本上意味著在寫入資料完成前,這份資料的每一位元都有單獨的一份副本。當資料寫入完畢後,相當於它做了一份副本。

它能做什麼

除了支援寫時複製之外,BtrFS 也能夠勝任許多其他的事務 – 事實上,它可以不斷列出各種特性。這裡列舉最值得一提的特性:支援只讀快照、檔案克隆、子卷、透明壓縮、離線檔案系統校驗、從 ext3 & 4 原地轉換到 BtrFS、線上碎片整理,還支援 RAID 0, RAID 1, RAID 5, RAID 6 和 RAID 10。

目標使用者

BtrFS 的開發者們許諾過,該檔案系統是當前其他檔案系統的新一代替代者。非常正確,雖然目前其處於開發中。它有很多面向高階使用者的殺手級特性,對於基本使用者也是這樣(包括 SSD 上面的更佳效能)。這個檔案系統針對那些想要從檔案系統中獲取更多(特性),以及那些想嘗試用寫時複製機制做一些事情的使用者。

XFS

file-systems-xfs

由 Silicon Graphics 公司創造開發,XFS 是一個高階檔案系統,定位於速度和效能方面。處於對效能方面的專注,使得在並行 IO 方面,XFS 表現的尤其出色。XFS 檔案系統能夠處理數量龐大的資料,事實上某些 XFS 使用者的資料接近300TB 以上。

它能做什麼

XFS 是一個經歷良好測試的資料儲存檔案系統,它是為了高效能操作而誕生的。其特性包括:

  • RAID 陣列的條帶化分配
  • 日誌型檔案系統
  • 塊大小可變
  • 直接 I/O
  • 指定速率(guaranteed-rate) I/O
  • 快照
  • 線上碎片整理
  • 線上調整檔案系統大小

目標使用者

XFS 針對那些想要一個堅如磐石的檔案系統方案的使用者。它始於1993年,並且隨著時間的變遷它變得越來越好。如果你有一臺家庭伺服器,而且你苦惱於如何部署儲存環境,那麼可以考慮下 XFS。它擁有的眾多特性(比如快照)能夠有助於你的檔案儲存系統。儘管如此,它不侷限於伺服器端。如果你是一個相對高階一點的使用者或者你對 BtrFS 所承諾的很多特性感興趣的話,嘗試一下 XFS。它實現了很多與 BtrFS 相似的特性,並且沒有穩定性方面的問題。

Reiser4

file-system-riser4

Reiser4 是 ReiserFS 的繼任者,由 Namesys 公司創造研發。它的誕生可以追溯到 Linspire 專案和 DARPA。它與眾不同的地方在於眾多的事務模式。並不止於單一的一種寫入資料的方式;取而代之的是,有很多方式(來寫入)。

它能做什麼

Reiser4 擁有著使用多種不同事務模式的獨特能力。它能夠使用寫時複製模式 (像 BtrFS),任意位置寫入(write-anywhere),日誌,以及混合事務模式。它在 ReiserFS 的基礎上做了許多的改進,包括更好的基於漫遊日誌的檔案系統日誌,對較小檔案的支援更好,以及更快速的目錄處理。Reiser4 提供了許多功能特性。還有更多的特性可以探討,不過簡單來講,相比於 ReiserFS 它不但做了非常大的改進,而且增加了眾多特性。

目標使用者

Resier4 適合那些想要將一個檔案系統應用到多種場景下的使用者。可能你想在一臺機器上使用寫時複製機制,在另一臺機器上使用任意位置寫入機制,還會在另一臺機器上使用混合事務,而你又不希望使用多種不同型別的檔案系統來完成這項任務。Reiser4 是適合這種情況的完美方案。

結論

Linux 上有許多可用的檔案系統。每個檔案系統都有其特定的用途,以便於特定使用者解決不同的問題。本文的焦點集中在 Linux 平臺上檔案系統的主流選擇。毫無疑問,其它的場景下還有一些別的選擇。

你在 Linux 上最喜歡的檔案系統是什麼?在下面的評論區告訴我們吧!

相關文章