1、什麼是Ceph?

Ceph的官方網站Ceph.com上用如下這句話簡明扼要地定義了Ceph:

「Ceph is a unified, distributed storage system designed for excellent performance, reliability and scalability.」

也即,Ceph是一種為優秀的性能、可靠性和可擴展性而設計的統一的、分散式的存儲系統。應該說,這句話確實點出了Ceph的要義,可以作為理解Ceph系統設計思想和實現機制的基本出發點。在這個定義中,應當特別注意「存儲系統」這個概念的兩個修飾詞,即「統一的」和「分散式的」。

具體而言,「統一的」意味著Ceph可以一套存儲系統同時提供對象存儲、塊存儲和文件系統存儲三種功能,以便在滿足不同應用需求的前提下簡化部署和運維。而「分散式的」在Ceph系統中則意味著真正的無中心結構和沒有理論上限的系統規模可擴展性。在實踐當中,Ceph可以被部署於上千臺伺服器上。

2、為什麼要關注Ceph?

事實上,Ceph並不是一個剛剛出現的開源項目。與此相反,從最初發布到逐漸流行,Ceph走過了七年以上的漫長路程。之所以應當對Ceph加以瞭解,其原因大致有兩個方面:

首先,Ceph本身確實具有較為突出的優勢。

Ceph值得一提的優勢頗多,包括統一存儲能力、可擴展性、可靠性、性能、自動化的維護等等。本質上,Ceph的這些優勢均來源於其先進的核心設計思想,筆者將其概括為八個字——「無需查表,算算就好」。基於這種設計思想,Ceph充分發揮存儲設備自身的計算能力,同時消除了對系統單一中心節點的依賴,從而實現了真正的無中心結構。基於這一設計思想和結構,Ceph一方面實現了高度的可靠性和可擴展性,另一方面保證了客戶端訪問的相對低延遲和高聚合帶寬。通過後續內容的介紹,可以看到,Ceph幾乎所有優秀特性的實現,都與這個核心設計思想有關。

其次,Ceph目前在OpenStack社區中備受重視。

OpenStack是目前最為流行的開源雲操作系統。而據觀察,Ceph之所以在近一兩年間熱度驟升,其最為有力的推動因素就是OpenStack社區的實際需求。目前而言,Ceph已經成為OpenStack社區中呼聲最高的開源存儲方案之一,其實際應用主要涉及塊存儲和對象存儲,並且開始向文件系統領域擴展。這一部分的相關情況,在後續文章中也將進行介紹。

3、Ceph的產生與發展

通常而言,開源項目的來源有三:一是學校裏的大牛作的課題,論文發夠然後開源;二是企業裏的大牛搞的產品,機緣巧合於是開源;三是某些大牛突然顯靈,然後一票人跟著一起開源。每一類的例子都有不少,而不同起源的開源項目也有著自身的不同特點。具體而言,第一類項目的原理和技術上很可能頗有獨到之處,而Ceph就正在此列。相比之下,第二類項目的設計實現很可能頗為成熟,並且在開源之前或者開源初期就獲得生產環境下的實際部署應用機會。這種出身背景上的因素,對於一個開源項目的後續發展很有可能產生影響。

言歸正傳。Ceph項目起源於其創始人Sage Weil在加州大學Santa Cruz分校攻讀博士期間的研究課題。項目的起始時間為2004年。在2006年的OSDI學術會議上,Sage發表了介紹Ceph的論文,並在該篇論文的末尾提供了Ceph項目的下載鏈接。由此,Ceph開始廣為人知。

Ceph使用C++語言開發。對於一個典型的強調性能的系統項目,這一選擇可以理解。

作為開源項目,Ceph遵循LGPL協議。

根據Inktank官方網站上的信息,Cpeh的生態系統參加下圖:

不難看出,圖中列出的廠商或組織帶有明顯的雲計算氣息。

隨著Ceph的熱度不斷增加,Sage Weil於2011年創立了Inktank公司以主導Ceph的開發和社區維護。目前,Ceph的發布週期為三個月。

4、Sage Weil其人其事

在展開後續的技術討論之前,適度八卦Sage Weil的人生經歷實在是很有必要,因為這位兄臺委實是IT男青年中鳳毛麟角的在工程、研究、創業三個領域都有涉獵且都頗有建樹的神人。

Sage在工程上的能力自然不必多言,而他發表Ceph論文的OSDI也是計算機操作系統領域首屈一指的最高水平學術會議。至於創業方面,Sage是DreamHost的聯合創始人,彼時是1997年,他剛上大學不久。。。有興趣的同學可以去LinkedIn研究一下Sage的個人簡歷,基本上是想工作就工作,想上學就上學,想創業就創業,想讀博就讀博,隨心所欲,天馬行空,令人油然而生一種表示敬佩的衝動。。。

Ceph的基本情況就介紹到這裡。下一篇文章將開啟更為技術的內容,並首先探討Ceph的設計思想。


推薦閱讀:
相關文章