近年來,大型企業以及開源社區不斷的推動中國開源技術的發展,今天的中國已然成為OpenStack & Ceph等開源技術大放光彩的樂土。

圖為 Ceph中國行各地沙龍
Ceph國內用戶生態
Ceph作為全球最火熱的開源分布式存儲項目,同樣在中國的發展也是非?;馃?,不斷開始在不同領域不同行業及客戶系統相融合。典型應用在國內一線互聯網公司以及運營商、政府、金融、廣電、能源、游戲、直播等行業。
當前中國Ceph形勢對比前幾年已經發生了決定性的變化,隨著國內越來越多的各行業用戶的使用,足以見證它的穩定性可靠性。Ceph中國用戶生態已然形成,可以看到國內如:中國移動、騰訊、阿里、網易、樂視、攜程、今日頭條、中國電信、中興、恒豐銀行、平安科技、YY、B站、360等。正是由于眾多用戶的使用驗證了它的穩定性和可靠性的同時也促進了Ceph的進步,使其出現了很多新東西,如 SPDK、BlueStore、RDMA等等這些高性能底層技術。
Ceph國內貢獻
豪邁在之前的文章也談到過Ceph社區的貢獻者,非常有意思的是 Ceph 的使用用戶占據了相當的貢獻排名,一定程度上反映了 Ceph 目前的現狀,要能夠真正掌控Ceph 必須得深入社區并隨之成長。因此,對于一個并不是像 Linux 一樣成熟的開源項目,特別還是一個存儲系統來說,代碼貢獻程度基本決定了對于Ceph 的理解,風險控制和使用程度。社區內部的形成的開發,使用問題,迭代,修復,升級,測試流程閉環產生的效應能夠大大提高參與公司對于Ceph 的理解。大部分真正大規模使用或者基于 Ceph 的產品的公司都參與或間接參與到了社區其中,這非常類似于早期的Linux 和 OpenStack 情況。
那么國內都有哪些公司參與社區的貢獻呢?我來說下,如:中國移動、XSKY、中興、浪潮、H3C、阿里、網易、樂視、360、United Stack、99cloud等等,我這里就不展開說了(以上公司不分排名),詳情可以查看社區mail list。
大家可能會說國內企業對Ceph社區貢獻的參與度遠遠低于OpenStack社區貢獻,我覺得這樣反而沒什么不好,因為存儲是一個很嚴肅的事情,控制層面的東西遠遠不能和數據層面的東西相比較,另外存儲的門檻很高,不是隨隨便便就可以玩的。社區要求高質量的代碼,拒絕刷榜污染開源技術文化環境。例如樂視小伙伴提交的Ceph RGW:Lifecycle還有XSKY小伙伴提交的DPDK、SPDK、RDMA、AsyncMessenger等等。
Ceph社區:持續的創新環境
從傳統IT基礎架構的生態鏈看,各個層級的行業領導者紛紛為Ceph投入人力,物力來持續推動不斷創新的運行,開發和生產環境。

如圖所示RedHat、SUSE、Canonical、FreeBSD等構成了Ceph 軟件發行包的廠商,Intel,Mellanox,AMD 和 Cisco 分別在不同的硬件組件層面推動自身融入Ceph 體系,SanDisk,HDS 和 Fujitsu 都在自身的存儲系統上采用 Ceph 整合,CERN 和德國電信分別是 Ceph 社區參與和回饋最多的企業用戶。同時近年來國內運營商級別用戶中國移動也在參與Ceph社區的貢獻。
Ceph 通過其開放的社區和插件化的代碼架構來包容越來越多的底層廠商參與其中,不管是 Mellanox 推動 Infiniband/RDMA,還是希捷的 Kinetic API,或是 Intel x86 架構,ARM 都在積極的參與其中,利用自身的優勢來持續對 Ceph 軟件體系進行創新發展。
比如在網絡層面,Mellanox 聯合 XSKY提供了基于 RDMA 的網絡方案,Chelsio 跟 XSKY 合作實現基于 iWARP 的 RDMA 存儲網絡等。
Ceph存儲引擎
Ceph在存儲后端支持多種不同的存儲引擎,有點類似MySQL支持InnoDB,MyISAM等等一樣。之前有FileStore,KeyValueStore、NewStore和MemStore,但在這些存儲引擎中真正被用來做在線系統只有FileStore。但是FileStore由于歷史問題,存在先天的過多依賴本地文件系統的問題,在高利用率下存在較為嚴重的性能瓶頸問題。
因此,從Infernails版本開始,Sage開始NewStore的開發,通過結合鍵值數據庫的高效管理和本地文件系統對于數據的空間管理來實現高效的后端存儲。但是由于RocksDB和XFS的完美結合困難,在遭受若干次打擊后,Sage Weil決定一捅到底,直接替換XFS使用一個簡易的用戶態文件系統進行管理。這個項目命名為BlueStore。

