在昨天的文章中,筆者介紹到Ceph的主要目標是提供高可擴展性和提供對象存儲、塊存儲和文件系統的存儲機制,是一個高擴展、高容錯、高一致的開源分布式存儲平臺。
那么,Ceph的產品架構究竟是什么樣的呢?Ceph的產品生態優勢什么樣的呢?
Ceph架構圖
從Ceph的架構圖我們可以看到,從下到上,一共分為四個層次:基礎存儲系統RADOS(Reliable, Autonomic, Distributed Object Store,即可靠的、自動化的、分布式的對象存儲);基礎庫librados;高層應用接口和應用層。
其中,RADOS集群是Ceph項目的核心,所有存儲在Ceph系統中的用戶數據事實上最終都是由這一層來存儲的。RADOS由兩個組件組成:OSD(Object Storage Device)和Monitor。同時,Ceph基于RADOS開發了Object Storage、Block Storage、FileSystem。
Ceph生態
Ceph不僅架構清晰,更重要的是相比傳統的存儲架構,Ceph更注重生態的搭建。從整個Ceph生態系統來看,也可以分為四部分:客戶端、元數據服務器、元數據對象存儲和集群監視器。
在這個生態中,Ceph Client是Ceph文件系統的用戶;CMD(Ceph Metadata Daemon)提供了元數據服務器;COSD(Ceph Object Storage Device)對象存儲設備提供了實際存儲,負責響應客戶端請求返回具體數據的進程;而Ceph Monitor提供了集群管理,可以監管分布式系統的狀態一致性問題,維護集群內節點關系圖(mon-map osd-map mds-map pg-map)的一致性,一個Ceph集群需要多個Monitor組成的小集群,它們通過Paxos同步數據,用來保存OSD的元數據。