1. 程式人生 > 其它 >Ceph教程-Ceph儲存(一)介紹

Ceph教程-Ceph儲存(一)介紹

目錄 [隱藏]

Ceph儲存簡介

Ceph是一個可靠、自動均衡、自動恢復的分散式儲存系統,通常可用於物件儲存,塊裝置儲存和檔案系統儲存。

Ceph在儲存的時候充分利用儲存節點的計算能力,在儲存每一個數據時都會通過計算得出該資料的位置,儘量的分佈均衡。

Ceph儲存元件

Ceph核心元件包括:

  • OSD
  • Monitor
  • MDS

OSD:英文全稱為Object Storage Device,主要功能用於資料的儲存,當直接使用硬碟作為儲存目標的時候,一塊硬碟稱之為OSD。當使用一個目錄作為儲存目標的時候,這個目錄也稱之為OSD。

Monitor:負責監視整個Ceph叢集執行Map圖,維護Ceph叢集的狀態。還包括了叢集中客戶端的認證與授權。

MDS:英文全稱為Metadata Server,主要檔案系統服務的元資料,物件儲存和塊裝置儲存不需要元資料服務。如果叢集中使用CephFS介面,那麼至少叢集中至少需要部署一個MDS服務。

在新版本的Ceph還有其它元件,如:Manager。此元件在L版(Luminous)和之後的版本支援,是一個Ceph守護程序,用於跟蹤執行時指標和叢集的當前狀態,如儲存利用率,系統負載。通過基於Python外掛來管理和公開這些資訊,可基於Web UI和Rest API。如果要對此服務進行高可用至少需要兩個節點。

Rados儲存叢集

RADOS為一個Ceph名詞,通常指ceph儲存叢集,英文全名Reliable Automatic Distributed Object Store。即可靠的、自動化的、分散式物件儲存系統。

Librados介紹

Librados是RADOS儲存叢集的API,支援常見的程式語言,如:C、C++、Java、Python、Ruby和PHP等。

通常客戶端在操作RADOS的時候需要通過與Librados API介面互動,支援下面幾種客戶端:

  • RBD
  • CephFS
  • RadosGW

RBD:Rados Block Devices此客戶端介面基於Librados API開發,通常用於塊裝置儲存,如虛擬機器硬碟。支援快照功能。

RadosGW:此客戶端介面同樣基於Librados API開發,是一個基於HTTP Restful風格的介面。

CephFS:此客戶端原生的支援,通常檔案系統儲存的操作使用CephFS客戶端。如:NFS掛載。

Rados叢集支援的客戶端

管理節點

Ceph常用管理介面通常都是命令列工具,如rados、ceph、rbd等命令,另外Ceph還有可以有一個專用的管理節點,在此節點上面部署專用的管理工具來實現近乎叢集的一些管理工作,如叢集部署,叢集元件管理等。

Pool與PG

Pool是一個儲存物件的邏輯分割槽,它通常規定了資料冗餘的型別與副本數,預設為3副本。對於不同型別的儲存,需要單獨的Pool,如RBD。每個Pool內包含很多個PG。

PG是歸置組,英文名為Placement Group,它是一個物件的集合,服務端資料均衡和恢復的最小單位就是PG。

FileStore與BlueStore

FileStore是老版本預設使用的後端儲存引擎,如果使用FileStore,建議使用xfs檔案系統。

BlueStore是一個新的後端儲存引擎,可以直接管理裸硬碟,拋棄了ext4與xfs等本地檔案系統。可直接對物理硬碟進行操作,同時效率也高出很多。

Object物件

在Ceph叢集中,一條資料、一個配置都為一個物件。這些都是儲存在Ceph叢集,以物件進行儲存。每個物件應包含ID、Binary Data和Metadata。

原文地址: https://www.linux-note.cn/?p=79