BlueStore架構圖
在這個嶄新的 BlueStore設計和實現中,RocksDB被寄予厚望去管理起整個元數據系統,同時整個數據空間會采用一些為Ceph優化的空間分配器進行工作。目前Ceph已經支持離線 FileStore 到 BlueStore 的轉換。
Ceph備份容災
作為一個分布式存儲系統,Ceph 很少會提及整集群全量備份,畢竟作為一個龐大的多副本存儲池,很難再投入更大規模的備份系統作為支撐,更多的是由Ceph 自身通過副本和后臺校驗加上并行恢復來達到傳統存儲加備份機的可靠性。
但是 Ceph 仍然在不同的接口系統中提供了多種方式,在塊存儲中,用戶往往需要備份幾個重要的卷即使Ceph 集群在最差情況完全無法啟動也能保證重要數據不至于丟失。
Ceph RBD異地災備叫做Ceph RBD Mirroring,在Ceph Jewel版本中宣布可用。在此之前Ceph塊存儲解決方案(俗稱RBD)還不能很好的跨地域復制(災備)。這里需要提醒一下,由于Ceph是強一致性,所以只有在所有副本都寫完的時候才認為一個寫操作完成。這就是為什么建立一個跨很長距離地域的集群通常都不是一個好主意,因為這種情況延時一般都很高。集群必須等到所有的寫操作都完成,所以客戶端可能需要大量的時間來進行確認。
因此,需要一種機制來允許在不同地域的集群之間復制塊設備。在當前Jewel版本中,主要是實現兩個守護進程之間一對一的關系,而在未來將會擴展到1對N。這樣,在Jewel以后的版本中,你將能夠配置一個集群備份到多個目標備份集群中。
RBD Mirror功能的啟用和禁用可以作用在整個Pool或者一個p_w_picpath上。如果在資源池級別啟用了RBD Mirror功能,這樣資源池中的每一個啟用了日志特性的鏡像將會被Mirroragent復制。
目前Ceph在多集群方案聚焦于接口層的方案,而不是在 RADOS 層面實現。比如 RADOS Object Storage在集群間通過Agent的方式進行數據同步,當然,在Jewel 版本中RADOS Object Storage V2種已經支持多讀多寫的機制,由于對象存儲的弱語意,RADOS Object Storage的跨站仍然是最終一致性。其定義了 Zone,ZoneGroup 和聯合集群概念,每個 Zone 可以理解為一個傳統 Ceph 集群的部分,ZoneGroup 是多個Zone的集合,通常由不同地的Ceph集群中的Zone構成,而整個聯合集群中只允許一個Master ZoneGroup 來進行寫操作。因此從邏輯上來部署的話,Master ZoneGroup可以由多個Ceph集群構成,而Slave ZoneGroup也可以將這些Ceph集群的其他池作為Zone。這樣就完成了多地多活的集群方案。
新版 Multi-Site 沿用記日志再同步的架構,代碼基本重寫,引入了boost 的協程框架,配置更清晰。同一個域下多 Zone之間的數據為多主模式,可以同時寫;元數據為主從模式,由主Zone寫入并同步到從Zone,保證元數據一致性。并且即將支持桶級同步。最近主線合并了同步模型的插件框架,用戶可以自定義插件來對接 elasticsearch 實現元數據索引,或者自定義的向云端備份等操作。
Ceph未來展望
1.Ceph與Elasticsearch
前段時間看到Ceph支持了Elasticsearch,RGW+Elasticsearch是今年Ceph對象存儲的一個熱點功能,相信Ceph在大數據時代下對數據搜索分析方面也將會更加的完善。
2.CephFS
CephFS在社區Jewel版本宣稱生產環境就緒, 目前 Active/Standby 模式比較穩定,Multi Active模式不太穩定,另外大規模使用的時候還是有一些問題,希望社區盡快完善CephFS相關功能,從用戶角度還是有很多人期待使用CephFS的。
Ebay之前測試過J版本的CephFS,感興趣的可以看看他們的測試報告在Slideshare上(http://www.slideshare.net/XiaoxiChen3/cephfs-jewel-mds-performance-benchmark)
3.Ceph與新型硬件
同時在硬件高速發展的今天,也希望Ceph能夠在Intel的最新硬件3D Xpoint能跑出更好更高的性能,能夠使Ceph更加適應高性能的場景。
4.Ceph人才培養
最后說下對于Ceph人才的培養看法,國家工信部的三年計劃里面也公示了,”要建立創新人才培養模式,鼓勵高校加強云計算相關學科建設,支持企業與高校聯合開展在職人員培訓,簡歷一批人才實訓基地?!?隨著Ceph在中國的運營商、政府、金融、廣電、能源、游戲、直播等行業紛紛落地,導致出現了大量職位空缺。
所以現在需要建立起一套標準的Ceph培訓體系來緩解目前對Ceph人才的稀缺問題,同時進行Ceph校園行以京津冀地區高校為試點輻射全國,所謂開源、Ceph宣傳推廣從校園開始,響應國家號召促進大學生就業和積極參與開源社區貢獻。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。