Linux哪種文件系統更有前景?
ext4、btrfs還是其他?
SSD會代替HDD成為伺服器主流存儲設備嗎?哪個種文件系統更適合SSD?
xfs btrfs 都很有前途
符合你需要的最有前途。。。。。。。
SSD 需要的是減少寫入次數,但是替代 HDD 在企業環境使用,還有很長的路要走。首先寫入次數限制是個問題,其次還有成本。所以 SSD 在企業,目前我覺得,還是作為緩存等需要性能但是對於數據安全性不高的地方為主。即便 HDD 也有壽命問題,但是 HDD 定期更換的容量/成本,明顯比 SSD 合適。
另外扯淡一個,我覺得 SSD 短期的方向,應該是存儲卡。讀寫晶元都放到讀卡器上,存儲卡只保留存儲的 Flash 晶元,同時讀卡器之間進行 RAID ,不管是鏡像保證安全,還是交錯存儲增加速度。都是一個很好的方式。這樣 Flash 壞了直接換晶元,降低更換成本,而且彈性更好。
推薦一個 bcachefs,由前 google 工程師創建,代碼基於 bcache。主頁上提供了主要功能包括:
- Copy on write (COW) - like zfs or btrfs
- Full data and metadata checksumming
- Multiple devices, including replication and other types of RAID
- Caching
- Compression
- Encryption
- Snapshots
- Scalable - has been tested to 50+ TB, will eventually scale far higher
- Already working and stable, with a small community of users
HDD 短時間內還不會完全被 SSD 替代,SSD 和 HDD 混合可能還會持續一段時間。bcachefs 提供了以 SSD 作為緩存檔的功能,是一個亮點。
不過目前 bcachefs 還處於 beta 階段,並沒有進入內核主線。
未來 SSD 會完全替代 HDD,要追求極致性能,用戶態文件系統是一個新的發展方向。用戶態文件系統可以避免系統調用的開銷,最大化的發揮 SSD 的性能。
zfs
VFS,有人反對么?
overlayfs。隨著容器化的進一步成熟,我個人看好這個文件系統。
這個必須先給我們XFS打個廣告, 哈哈. Local filesystem的話目前XFS可謂非常有前景, 開發者很活躍, 也是RHEL的首選文件系統所以商業支持也夠. Btrfs一直不能穩定下來, 作為伺服器文件系統來說的話還不夠. extN屬於老牌文件系統了, 穩定但是可擴展性已經不足了. XFS在上游現在除了kernel的項目以外, 還有xfsprogs/xfsdump用戶態程序項目, 以及xfstests (改名叫fstests)的測試套件項目. freenode上#xfs頻道也有很多活躍的開發者, 歡迎所有人貢獻代碼或提供bug report
網路文件系統的話NFS一直是受眾很廣很常見的. overlayfs是為容器技術服務的文件系統, 還有現在很熱的ceph, glusterfs的話可能使用的少一些, 但我有朋友是這個開發, 也必須打一下廣告:)
SSD會不會替代HDD, 這個要看SSD以後賣多少錢了, 這個問題就像以前人們思考紙帶會不會被磁碟替代, 軟盤會不會被Flash介質取代一樣, 要看成本. 而且現在除了SSD還有更快的技術, 有興趣的可以google這麼幾個關鍵詞"Persistent Memory", "pmem", "nvdimm", "dax"等自行了解. 對於大型伺服器, 特別是存儲伺服器來說, SSD這些東西還是不能大範圍應用的, 因為購買成本和維護成本都太高.
關於那種文件系統更適合SSD的話, 有文件系統專門為SSD提供的技術, 但是如果說有專門的SSD文件系統那還真不好說. F2FS算不算? 不過我覺得這個目前真沒有太計較的必要, 因為SSD還沒有大規模在伺服器上部署, 主要還是集中在client端, 而client端上壓力較小, 在峰值壓力測試下如果你說兩個文件系統在SSD上表現的性能差5%, 那我估計你平時使用也基本看不出來, 更何況除了速度這個原因以外還有其它很多因素來衡量一個文件系統的好壞.
xfs 快,btrfs 擅長大存儲,都有前途。
妥妥的xfs啊
說說常見的吧 ,有以下幾種 Ext3是一款日誌文件系統能夠在異常停機中避免文件系統資料不一致的情況,自動修複數據的不一致與錯誤,然而一般重整文件系統相當耗費時間(尤其容量大的硬碟),當然也不能保證100%資料不流失。
推薦閱讀:
※如何設置開機默認啟動ubuntu?
※Vim 和 Emacs 這類經典的軟體會被淘汰嗎?
※手機上 Android 這麼火,為什麼電腦上 Linux 火不起來?
※命令前加sudo執行和用真正的root用戶執行有什麼區別?
※chmod -x /bin/chmod執行上述命令後,如何恢復?