分散式儲存系統, LPGL V2.1

在軟體定義儲存的領域當中,Ceph目前是最被各界看好的平臺,有越來越多的雲端服務業者和企業採用,除了因為它是開放原始碼軟體,取得容易,本身的運作架構也非常具有特色,對於企業想要更開放的儲存架構,並能用較低成本來儲存大量資料,兼顧對於系統與資料可靠度等種種需求,也都滿足到,因此後勢看漲。

例如,Ceph最令人津津樂道的是,能同時支援區塊式儲存、物件式儲存、檔案系統層級儲存,這些都是基於同一個函式庫之上的應用,日後要支援更多類型的儲存環境,也能繼續延伸,等於一開始就預留了功能擴充彈性。因此你只需要一套系統架構,就能搞定。

此外,Ceph的底層是叢集式的伺服器環境,若想要擴充儲存容量與使用規模,只需將更多臺伺服器加入叢集即可。而在這樣的環境下,Ceph也具備很高的可靠度,能自動修復和管理,資料也會同時複寫到多臺節點,一旦叢集中的節點發生故障情形時,不會影響整個儲存系統的運作,以及導致資料毀損。

Ceph是一個統一的分散式儲存系統,設計初衷是提供較好的效能、可靠性和可擴充套件性。開發檔案系統是一種複雜的投入,但是如果能夠準確地解決問題的話,則擁有著不可估量的價值。我們可以把 Ceph 的目標可以簡單定義為以下:

  • 容易擴充到 PB 級別的儲存容量
  • 在不同負載情況下的高效能(每秒輸入/輸出操作數[IPOS]、帶寬)
  • 高可靠性

但這些目標彼此間相互矛盾(例如:可擴充性會減少或阻礙效能,或影響可靠性)。 Ceph 開發了一些有趣的概念(例如動態 metadata 分區資料分散複製)。Ceph 的設計也實作了容錯性來防止單一節點故障問題(SOPF),並假設,大規模(PB 級)中儲存的故障是一種常態,而非異常。最後,它的設計沒有假設特定的工作負荷,而是包含了可變的分散式工作負荷的適應能力,從而提供最佳的效能。它以POSIX 兼容為目標完成這些工作,允許它透明的部署於那些依賴於 POSIX 語義上現有的應用(通過Ceph增強功能)。最後,Ceph 是開源分散式儲存和 Linux 主流核心的一部分。特點如下:

  • 高效能
    *摒棄了傳統的集中式儲存元資料定址的方案,採用CRUSH演算法,資料分佈均衡,並行度高。
    *考慮了容災域的隔離,能夠實現各類負載的副本放置規則,例如跨機房、機架感知等。
    *能夠支援上千個儲存節點的規模,支援TB到PB級的資料。
  • 高可用性
    *副本數可以靈活控制。
    *支援故障域分隔,資料強一致性。
    *多種故障場景自動進行修復自愈。
    *沒有單點故障,自動管理。
  • 高可擴充套件性
    *去中心化。
    *擴充套件靈活。
    *隨著節點增加而線性增長。
  • 特性豐富
    *支援三種儲存介面:塊儲存(Block)、檔案儲存(File)、物件儲存(Object)。
    *支援自定義介面,支援多種語言驅動。

超靈活!Ceph的三層式基本架構

Ceph以單一架構,同時提供物件、區塊、檔案的儲存,藉由RADOS函式庫中介,程式可直接存取底層叢集,並提供物件儲存閘道、區塊儲存裝置來對應存取,也可搭配元資料伺服器來提供檔案系統服務,而底層則是由多個RADOS節點組成的叢集所構成,可橫向擴充數千個節點,並以此提供PB、甚至EB等級的儲存空間。

Ceph引發開放式軟體儲存新浪潮

由於能同時支撐多種儲存形式、規模與容量易於擴展、高可用性等優勢,Ceph已成為許多人建置OpenStack環境時搭配的儲存系統首選, 根據OpenStack基金會2015年最新的使用者調查報告,在上線環境中採用的區塊式儲存系統,僅NetApp以11%的比例擠進第4名,Ceph卻拿到44%的占有率 ,背後更有許多系統廠商的奧援。

本圖示來源自: iThome