1. 程式人生 > >ceph 部署步驟和原理理解

ceph 部署步驟和原理理解

href www rbd data 設備節點 ref 雲平臺 大量 clas

概念:Ceph是一個支持大量小文件和隨機讀寫的分布式文件系統,在維護 POSIX 兼容性的同時加入了復制和容錯功能。

生產環境主要的兩種應用:

  • 對象系統,類似Swift, 這裏是RADOS, Reliable Autonomic Distributed Object Store, 可靠的自主分布式對象存儲。在每臺host上都要運行OSD(Object Storage Daemon)進程,當然,如果已經用RAID, LVM或btrf,xfs(最好別用ext4)將每臺host上的硬盤都做成一個池了的話,運行一個OSD就可以了。OSD會默認創建三個池:data, metadaRBD 。同時,在每臺
    host上還要運行MON (Monitor)進程。
  • 塊存儲, 類似Cinder

雲平臺架構。

ceph架構圖如下:

技術分享圖片

基礎存儲系統RADOS -------> 可靠的自主的分布式對象存儲

這一層本身就是一個完整的對象存儲系統,所有存儲在Ceph系統中的用戶數據事實上最終都是由這一層來存儲的。RADOS由大量的存儲設備節點組成,每個節點擁有自己的硬件資源(CPU、內存、硬盤、網絡),並運行著操作系統和文件系統。

基礎庫librados

這一層的功能是對RADOS進行抽象和封裝,並向上層提供API,以便直接基於RADOS(而不是ceph)進行應用開發。物理上libradios和基於其上開發的應用位於同一臺機器,因此也被成為本地API。應用調用本機上的libradios API,再由後者通過socket與RADIOS集群中的節點通信完成各種操作。

高層應用接口

這一層包括了三個部分:RADOS GW(RADOS Gateway)、RBD(Reliable Block Device)、Ceph FS(Ceph File System),其作用時在librados庫的基礎上提供抽象層次更高、更便於應用或客戶端使用的上層接口。

RBD則提供了一個標準的塊設備接口,常用於在虛擬化的場景下創建volume。

RADOS的邏輯結構圖如下:

技術分享圖片

RADOS集群主要由兩種節點組成。一種是為數眾多的、負責完成數據存儲和維護功能的OSD(Object Storage Device),另一種則是若幹個負責完成系統狀態監測和維護的monitor。

OSD和monitor之間互相傳輸節點狀態信息,共同得出系統的總體工作狀態,並形成一個全局系統狀態記錄數據結構,即cluster map。這個數據結構與RADOS提供的特定算法相配合,以便實現了Ceph”無須查表,算算就好”的核心機制以及若幹優秀特性。

1.OSD磁盤的格式:Btrfs:與使用XFS和ext4文件系統的OSD相比,使用Btrfs文件系統的OSD能夠提供更佳的性能。Btrfs目前還不具備應用於生產系統的條件。

ceph 部署步驟和原理理解