
CURVE
CURVE安裝教程
CURVE是網(wǎng)易自主設(shè)計研發(fā)的高性能、高可用、高可靠分布式存儲系統(tǒng),具有非常良好的擴(kuò)展性?;谠摯鎯Φ鬃梢源蛟爝m用于不同應(yīng)用場景的存儲系統(tǒng),如塊存儲、對象存儲、云原生數(shù)據(jù)庫等。當(dāng)前我們基于CURVE已經(jīng)實現(xiàn)了高性能塊存儲系統(tǒng),支持快照克隆和恢復(fù) ,支持QEMU虛擬機(jī)和物理機(jī)NBD設(shè)備兩種掛載方式, 在網(wǎng)易內(nèi)部作為高性能云盤使用。

軟件介紹
curve的設(shè)計開發(fā)始終圍繞三個理念:一是順應(yīng)當(dāng)前存儲硬件設(shè)施發(fā)展趨勢,做到軟硬件結(jié)合打造頂級的存儲產(chǎn)品;二是秉持“Simple Can be harder than complex”,了解問題本質(zhì)情況下選擇最簡單的方案解決問題;三是擁抱開源,在充分調(diào)研的前提下使用優(yōu)秀的開源項目組件,避免造輪子。
當(dāng)前網(wǎng)易基于curve已經(jīng)實現(xiàn)了高性能塊存儲系統(tǒng),支持快照克隆和恢復(fù) ,支持QEMU虛擬機(jī)和物理機(jī)NBD設(shè)備兩種掛載方式, 在網(wǎng)易內(nèi)部作為高性能云盤使用。
軟件特色
1、高性能
高性能是curve的一大特點,也是項目團(tuán)隊創(chuàng)建curve項目的初衷。RPC層面curve采用了高性能和低延遲并且已開源的brpc;在一致性層面選擇了基于quorum機(jī)制并且開源的braft,從協(xié)議層面來說quorum機(jī)制在延遲方面天生優(yōu)于多副本強(qiáng)一致的方式。實現(xiàn)上curve對braft快照的實現(xiàn)進(jìn)行了優(yōu)化,在狀態(tài)機(jī)的實現(xiàn)上采用chunkfilepool的方式(初始化集群的時候格式化出指定比例的空間用作chunk)使得底層的寫入放大為0;此外curve還在chunk上進(jìn)行更細(xì)力度的地址空間hash以達(dá)到讀寫分離、減小IO碰撞等的效果,從而進(jìn)一步提升IO性能。
2、高可用
高可用是curve的另一大特點。MDS、ChunkServer以及SnapShotCloneServer都支持多實例部署,部分實例異常不影響整個集群的可用性。
2.1、MDS
MDS是無狀態(tài)的,推薦至少部署兩個實例。通過Etcd進(jìn)行選主。多個MDS實例通過Etcd進(jìn)行選主,當(dāng)單個實例失效時,可以秒級切換到另外一個實例。失效實例上正在處理的請求,Client和SnapShotCloneServer都會對其進(jìn)行重試,以達(dá)到不影響集群可用性的效果。
2.2、SnapShotCloneServer
SnapShotCloneServer與MDS類似, 也是通過Etcd進(jìn)行選主,不同的是,它通過負(fù)載均衡對外提供服務(wù)。失效期間的請求失敗重試都是冪等的,不影響任務(wù)的正確性以及集群的可用性。
2.3、ChunkServer
ChunkServer是一個集群,通過Raft協(xié)議保持?jǐn)?shù)據(jù)一致性,并通過MDS做負(fù)載均衡。單個節(jié)點失效時,會影響到這個節(jié)點上存儲的所有Copyset。對于Copyset上的Leader節(jié)點,會中斷服務(wù),等待重新選舉;對于Copyset上的follower節(jié)點,服務(wù)不會受影響。當(dāng)某個Chunkserver節(jié)點失效且在一段時間內(nèi)無法恢復(fù),MDS會將其上的數(shù)據(jù)遷移到其他節(jié)點上。
下載地址
-
- 通用安全下載
-
- 移動安全下載
-
- 聯(lián)通安全下載
-
- 電信安全下載
-
- 移動網(wǎng)絡(luò)下載
-
- 聯(lián)通網(wǎng)絡(luò)下載
-
- 電信網(wǎng)絡(luò)下載
-
- 通用網(wǎng)絡(luò)下載