一般來說我們認(rèn)識(shí)的存儲(chǔ)按照存儲(chǔ)和管理的對(duì)象來分的話,基本上可以分為:對(duì)象存儲(chǔ)、文件存儲(chǔ)和塊設(shè)備存儲(chǔ)。
Ceph在眾多的存儲(chǔ)解決方案是為數(shù)不多的在一個(gè)方案里面,提供了同時(shí)對(duì)上述三種存儲(chǔ)支持的一個(gè)優(yōu)秀的開源方案。
Ceph是加州大學(xué)Santa Cruz分校的Sage Weil(DreamHost的聯(lián)合創(chuàng)始人)專為博士論文設(shè)計(jì)的新一代分布式文件系統(tǒng)。自2007年畢業(yè)之后,Sage開始全職投入到Ceph開 發(fā)之中,使其能適用于生產(chǎn)環(huán)境。DreamHost在2012年的時(shí)候也推出了基于Ceph的公有云對(duì)象存儲(chǔ)服務(wù)。一個(gè)開源軟件,能正在商用,尤其是作為公有云對(duì)外提供服務(wù),是需要很大的勇氣的。Ceph已經(jīng)集成在了Linux內(nèi)核 (2.6.34之后) 之中,并能很好的使用在OpenStack的云操作系統(tǒng)。事實(shí)上OpenStack在未來的版本中會(huì)全面集成Ceph。
組件
Ceph是統(tǒng)一分布式存儲(chǔ)系統(tǒng),具有優(yōu)異的性能、可靠性、可擴(kuò)展性。Ceph的底層是RADOS(可靠、自動(dòng)、分布式對(duì)象存儲(chǔ)),可以通過LIBRADOS直接訪問到RADOS的對(duì)象存儲(chǔ)系統(tǒng)。RBD(塊設(shè)備接口)、RADOS Gateway(對(duì)象存儲(chǔ)接口)、Ceph File System(POSIX接口)都是基于RADOS的。

Ceph的核心是RADOS,它是分布式對(duì)象存儲(chǔ)系統(tǒng),由自修復(fù)、自管理、智能的存儲(chǔ)節(jié)點(diǎn)組成。RADOS作為數(shù)據(jù)持久層,是RADOS GW、RBD、CEPH FS的基礎(chǔ)。分布式對(duì)象存儲(chǔ)的基本問題是如何分布數(shù)據(jù)到成千上萬個(gè)存儲(chǔ)節(jié)點(diǎn)上,RADOS的核心是CRUSH(一個(gè)可擴(kuò)展的偽隨機(jī)數(shù)據(jù)分布算法)。CRUSH能夠有效映射數(shù)據(jù)對(duì)象到存儲(chǔ)節(jié)點(diǎn)上,而且能夠處理系統(tǒng)的擴(kuò)展和硬件失效,使得由于存儲(chǔ)節(jié)點(diǎn)的添加和移除而導(dǎo)致的數(shù)據(jù)遷移達(dá)到最小化。CRUSH算法在效率和擴(kuò)展性這兩個(gè)矛盾上做了很好的平衡。
RADOS 架構(gòu)
RADOS系統(tǒng)主要由兩個(gè)部分組成:
■ 由數(shù)目可變的大規(guī)模OSDs(Object Storage Devices)組成的機(jī)群,負(fù)責(zé)存儲(chǔ)所有的數(shù)據(jù);
■ 由少量監(jiān)視器(Monitors)組成的強(qiáng)耦合、小規(guī)模機(jī)群,負(fù)責(zé)管理這個(gè)集群的分布信息(Cluster Map),其中ClusterMap是整個(gè)RADOS系統(tǒng)的關(guān)鍵數(shù)據(jù)結(jié)構(gòu),管理機(jī)群中的所有成員、關(guān)系、屬性等信息以及數(shù)據(jù)的分發(fā)。

對(duì)于RADOS系統(tǒng),節(jié)點(diǎn)組織管理和數(shù)據(jù)分發(fā)策略均有內(nèi)部的監(jiān)視器全權(quán)負(fù)責(zé),所以,從客戶端角度設(shè)計(jì)相對(duì)比較簡單,它給應(yīng)用提供的僅為簡單的存儲(chǔ)接口。
Ceph現(xiàn)狀
Ceph項(xiàng)目主要貢獻(xiàn)者(大部分是Inktank公司的員工,因此Ceph目前還是由Inktank公司掌控著)。Ceph本來就有一定的影響力(源于它的架構(gòu)和功能),大家對(duì)它抱有很大的希望。自從inktank公司成立之后,inktank公司也不斷推動(dòng)Ceph與其他系統(tǒng)的整合,提高Ceph的影響力,目前Ceph支持OpenStack、CloudStack和OpenNebula這三個(gè)最流行的云計(jì)算框架,以及也支持了事實(shí)的大數(shù)據(jù)標(biāo)準(zhǔn)OpenStack。
2013年Cpeh曾經(jīng)做出了一個(gè)調(diào)差,在收到的81份反饋中:
■ 有36個(gè)公司在調(diào)查Ceph中
■ 有24個(gè)公司在預(yù)生產(chǎn)環(huán)境使用Ceph
■ 有21個(gè)公司在生產(chǎn)環(huán)境使用Ceph

在生產(chǎn)環(huán)境中,已經(jīng)使用的裸磁盤有1154TB,Dreamhost已經(jīng)超過 3PB了(收到的反饋中并沒有DreamHost)
在預(yù)生產(chǎn)環(huán)境中案例中, 最大的一個(gè)環(huán)境已經(jīng)達(dá)到了20PB,他被用來部署OpenStack。
未來
Ceph統(tǒng)一的架構(gòu)滿足了云計(jì)算和大數(shù)據(jù)對(duì)存儲(chǔ)系統(tǒng)的需求。Ceph背后的力量很大,在商業(yè)公司的驅(qū)動(dòng)下 Ceph會(huì)被集成到OpenStack、CloudStack、OpenNebula、Hadoop等優(yōu)秀的開源云計(jì)算、大數(shù)據(jù)系統(tǒng)中;借助這些平臺(tái)的力量繼續(xù)推廣Ceph。