1. 程式人生 > >雲端計算儲存之Ceph是什麼?

雲端計算儲存之Ceph是什麼?

文章目錄


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可以被部署於上千臺伺服器上。截 至2013年3月初,Ceph在生產環境下部署的最大規模系統為Dreamhost公司的物件儲存業務叢集,其管理的物理儲存容量為3PB。


2. 為什麼要關注Ceph?

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

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

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

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

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


3. Ceph的發展

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

作為開源專案,Ceph遵循LGPL協議。

根據Inktank官方網站上的資訊,Cpeh的生態系統參加下圖:
在這裡插入圖片描述
Ceph ecosystem

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

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