
ceph提供了對象存儲(RADOSGW)、塊存儲(RBD)和檔案存儲(Ceph FS)三種功能:
RADOSGW:基于LIBRADOS之上,提供目前流行的RESTful協定的網關,并且相容S3和Swift接口,作為對象存儲,可以對接網盤類應用以及HLS流媒體應用等。
RBD:也基于LIBRADOS之上,通過LIBRBD建立一個塊裝置,通過QEMU/KVM附加到VM上,作為傳統的塊裝置來用。目前OpenStack、CloudStack等都是采用這種方式來為VM提供塊裝置,同時也支援快照、COW(Copy On Write)等功能。
Ceph FS: 基于RADOS來實作分布式的檔案系統,引入了MDS(Metadata Server),主要為相容POSIX檔案系統提供中繼資料。一般都是當做檔案系統來挂載。
Ceph 存儲叢集至少需要一個 Ceph Monitor 和兩個 OSD 守護程序。而運作 Ceph 檔案系統用戶端時,則必須要有中繼資料伺服器( Metadata Server )。
Ceph OSDs: Ceph OSD 守護程序( Ceph OSD )的功能是存儲資料,處理資料的複制、恢複、回填、再均衡,并通過檢查其他OSD 守護程序的心跳來向 Ceph Monitors 提供一些監控資訊。當 Ceph 存儲叢集設定為有2個副本時,至少需要2個 OSD 守護程序,叢集才能達到 active+clean 狀态( Ceph 預設有3個副本,但你可以調整副本數)。
Monitors: Ceph Monitor維護着展示叢集狀态的各種圖表,包括螢幕圖、 OSD 圖、歸置組( PG )圖、和 CRUSH 圖。 Ceph 儲存着發生在Monitors 、 OSD 和 PG上的每一次狀态變更的曆史資訊(稱為 epoch )。
MDSs: Ceph 中繼資料伺服器( MDS )為 Ceph 檔案系統存儲中繼資料(也就是說,Ceph 塊裝置和 Ceph 對象存儲不使用MDS )。中繼資料伺服器使得 POSIX 檔案系統的使用者們,可以在不對 Ceph 存儲叢集造成負擔的前提下,執行諸如 ls、find 等基本指令。
RADOS
CRUSH
journal
系統類型:CentOS7.5
cehp版本:mimic
主機名
IP位址
角色
資料盤
ceph-node1
172.16.1.31
mon、osd、deploy
/dev/sdb
ceph-node2
172.16.1.32
mon、osd
ceph-node3
172.16.1.33
host解析
時間同步
ssh免密登入,deploy節點需要ssh免密登入到所有node節點
關閉防火牆
關閉selinux
#在node1安裝ceph-deploy工具
#配置config檔案,指定ssh使用者
#在三個節點安裝ceph
<code>[root@ceph-node1 ~]# ceph-deploy install --release mimic ceph-node1 ceph-node2 ceph-node3</code>
#建立目錄,用于儲存執行ceph-deploy時産生的檔案
<code>[root@ceph-node1 ~]# mkdir /etc/ceph && cd /etc/ceph</code>
#初始化叢集
<code>[root@ceph-node1 ceph]# ceph-deploy new ceph-node1 ceph-node2 ceph-node3</code>
#修改配置檔案
配置含義:
#初始化mon
<code>[root@ceph-node1 ceph]# ceph-deploy mon create-initial</code>
#拷貝配置檔案及admin密鑰到各ceph節點
<code>[root@ceph-node1 ceph]# ceph-deploy admin ceph-node1 ceph-node2 ceph-node3</code>
#建立ceph管理程序服務
<code>[root@ceph-node1 ceph]# ceph-deploy mgr create ceph-node1 ceph-node2 ceph-node3</code>
#檢視叢集狀态
#建立osd
#再次檢視叢集狀态
#啟用dashboard
<code>[root@ceph-node1 ceph]# ceph mgr module enable dashboard</code>
#為dashboard生成自簽名證書,使用https通路
#為dashboard綁定IP和端口
#檢視服務
#更新dashboard賬号密碼
<code>ceph dashboard set-login-credentials admin admin</code>
#登入dashboard
如果部署失敗,可以執行如下指令清除各節點上的軟體及部署時生成的檔案。
檢視更多的指令請參考官方文檔:http://docs.ceph.org.cn/rados/operations/
參考:
ceph中文手冊
ceph英文手冊(dashboard)
ceph問題解決