開源的Ceph及Red Hat旗下的Gluster都是成熟的技術(shù),但興許不久之后就將經(jīng)歷某種重生了。隨著存儲(chǔ)產(chǎn)業(yè)開始向擴(kuò)展性存儲(chǔ)及云的方向發(fā)展,將不斷會(huì)有基于這些低價(jià)的軟件技術(shù)的產(chǎn)品推向市場(chǎng),而對(duì)這些自集成解決方案的補(bǔ)充在近一年來(lái)不斷涌現(xiàn)。
Ceph與Gluster在原理上有著本質(zhì)上的不同。Ceph基于一個(gè)名為RADOS的對(duì)象存儲(chǔ)系統(tǒng),使用一系列API將數(shù)據(jù)以塊(block)、文件(file)和對(duì)象(object)的形式展現(xiàn)。Ceph存儲(chǔ)系統(tǒng)的拓?fù)浣Y(jié)構(gòu)圍繞著副本與信息分布,這使得該系統(tǒng)能夠有效保障數(shù)據(jù)的完整性。
而Red Hat將Gluster描述為可擴(kuò)展的網(wǎng)絡(luò)存儲(chǔ)設(shè)備(Scale-out NAS)和對(duì)象存儲(chǔ)系統(tǒng)。它使用一個(gè)哈希算法來(lái)計(jì)算數(shù)據(jù)在存儲(chǔ)池中的存放位置,這點(diǎn)跟Ceph很類似。并且這是保證擴(kuò)展性的關(guān)鍵。在Gluster中,所有的存儲(chǔ)服務(wù)器使用哈希算法完成對(duì)特定數(shù)據(jù)實(shí)體的定位。于是數(shù)據(jù)可以很容易的復(fù)制,并且沒(méi)有中心元數(shù)據(jù)單點(diǎn)這樣一個(gè)容易造成訪問(wèn)瓶頸的部分,這種單點(diǎn)在早期Hadoop上出現(xiàn),對(duì)性能和可靠性造成較大影響。
Ceph與Gluster有著相似的數(shù)據(jù)分布能力。Ceph像大多數(shù)對(duì)象存儲(chǔ)軟件那樣,通過(guò)更大的節(jié)點(diǎn)集進(jìn)行數(shù)據(jù)條帶化處理。這樣的好處是能夠防止數(shù)據(jù)訪問(wèn)的瓶頸效應(yīng)。
因?yàn)槟J(rèn)的Ceph塊比較小(僅為64KB),所以數(shù)據(jù)流被切分為許多隨機(jī)的IO操作。而磁盤在隨機(jī)IO的時(shí)候一般能夠達(dá)到最大值(對(duì)HDD而言最多達(dá)到150次每秒),并且這個(gè)數(shù)值不會(huì)隨傳輸?shù)臄?shù)據(jù)大小改變多少。所以對(duì)于Ceph而言,設(shè)置更大的IO塊意味著能夠一次聚合傳輸更多的數(shù)據(jù)。
Gluster默認(rèn)的塊大小是128KB。這是Red Hat聲稱在一項(xiàng)基準(zhǔn)測(cè)試中Gluster的性能是Ceph的三倍的主要原因。當(dāng)然,測(cè)試者用了一些小技巧,所以測(cè)試結(jié)果是參數(shù)設(shè)置及實(shí)驗(yàn)調(diào)優(yōu)的結(jié)果。 Ceph能夠?qū)K大小從64KB設(shè)置為256KB甚至1MB,這么做也能使Ceph的性能得到不小的提升。
基準(zhǔn)測(cè)試的門道相當(dāng)復(fù)雜。塊大小的設(shè)置能夠左右Ceph與Gluster的性能對(duì)比。想要得到公平的比較結(jié)果,就必須依賴第三方不帶任何偏見(jiàn)的進(jìn)行測(cè)試。顯然,Red Hat的報(bào)告有著顯著的誤導(dǎo)性。
回頭再來(lái)看兩者的擴(kuò)展性能。兩個(gè)系統(tǒng)都避免了單節(jié)點(diǎn)的存在,因此可以近乎線性的進(jìn)行擴(kuò)展。重復(fù)數(shù)據(jù)刪除不會(huì)對(duì)性能造成太大的差異。兩者的服務(wù)器端的壓縮技術(shù)減輕了磁盤利用及網(wǎng)絡(luò)負(fù)載雙方面的壓力,并且降低了每個(gè)文件的磁盤IO次數(shù)。
Ceph file journals技術(shù)能夠向SSD設(shè)備中寫從而使得性能大幅度提升。并且支持緩存(Caching)或分層(Tiering),配置方式可簡(jiǎn)可繁。
Ceph在恢復(fù)損壞的磁盤時(shí)有優(yōu)勢(shì)。因?yàn)椋珻eph相比Gluster將數(shù)據(jù)放置在一個(gè)更大的節(jié)點(diǎn)集中,有更多的設(shè)備(磁盤驅(qū)動(dòng)器)能夠同時(shí)輸入副本數(shù)據(jù)。這將大大縮短數(shù)據(jù)重建的時(shí)間,且不會(huì)顯著增加某個(gè)磁盤設(shè)備的負(fù)載。在大規(guī)模的集群中,這是一個(gè)顯著的優(yōu)勢(shì)。
兩個(gè)系統(tǒng)的安裝和運(yùn)維都相當(dāng)簡(jiǎn)單,但如果規(guī)劃要做長(zhǎng)期的部署則必須花費(fèi)一些時(shí)間認(rèn)真準(zhǔn)備。存儲(chǔ)管理員會(huì)發(fā)現(xiàn)Inktank為Ceph提供了一些更為精細(xì)的操作,因?yàn)镃eph對(duì)文件系統(tǒng)、塊訪問(wèn)以及遠(yuǎn)程復(fù)制等操作都是采用內(nèi)建函數(shù)的方式,而不像Gluster那樣采用插件的方式。這給了Ceph很大的優(yōu)勢(shì),也是為什么Ceph能夠在安裝上領(lǐng)先Gluster的原因。這能夠很輕松的解決塊遷移的問(wèn)題并且提供單個(gè)存儲(chǔ)池的管理。
誠(chéng)然,兩者在合理的代價(jià)下為用戶提供了較強(qiáng)的可選性。兩者的源代碼都是開源且免費(fèi)的,Inktank和Red Hat公司則提供支持服務(wù)及管理工具包。相比傳統(tǒng)的存儲(chǔ),隨著通用型硬件及存儲(chǔ)設(shè)備(磁盤)價(jià)格的不斷下降,Ceph和Gluster都體現(xiàn)出越來(lái)越大的價(jià)值。
因?yàn)楹芎玫墓δ?、不錯(cuò)的性能以及在價(jià)格方面的優(yōu)勢(shì),Ceph以及Gluster在昂貴的專用存儲(chǔ)之外提供了一種可行的解決方案,可以預(yù)見(jiàn)它們將會(huì)得到市場(chǎng)的青睞,并且有可能撼動(dòng)由EMC或NetApp所把持的存儲(chǔ)市場(chǎng)。