ceph存储原理_热门的分布式存储系统ceph入门介绍
一、什么是ceph
ceph是當(dāng)前最熱門的分布式存儲系統(tǒng)之一,是軟件定義存儲(SDS,SoftwareDefinedStorage)解決方案中的典范。其具備良好的可靠性、可擴展性,應(yīng)用范圍包括塊存儲(RBD,RadosBlockDevice)、文件存儲(CephFS,CephFileSystem)和對象存儲(RADOSGW,Reliable、Autonomic、Distributed、ObjectStorageGateway),被廣泛應(yīng)用于云計算底層IAAS平臺,更是OpenStack首選的后端存儲,不管是互聯(lián)網(wǎng)企業(yè)還是金融等傳統(tǒng)行業(yè),都被廣泛應(yīng)用。
ceph使用C++語言開發(fā),采用分布式、無中心化的設(shè)計,具備橫向擴展能力和故障容災(zāi)能力,每個組件都能夠線性擴展且不存在單點故障,支持到EB級的存儲擴展,對應(yīng)用程序提供標(biāo)準(zhǔn)統(tǒng)一的訪問入口。
ceph每半年發(fā)布一個版本,版本分為長期穩(wěn)定版(LTS)和開發(fā)版本,同時會維護多個穩(wěn)定版本,推進bug的修復(fù)。目前最新的版本是v14.2.2 Nautilus,歷史的一些版本如下:
可以看到,ceph基本是按照半年一個版本的速度更新,較為穩(wěn)定。
二、ceph功能組件
Ceph對于三大存儲類型的支持是依賴底層的RADOS存儲系統(tǒng),整體架構(gòu)上包含了OSD、MDS、Monitor等核心功能組件,如下圖所示:
Ceph整體上包含了很多個模塊,各個模塊均負(fù)責(zé)不同的功能,以下是一些重點模塊:
- Ceph OSD
OSD全稱是Object Storage Device,用于數(shù)據(jù)存儲、復(fù)制、恢復(fù),上報相關(guān)數(shù)據(jù)給Monitor,是Ceph的核心組件之一。一個Ceph集群至少需要兩個Ceph OSD實現(xiàn)active+clean的健康狀態(tài)。一個磁盤、一個分區(qū)都可以作為一個OSD,所以實驗環(huán)境下可以在單機上搭建。
- Ceph Monitor
Ceph Monitor用于整個集群的狀態(tài)監(jiān)控和決策,實現(xiàn)整個集群視圖的一致性,這是Ceph無中心化設(shè)計的一個重點。包含了Monitor map、OSD map、PG map和CRUSH map。
- Monitor map
Monitor節(jié)點也是可以橫向擴展的,Monitor map包含所有Monitor節(jié)點的信息,包括集群ID,主機名,IP和端口等信息。 - OSD map
OSD map包含Ceph Pool的id、名稱、類型,副本以及PGP信息,包含OSD的數(shù)量、狀態(tài)、最細(xì)清理間隔、OSD所在主機等信息。多個OSD形成一個Ceph Pool。
- PG map
Placement Group map包含當(dāng)前的PG版本、時間戳、空間使用比例以及每個PG的基本信息。 - CRUSH map
CRUSH是英文Controlled Replication Under Scalable Hashing的縮寫,是一種可擴展哈希發(fā)的可控復(fù)制算法。CRUSH map存儲集群存儲設(shè)備信息,故障層次結(jié)構(gòu)以及存儲數(shù)據(jù)時失敗域規(guī)則信息。 - Ceph MDS
Ceph Metadata Server,顧名思義,是包含Ceph文件系統(tǒng)(Ceph FS)的元數(shù)據(jù)的模塊。ceph的塊存儲和對象存儲都不需要用到MDS。
三、技術(shù)架構(gòu)
Ceph底層都是依賴于RADOS,提供了一個可靠的具有自我修復(fù)能力的分布式存儲,如下圖所示:
- LIBRADOS
RADOS的應(yīng)用程序庫,提供應(yīng)用程序的直接訪問,提供了Java和Python等類庫,這是接口統(tǒng)一性的體現(xiàn)。
- RADOSGW
RADOSGW是基于restful的網(wǎng)關(guān),兼容S3和Swift,提供統(tǒng)一的訪問入口,利用RADOSGW可以實現(xiàn)跨機房的訪問和基于近端的負(fù)載均衡。
- RBD
RBD提供Ceph的塊設(shè)備的功能,其通過內(nèi)核與QEMU/KVM交互來創(chuàng)建一個塊設(shè)備掛載到VM上提供使用。
- Ceph FS
Ceph FS提供了一個兼容POSIX的文件系統(tǒng),值得注意的是因為歷史原因,Ceph FS的支持比較弱,功能還不夠完善。
四、安裝部署
Ceph-DeployCeph為了方便用戶安裝Ceph集群簡化過程,提供了Ceph-Deploy工具,通過配置免密的SSH自動登錄到服務(wù)器 安裝相關(guān)的組件,過程十分的簡便。
Step-By-Step Deploy除了使用Ceph-Deploy之外,官方亦提供了一步步手工安裝的方案,過程比較復(fù)雜麻煩,很多文章都建議初學(xué) 者直接使用Ceph-Deploy,筆者卻認(rèn)為手工一步步安裝的方案雖然復(fù)雜但是可以對Ceph集群理解更深,安裝過程中不免遇到各種各樣的問題,一步步去解決以后,絕對會收獲良心。
本文是對Ceph的整體技術(shù)架構(gòu)的介紹,后續(xù)會對ceph的安裝部署、各模塊詳細(xì)功能和原理進行分析,歡迎繼續(xù)關(guān)注。
總結(jié)
以上是生活随笔為你收集整理的ceph存储原理_热门的分布式存储系统ceph入门介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车换刹车片多少钱啊?
- 下一篇: java信息管理系统总结_java实现科