Linux持續(xù)不斷進(jìn)軍可擴(kuò)展計算空間,特別是可擴(kuò)展存儲空間。Ceph 最近加入到 Linux 中令人印象深刻的文件系統(tǒng)備選行列,它是一個分布式文件系統(tǒng),能夠在維護(hù) POSIX 兼容性的同時加入了復(fù)制和容錯功能。
基本簡介
Ceph是一種為優(yōu)秀的性能、可靠性和可擴(kuò)展性而設(shè)計的統(tǒng)一的、分布式文件系統(tǒng)。
由來
其命名和UCSC(Ceph 的誕生地)的吉祥物有關(guān),這個吉祥物是“Sammy”,一個香蕉色的蛞蝓,就是頭足綱中無殼的軟體動物門。這些有多觸角的頭足類動物,是對一個分布式文件系統(tǒng)高度并行的形象比喻。
Ceph 最初是一項(xiàng)關(guān)于存儲系統(tǒng)的 PhD 研究項(xiàng)目,由 Sage Weil 在 University of 加利福尼亞州, SantaCruz(加州大學(xué)圣塔克魯茲分校)實(shí)施。
開發(fā)目標(biāo)
簡單定義為以下3項(xiàng):
1. 可輕松擴(kuò)展到數(shù) PB 容量
2. 支持多種工作負(fù)載的高性能(每秒輸入/輸出操作[IOPS]和帶寬)
3. 高可靠性
但是,這些目標(biāo)之間會互相競爭(例如,可擴(kuò)展性會降低或者抑制性能或者影響可靠性)。Ceph 的設(shè)計還包括保護(hù)單一點(diǎn)故障的容錯功能,它假設(shè)大規(guī)模(PB 級存儲)存儲故障是常見現(xiàn)象而不是例外情況。
它的設(shè)計并沒有假設(shè)某種特殊工作負(fù)載,但包括了適應(yīng)變化的工作負(fù)載,并提供最佳性能的能力。它利用 POSIX 的兼容性完成所有這些任務(wù),允許它對當(dāng)前依賴 POSIX 語義(通過以 Ceph 為目標(biāo)的改進(jìn))的應(yīng)用進(jìn)行透明的部署。
系統(tǒng)架構(gòu)
Ceph 生態(tài)系統(tǒng)架構(gòu)可以劃分為四部分:
1. Clients:客戶端(數(shù)據(jù)用戶)
2. cmds:Metadata server cluster,元數(shù)據(jù)服務(wù)器(緩存和同步分布式元數(shù)據(jù))
3. cosd:Object storage cluster,對象存儲集群(將數(shù)據(jù)和元數(shù)據(jù)作為對象存儲,執(zhí)行其他關(guān)鍵職能)
4. cmon:Cluster monitors,集群監(jiān)視器(執(zhí)行監(jiān)視功能)
未來發(fā)展
作為分布式文件系統(tǒng),其能夠在維護(hù) POSIX 兼容性的同時加入了復(fù)制和容錯功能。從 2010 年 3 月底,您可以在Linux 內(nèi)核(從2.6.34版開始)中找到 Ceph 的身影,作為Linux的文件系統(tǒng)備選之一,Ceph.ko已經(jīng)集成入Linux內(nèi)核之中。雖然目前Ceph 可能還不適用于生產(chǎn)環(huán)境,但它對測試目的還是非常有用的。
Ceph 不僅僅是一個文件系統(tǒng),還是一個有企業(yè)級功能的對象存儲生態(tài)環(huán)境。
現(xiàn)在,Ceph已經(jīng)被集成在主線 Linux 內(nèi)核中,但只是被標(biāo)識為實(shí)驗(yàn)性的。在這種狀態(tài)下的文件系統(tǒng)對測試是有用的,但是對生產(chǎn)環(huán)境沒有做好準(zhǔn)備。但是考慮到Ceph 加入到 Linux 內(nèi)核的行列,不久的將來,它應(yīng)該就能用于解決海量存儲的需要了。
一些開源的云計算項(xiàng)目已經(jīng)開始支持Ceph,事實(shí)上Ceph是目前OpenStack生態(tài)系統(tǒng)中呼聲最高的開源存儲解決方案。這些項(xiàng)目都支持通過libvirt調(diào)用Ceph作為塊設(shè)備進(jìn)行讀寫訪問。
參考資料 >