分布式文件系统之ceph是什么?
概念:
Ceph是一種為優(yōu)秀的性能、可靠性和可擴(kuò)展性而設(shè)計(jì)的統(tǒng)一的、分布式文件系統(tǒng)。
官網(wǎng):https://ceph.io/
?
架構(gòu)設(shè)計(jì):
支持三種接口:
Object:有原生的API,而且也兼容Swift和S3的API。
Block:支持精簡(jiǎn)配置、快照、克隆。
File:Posix接口,支持快照。
- ?
?
?
Ceph核心組件及概念介紹
Monitor
一個(gè)Ceph集群需要多個(gè)Monitor組成的小集群,它們通過Paxos同步數(shù)據(jù),用來保存OSD的元數(shù)據(jù)。
OSD
OSD全稱Object Storage Device,也就是負(fù)責(zé)響應(yīng)客戶端請(qǐng)求返回具體數(shù)據(jù)的進(jìn)程。一個(gè)Ceph集群一般都有很多個(gè)OSD。
MDS
MDS全稱Ceph Metadata Server,是CephFS服務(wù)依賴的元數(shù)據(jù)服務(wù)。
Object
Ceph最底層的存儲(chǔ)單元是Object對(duì)象,每個(gè)Object包含元數(shù)據(jù)和原始數(shù)據(jù)。
PG
PG全稱Placement Grouops,是一個(gè)邏輯的概念,一個(gè)PG包含多個(gè)OSD。引入PG這一層其實(shí)是為了更好的分配數(shù)據(jù)和定位數(shù)據(jù)。
RADOS
RADOS全稱Reliable Autonomic Distributed Object Store,是Ceph集群的精華,用戶實(shí)現(xiàn)數(shù)據(jù)分配、Failover等集群操作。
Libradio
Librados是Rados提供庫,因?yàn)镽ADOS是協(xié)議很難直接訪問,因此上層的RBD、RGW和CephFS都是通過librados訪問的,目前提供PHP、Ruby、Java、Python、C和C++支持。
CRUSH
CRUSH是Ceph使用的數(shù)據(jù)分布算法,類似一致性哈希,讓數(shù)據(jù)分配到預(yù)期的地方。
RBD
RBD全稱RADOS block device,是Ceph對(duì)外提供的塊設(shè)備服務(wù)。
RGW
RGW全稱RADOS gateway,是Ceph對(duì)外提供的對(duì)象存儲(chǔ)服務(wù),接口與S3和Swift兼容。
CephFS
CephFS全稱Ceph File System,是Ceph對(duì)外提供的文件系統(tǒng)服務(wù)。
部署方式:
無論您是要向Cloud Platform提供Ceph對(duì)象存儲(chǔ)和/或?Ceph塊設(shè)備服務(wù),部署Ceph文件系統(tǒng)還是將Ceph用于其他目的,所有?Ceph Storage Cluster部署都首先要設(shè)置每個(gè)?Ceph節(jié)點(diǎn),您的網(wǎng)絡(luò)和Ceph。存儲(chǔ)集群。一個(gè)Ceph存儲(chǔ)群集至少需要一個(gè)Ceph監(jiān)視器,Ceph管理器和Ceph OSD(對(duì)象存儲(chǔ)守護(hù)程序)。運(yùn)行Ceph文件系統(tǒng)客戶端時(shí),也需要Ceph Metadata Server。
?
監(jiān)視器:Ceph Monitor(ceph-mon)維護(hù)集群狀態(tài)的映射,包括監(jiān)視器映射,管理器映射,OSD映射和CRUSH映射。這些映射是Ceph守護(hù)程序相互協(xié)調(diào)所需的關(guān)鍵群集狀態(tài)。監(jiān)視器還負(fù)責(zé)管理守護(hù)程序和客戶端之間的身份驗(yàn)證。通常至少需要三個(gè)監(jiān)視器才能實(shí)現(xiàn)冗余和高可用性。
管理器:Ceph Manager守護(hù)進(jìn)程(ceph-mgr)負(fù)責(zé)跟蹤運(yùn)行時(shí)指標(biāo)和Ceph集群的當(dāng)前狀態(tài),包括存儲(chǔ)利用率,當(dāng)前性能指標(biāo)和系統(tǒng)負(fù)載。Ceph Manager守護(hù)進(jìn)程還托管基于python的模塊,以管理和公開Ceph集群信息,包括基于Web的Ceph儀表板和?REST API。高可用性通常至少需要兩個(gè)管理器。
Ceph OSD:Ceph OSD(對(duì)象存儲(chǔ)守護(hù)程序,?ceph-osd)存儲(chǔ)數(shù)據(jù),處理數(shù)據(jù)復(fù)制,恢復(fù),重新平衡,并通過檢查其他Ceph OSD守護(hù)程序的心跳來向Ceph監(jiān)視器和管理器提供一些監(jiān)視信息。通常至少需要3個(gè)Ceph OSD才能實(shí)現(xiàn)冗余和高可用性。
MDS:Ceph元數(shù)據(jù)服務(wù)器(MDS,ceph-mds)代表Ceph文件系統(tǒng)存儲(chǔ)元數(shù)據(jù)(即Ceph塊設(shè)備和Ceph對(duì)象存儲(chǔ)不使用MDS)。Ceph的元數(shù)據(jù)服務(wù)器允許POSIX文件系統(tǒng)的用戶來執(zhí)行基本的命令(如?ls,find沒有放置在一個(gè)Ceph存儲(chǔ)集群的巨大負(fù)擔(dān),等等)。
Ceph將數(shù)據(jù)作為對(duì)象存儲(chǔ)在邏輯存儲(chǔ)池中。使用?CRUSH算法,Ceph計(jì)算哪個(gè)放置組應(yīng)包含該對(duì)象,并進(jìn)一步計(jì)算哪個(gè)Ceph OSD守護(hù)程序應(yīng)存儲(chǔ)該放置組。CRUSH算法使Ceph存儲(chǔ)集群能夠動(dòng)態(tài)擴(kuò)展,重新平衡和恢復(fù)。
部署:https://docs.ceph.com/docs/master/start/
?
使用方法:
API文檔:
https://docs.ceph.com/docs/master/api/#ceph-storage-cluster-apis
應(yīng)用場(chǎng)景:
docker容器、虛擬機(jī)磁盤存儲(chǔ)分配。
日志存儲(chǔ)。
文件存儲(chǔ)
…
【推薦博客】https://blog.csdn.net/uxiAD7442KMy1X86DtM3/article/details/81059215
總結(jié)
以上是生活随笔為你收集整理的分布式文件系统之ceph是什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式文件系统之Tachyon是什么?
- 下一篇: HDFS二次开发常见问题