天天看點

Ceph分布式存儲實戰1.2 Ceph的功能元件

<b>1.2 ceph的功能元件</b>

ceph提供了rados、osd、mon、librados、rbd、rgw和ceph fs等功能元件,但其底層仍然使用rados存儲來支撐上層的那些元件,如圖1-2所示。

圖1-2 ceph功能元件的整體架構

下面分為兩部分來講述ceph的功能元件。

(1)ceph核心元件

在ceph存儲中,包含了幾個重要的核心元件,分别是ceph osd、ceph monitor和ceph mds。一個ceph的存儲叢集至少需要一個ceph monitor和至少兩個ceph的osd。運作ceph檔案系統的用戶端時,ceph的中繼資料伺服器(mds)是必不可少的。下面來詳細介紹一下各個核心元件。

ceph osd:全稱是object storage device,主要功能包括存儲資料,處理資料的複制、恢複、回補、平衡資料分布,并将一些相關資料提供給ceph monitor,例如ceph osd心跳等。一個ceph的存儲叢集,至少需要兩個ceph osd來實作active + clean健康狀态和有效的儲存資料的雙副本(預設情況下是雙副本,可以調整)。注意:每一個disk、分區都可以成為一個osd。

ceph monitor:ceph的監控器,主要功能是維護整個叢集健康狀态,提供一緻性的決策,包含了monitor map、osd map、pg(placement group)map和crush map。

ceph mds:全稱是ceph metadata server,主要儲存的是ceph檔案系統(file system)的中繼資料(metadata)。溫馨提示:ceph的塊存儲和ceph的對象存儲都不需要ceph mds。ceph mds為基于posix檔案系統的使用者提供了一些基礎指令,例如ls、find等指令。

(2)ceph功能特性

ceph可以同時提供對象存儲radosgw(reliable、autonomic、distributed、object storage gateway)、塊存儲rbd(rados block device)、檔案系統存儲ceph fs(ceph file system)3種功能,由此産生了對應的實際場景,本節簡單介紹如下。

radosgw功能特性基于librados之上,提供目前流行的restful協定的網關,并且相容s3和swift接口,作為對象存儲,可以對接網盤類應用以及hls流媒體應用等。

rbd(rados block device)功能特性也是基于librados之上,通過librbd建立一個塊裝置,通過qemu/kvm附加到vm上,作為傳統的塊裝置來用。目前openstack、cloudstack等都是采用這種方式來為vm提供塊裝置,同時也支援快照、cow(copy on write)等功能。

ceph fs(ceph file system)功能特性是基于rados來實作分布式的檔案系統,引入了mds(metadata server),主要為相容posix檔案系統提供中繼資料。一般都是當做檔案系統來挂載。

後面章節會對這幾種特性以及對應的實際場景做詳細的介紹和分析.