1. 程式人生 > 實用技巧 >效能1.84倍於Ceph!網易數帆Curve分散式儲存開源

效能1.84倍於Ceph!網易數帆Curve分散式儲存開源

在上週剛結束的網易數字+大會上

網易數帆宣佈:

開源一款名為Curve的高效能分散式儲存系統,

效能可達Ceph的1.84倍!

網易副總裁、網易杭州研究院執行院長兼網易數帆總經理汪源:

基礎軟體的能力對於數字化轉型非常關鍵,當前儲存領域需要一款效能更高、可用性/可靠性更好、自治能力更強的分散式儲存系統,Curve的開源不僅代表網易數帆在基礎軟體市場的堅持,也為軟體定義基礎設施生態的繁榮再添一把火。

採用先進架構設計 單卷效能1.84倍於Ceph

Curve的定位,是提供一個高效能、低延遲的儲存底座,基於這個儲存底座,企業可以打造適用於不同應用場景的儲存系統,如塊儲存、物件儲存、雲原生資料庫等。目前,網易數帆已經實現了高效能塊儲存系統。

汪源介紹,Curve主要具有三大設計特點:高效能、高可用和自治。

高效能源自先進架構。Curve參考了業界的儲存系統,採用先進、高效的開源技術,設計了一個新架構實現高效能低延遲的核心能力,採用高效能的RPC框架來保障網路資料流的高效能和低延遲,基於Raft協議實現多副本一致性下的低延遲,並針對Raft協議的快照實現進一步優化。磁碟IO方面,Curve通過更細粒度的地址空間的hash減少IO碰撞,增加IO併發度,並採用chunkfilepool減小IO放大倍數,從而最大限度地發揮硬體的效能。

汪源公佈了Curve和CephL版本的測試資料對比,在單卷的場景下,核心的4K隨機讀/寫的IOPS效能,Curve分別是Ceph的1.84倍和1.58倍,同時延遲相比Ceph分別降低48.39%和37.50%。

他在採訪中透露,Curve還有一些創新的效能優化工作尚未完成,如細粒度雜湊、io_uring落盤方案,預計完成優化之後下個版本還會有30%的效能提升。換句話說,Curve單卷效能將會達到Ceph的2倍以上。效能差異來自架構設計的不同選擇,分散式一致性Curve採用了Quorum機制,而Ceph實現強一致性,前者延遲優於後者,而且可以在不太影響IO效能的情況下能從故障中快速恢復。

Curve與Ceph效能測試對比

高可用方面,Curve被設計為核心元件都能容忍部分例項失敗而不影響整個叢集的可用性。汪源介紹,無論是單臺儲存故障,還是系統擴容,Curve的客戶端IO都不會受到絲毫的影響,插拔硬碟、服務程式中斷這些常見異常,IO抖動也很小。當然,故障恢復過程對上層IO也不會造成明顯影響。

此外,在自治方面,Curve實現了一鍵部署、一鍵升級,運維只要很少的人工幹預,並基於Promethues和Grafana等開源技術打造了全面的度量標準和告警體系。

回饋開源 強化軟體定義基礎設施短板

基於Curve的高效能塊儲存系統已經作為應用在網易的一些核心業務中,支援快照克隆和恢復, 支援QEMU虛擬機器器和物理機NBD裝置兩種掛載方式。

系統上線至今400多天,從未出現資料不一致和丟資料的情況,沒有發生過重大故障,資料可靠性達到100%,服務可用率達到4個9以上。線上環境的異常演練,也證實了異常對業務的影響如上文所述。但對於網易數帆來說,這個成績只是Curve征途的開始。

鑑於目前開源領域還沒有足夠高效能和低延遲的分散式儲存系統,汪源宣佈,網易數帆把Curve開源出來,回饋社群,讓業界一起來使用它,也希望大家一起參與把Curve打造得越來越好。

Curve專案的最新穩定版本已經上傳到Github,並提供了部署檔案。作為生長於中國本土的專案,Curve首先提供中文檔案,希望降低中文使用者嚐鮮的門檻。對Curve感興趣的朋友,可以通過http://opencurve.github.io獲取更多資訊啦。