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