php wordpress apache google nginx 程序员 云计算 Ubuntu 微软 shell 开源 Windows Python linux Firefox centos Android 编程 java mysql

Linux存儲的未來

波士頓-在 Linux 基金會 的 Vault 會議上,內容全部是關於 文件系統 和 存儲的。 你可能會覺得這兩者中任一個都沒有什麽新的可講,但是你可能錯了。

像 Btrfs 一樣的 Linux 文件系統 和 存儲 支持的選擇一直在改進。– Facebook

目前為止,存儲技術已經取得了很大進展,正像 Linux Torvalds 說的那樣, “ 討厭生銹的大轉盤 ”, Linux 必須保持自己不落後。最近幾年,很多例子說明了。比如: 閃存已經成為企業服務的主要存儲 , 持久穩定的 內存 已經帶給我們 DRAM 一樣的存儲速度。同時, 大數據 , 雲 計算和 Containers 全都是 Linux 的新應用案例。為了更好的適應這些應用領域, Linux 開發者在擴充他們已有的文件和存儲項目的同時也在研發新的項目。

Brfs

比如 Chris Mason, Facebook 的軟件工程師,同時也是 Btrfs (發音為 Butter FS )的維護人員之一。他描述了 Facebook 如何使用該 文件系統 。 Brfs 作為一個文件系統有許多優點,比如它支持海量的小文件存儲,支持16艾字節的單個文件,支持 RAID 備份,內置文件系統壓縮,完善的多存儲設備支持等等。

Linux存储的未来

Facebook ,當然在 Linux 上運行。準確的說, Facebook 運行在一個內部分配的基於 CentOS 的3.10和3.18 Linux 內核上。對 Facebook 來說,真正的優勢在於 Btrfs 在 Facebook 來自不斷的用戶更新產生的連續 IOPS  下響應快速並且穩定。

這是好的方面。不好的方面是 Btrfs 相較於 mysql 這樣傳統的數據庫管理系統來說還是太慢了。對此, Facebook 使用 XFS 。 Facebook 使用 開源 的 分布式 文件系統  Gluster  來協調 Btrfs 和 XFS 的工作。

Facebook 一直和致力於提升 Btrfs 數據庫管理系統的 Btrfs Linux 內核開發者保持著緊密的合作。 Mason 和他的同事們用 RocksDB 來提升 Btrfs 的速度。它是快速存儲的穩固的關鍵。它可以用於主從式的數據庫。

Btrfs 也有一些問題。比如,如果你想填滿一個磁盤, Btrfs 會在磁盤寫滿前阻止你繼續寫入。對一些項目來講,比如 CoreOS 這個依賴容器的 Linux 企業版,那就是一場因特別精彩而被掌聲打斷的表演。 CoreOS 已經將 Btrfs 切換到 xt4 和 overlayfs 上了 。

Btrfs 的全體工作人員也致力於數據去重。對此,當一個文件系統不止一份完全相同的文件時,將自動刪除副本。正如 Mason 說的那樣:“並不是每個人都需要他,但是當你真正需要的時候它的作用就彰顯了”。

Btrfs 不是唯一的非常重要並且在使用的文件系統。 John Spray ,一個 Red Hat 的高級軟件工程師,談了 分布式 的文件系統—— Ceph 。

Ceph FS

Ceph 提供了 分布式 的對象存儲和文件系統。它利用商用 硬件 的群集,依靠彈性的可伸縮框架—— RADOS 。利用 RADOS 的塊設備—— RBD 和 RADOS 的對象網關—— RGW, Ceph 提供了一個 POSIX 的文件系統接口—— Ceph FS 。當 RBD 和 RGW 應用於生產環境一段時間之後,將 Ceph FS 應用於生產已經在進行了。

Red Hat ,在收購 Ceph 的母公司 Inktank 之後 ,已經在2014開始為將 Ceph FS 應用於生產做準備了。不管怎樣, Spray 說過:“一些人已經將它應用於生產環境了,我們害怕這樣,它是真的還不能完全應用於生產”。 同時, Spray 又說:“它不只被祝福,因為其中還夾雜著恐懼。我們真正獲得了來自那些用戶的測試和反饋”。

產生以上憂慮是因為 Ceph 的對象存儲器擴展性良好,而作為 POSIX 文件系統的 Ceph FS ,它是很難擴展的。舉個例子,作為一個分布式的文件系統,  Ceph FS 必須去處理來自多終端的並發寫入。這可能導致全部或者部分情況下一個終端寫入時其他人必須等待。可能導致比那些普通文件系統更復雜的文件鎖情況。

Ceph FS 仍然值得去使用。 Spray 說:“從 POSIX 文件系統作為一個操作系統的通用語言起”。那不是說 Ceph FS 不好用。“它不是可怕的損壞。它是可以使用的,只是缺少修復和監視的工具”。

Red Hat 已經在努力制作文件系統檢查、日誌修復、快照硬化、更好的客戶端訪問管理、 雲 和容器集合的工具。目前為止,只有非常勇敢或者愚蠢的才會將 Ceph FS 應用到生產環境。

文件和存儲的零星內容

關於文件系統和存儲更大的問題, Jeff Layton , Primary Data 的高級軟件工程師,講述了為了創造“測試災難性停電,實際上沒有拔插頭”所做的努力。“這些測試很快會用金標準的 Linux 文件系統測試——  xfstests 完善”。

Rik van Riel ,一個 Red Hat 的主要軟件工程師,講述了持久穩固的 內存 產品。你可以將它們作為存儲或者 內存 。但是,你用它們作為內存不能獲得當前的映像備份快照。實際上的問題: van Riel 確定人們會

嘗試持久穩固的內存,它將可能導致這樣的情況:“沒有備份,你將如何處理一個200GB的內存數據庫?” 更糟糕的 是,日誌系統無法在持久穩固的內存上準確運行。

什麽才是正確的答案? Linux 現在還沒有。但是人們已經在致力於解決它。

所以,當 Linux 擁有很多文件系統並且可以用任何一種存儲區存儲一個字節的時候還要很多事情要做。科技永遠不會停滯不前。運行在從桌面到服務器再到 雲到超級計算機的 Linux ,必須跟上存儲的發展,無論他們什麽時候發生。

延伸阅读

评论