Ceph OSD Daemon
又稱為OSD
,這是指物件儲存的系統服務程式(Object Storage Daemon),主要作用是負責儲存資料,彼此之間會自動同步複寫或回復所存放的資料,也定期對監控器程式回傳自身的硬碟與資料健康狀態。基本上,伺服器內的每一臺硬碟都會配備一個OSD程式。儲存伺服器可以是heterogeneous不同的硬體架構
,所以管理員把新的硬體加入已存在的Ceph叢集。
Ceph集群一般情況都包含多個OSD,對任何讀寫操作請求,客戶端從Ceph Monitor獲取 集群映射之後,客戶端將直接與OSD進行I / O操作的交互,而不再需要Ceph Monitor干預。 這使得數據讀寫過程更為迅速,因為這些操作過程不像其他存儲系統,它沒有其他額外的層級數據 處理。
每個OSD都可能作為某些副本的主 OSD,與此同時,它也可能作為某些對象的從OSD,從OSD受到主OSD的控制,然而,從OSD 在某些情況也可能成為主OSD。在磁盤故障時,Ceph OSD Deamon的智能對等機制將協同其他 OSD執行恢復操作。在此期間,存儲對象副本的從OSD將被提升為主OSD,與此同時,新的從 副本將重新生成,這樣就保證了Ceph的可靠和一致。
Ceph OSD Filesystem
一個Ceph 儲存節點最少需要下列三個元件
- 至少要有一個硬碟是分派個Ceph叢集
- 如果是用filestore,要一個Linux檔案系統、它可以是
XFS,Btrfs,ext4
,且檔案系統XATTRs磁碟標籤
必須啟用 - 要跑Ceph OSD Daemon
儲存節點主要有下列功能
- Data
replication複寫
- Data
coherency一致
- Data
balancing平衡
- Data
healing and recovery癒合和回復
儲存叢集客戶端和每個Ceph OSD Daemon 是使用CRUSH 演算法去獲得有效的運算資訊(有關資料存放的位置),而是不是像傳統檔案系統依賴於中心化查表。Ceph 高層的特色是提供原生的接口連結Ceph 儲存叢集透過librados,有一些服務又創建在librados之上。