ceph
Ceph(分布式存儲系統(tǒng))是一個開源的分布式存儲系統(tǒng),設(shè)計用于提供高性能、高可靠性和可擴展性的存儲服務(wù),可以避免單點故障,支持塊存儲、對象存儲以及文件系統(tǒng)存儲應(yīng)用。使用C++語言開發(fā)。ceph能夠通過網(wǎng)絡(luò)將數(shù)據(jù)分散存儲在多臺獨立設(shè)備上
ceph具有可擴展性:
-
水平擴展,新的節(jié)點加入集群后只需要和原有集群連接到同一網(wǎng)絡(luò),無需對現(xiàn)有節(jié)點進行重大修改或中斷
-
節(jié)點擴展后,舊數(shù)據(jù)會自動遷移到新節(jié)點,實現(xiàn)負載均衡,避免單點過熱的情況
-
使用crush算法來確定數(shù)據(jù)在存儲集群中的位置
組件
-
OSD: OSD(Object Storage Daemon)用于集群中所有對象與數(shù)據(jù)的存儲,處理集群數(shù)據(jù)的復(fù)制、恢復(fù)、負載均衡。也能夠自動檢測存儲磁盤的監(jiān)控狀況,定期向Monitor節(jié)點報告自身的狀態(tài)和性能指標(biāo)
讀取數(shù)據(jù)時,多臺OSD會同時對外傳輸數(shù)據(jù),于是傳輸?shù)乃俣葧容^塊
當(dāng)ceph集群設(shè)定數(shù)據(jù)有兩個副本時,至少需要兩個OSD進程即OSD節(jié)點,集群才能達到active+clean狀態(tài)
-
MON: MON(Monitor)負責(zé)維護Ceph存儲集群的狀態(tài)信息、配置信息和監(jiān)控信息,維護集群的cluster MAP二進制表,保證集群數(shù)據(jù)的一致性,cluster MAP描述了對象塊存儲的物理位置,以及一個將設(shè)備聚合到物理位置的桶列表
-
MDS: MDS(Metadata Server)元數(shù)據(jù)服務(wù)器,提供元數(shù)據(jù)計算,緩存與同步。在ceph中,元數(shù)據(jù)也是存儲在osd節(jié)點中的,mds類似于元數(shù)據(jù)的代理緩存服務(wù)器。mds是 CephFS(Ceph 文件系統(tǒng))的組成部分,cep塊設(shè)備和ceph對象存儲不使用mds
-
Manager: ceph-mgr,用于收集ceph集群狀態(tài)、性能指標(biāo)、配置信息。
manager通過RESTful API和Web-based Dashboard向外提供信息
ceph結(jié)構(gòu)包含兩個部分
ceph client,訪問ceph底層服務(wù)或組件,對外提供各種接口
ceph node,底層服務(wù)提端,也就是ceph存儲集群
存儲類型
塊存儲
塊存儲(RBD - RADOS Block Device),存儲數(shù)據(jù)以塊為單位,可被映射為塊設(shè)備,適用于直接附加到虛擬機或物理服務(wù)器。類似于傳統(tǒng)的硬盤
塊存儲通過Raid與LVM等手段,對數(shù)據(jù)提供了保護,多塊磁盤組合可以提高容量,也可以做邏輯盤,提高讀寫效率
但主機之間無法共享數(shù)據(jù)
塊存儲應(yīng)用于docker容器、虛擬機磁盤分配;日志存儲;文件存儲
文件存儲
文件存儲(CephFS)可以克服塊存儲無法共享的問題。如FTP、NFS服務(wù)器
文件存儲允許多個節(jié)點通過標(biāo)準(zhǔn)文件系統(tǒng)接口訪問相同的文件和目錄。它支持文件的讀寫、權(quán)限控制等 POSIX 文件系統(tǒng)語義
對象存儲
一個文件具有屬性metadata,也稱元數(shù)據(jù),包含該文件的大小、修改時間、存儲路徑等
在對象存儲(RADOS)中,數(shù)據(jù)以對象的形式存儲,每個對象都有唯一的標(biāo)識符。它會將文件的元數(shù)據(jù)獨立出來,控制節(jié)點叫元數(shù)據(jù)服務(wù)器(服務(wù)器+對象存儲管理軟件),主要負責(zé)存儲對象的屬性。文件的數(shù)據(jù)部分主要由OSD存儲
當(dāng)用戶訪問對象時,會首先訪問元數(shù)據(jù)服務(wù)器,元數(shù)據(jù)服務(wù)器反饋對象存儲在哪些OSD,用戶再去訪問那些OSD讀取數(shù)據(jù)
對象存儲主要用于存儲大量非結(jié)構(gòu)化數(shù)據(jù),如圖像、音頻、視頻、日志等文章來源:http://www.zghlxwxcb.cn/news/detail-754985.html
存儲過程
文章來源地址http://www.zghlxwxcb.cn/news/detail-754985.html
- 用戶訪問一個文件File,其存儲的數(shù)據(jù)會被切分成多個對象Objects,Objects的大小可以由管理員調(diào)整
- 每個對象都有一個唯一的oid,這個iod由文件file的id,ino,和分片objects的編號ono組成。oid可以唯一標(biāo)識每個不同的對象,并存儲了對象與文件的存儲關(guān)系
- PG,placement group歸置組是一個邏輯概念,它在數(shù)據(jù)尋址時相當(dāng)于數(shù)據(jù)庫中的索引,每個對象都會固定映射進一個PG中。所以當(dāng)需要尋找一個對象時,只需要先找到對象所屬的PG,然后遍歷這個PG,無需遍歷所有對象。并且在遷移數(shù)據(jù)時,也是以PG作為基本單位遷移
- 對象映射進PG,首先會對oid做hash取出特征碼,用特征碼與PG的數(shù)量去模,得到序號pgid
- 最后PG會根據(jù)管理員設(shè)置的副本數(shù)量進行復(fù)制,通過crush算法存儲到不同的OSD節(jié)點上,第一個OSD為主節(jié)點,其余均為從節(jié)點
到了這里,關(guān)于初識Ceph --組件、存儲類型、存儲原理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!