文件系統:它們不是世界上最激動人心的技術,但是仍然很重要。本文我們將細數那些流行的 Linux 文件系統 - 它們是什么,它們能夠做什么,以及它們的目標用戶。
1.Ext4
file-systems-ext4
如果你曾經安裝過 Linux,你可能在安裝過程中看到過“Ext4”字樣。用它有一個不錯的理由: 它是當前每個可用的 Linux 發行版所選擇的文件系統。當然,還有其他的一些選擇,但是不可否認的是,Ext4(Extended 4)幾乎是所有 Linux 用戶都會選擇的文件系統。
它能做什么?
Ext4 擁有之前的文件系統(Ext2/Ext3)中你所期待的所有優點, 同時還帶來了一些改進。還有很多內容可以發掘,這里列舉出了 Ext4 為你帶來的最好的部分:
◆ 日志型文件系統
◆ 日志校驗
◆ 多重塊文件分配
◆ 向后兼容 Ext2 &&Ext3
◆ 持續的空閑空間預分配
◆ 改進的文件系統校驗(相比于之前的版本)
◆ 當然,同時支持更大的文件
目標用戶
Ext4 針對那些尋找超級可靠的基礎環境或者那些只需要能工作就行的用戶。這個文件系統不會對你的系統做快照;它甚至沒有最好的 SSD 支持,但是如果你不是太挑剔的話,你會覺得它也還不錯。
2.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 上面的更佳性能)。這個文件系統針對那些想要從文件系統中獲取更多(特性),以及那些想嘗試用寫時復制機制做一些事情的用戶。
3.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 相似的特性,并且沒有穩定性方面的問題。
4.Reiser4
file-system-riser4
Reiser4 是 ReiserFS 的繼任者,由 Namesys 公司創造研發。它的誕生可以追溯到 Linspire 項目和 DARPA。它與眾不同的地方在于眾多的事務模式。并不止于單一的一種寫入數據的方式;取而代之的是,有很多方式(來寫入)。
它能做什么
Reiser4 擁有著使用多種不同事務模式的獨特能力。它能夠使用寫時復制模式 (像 BtrFS),任意位置寫入(write-anywhere),日志,以及混合事務模式。它在 ReiserFS 的基礎上做了許多的改進,包括更好的基于漫游日志的文件系統日志,對較小文件的支持更好,以及更快速的目錄處理。Reiser4 提供了許多功能特性。還有更多的特性可以探討,不過簡單來講,相比于 ReiserFS 它不但做了非常大的改進,而且增加了眾多特性。
目標用戶
Resier4 適合那些想要將一個文件系統應用到多種場景下的用戶。可能你想在一臺機器上使用寫時復制機制,在另一臺機器上使用任意位置寫入機制,還會在另一臺機器上使用混合事務,而你又不希望使用多種不同類型的文件系統來完成這項任務。Reiser4 是適合這種情況的完美方案。
結論
Linux 上有許多可用的文件系統。每個文件系統都有其特定的用途,以便于特定用戶解決不同的問題。本文的焦點集中在 Linux 平臺上文件系統的主流選擇。毫無疑問,其它的場景下還有一些別的選擇。
你在 Linux 上最喜歡的文件系統是什么?在下面的評論區告訴我們吧!