一 基礎準備 參考《002.Ceph安裝部署》文檔部署一個基礎集群。 二 擴展集群 2.1 擴展架構 需求:添加Ceph元數據伺服器node1。然後添加Ceph Monitor和Ceph Manager node2,node3以提高可靠性和可用性。 2.2 添加元數據(metadata)伺服器 提示 ...
一 基礎準備
參考《002.Ceph安裝部署》文檔部署一個基礎集群。二 擴展集群
2.1 擴展架構

2.2 添加元數據(metadata)伺服器
1 [manager@deploy my-cluster]$ ceph-deploy mds create node1
提示:要使用CephFS,您至少需要一個元數據伺服器。
2.3 添加監視(Monitor)伺服器
1 [manager@deploy my-cluster]$ ceph-deploy mon add node2 2 [manager@deploy my-cluster]$ ceph-deploy mon add node3 3 [root@node1 ~]# ceph quorum_status --format json-pretty #查看仲裁(quorum)狀態信息

1 [manager@deploy my-cluster]$ vi ceph.conf 2 [global] 3 #…… 4 public_network = 172.24.8.0/24 5 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node2 6 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node3

2.4 添加管理員
1 [manager@deploy my-cluster]$ ceph-deploy mgr create node2 node3 2 [manager@deploy my-cluster]$ ssh node1 sudo ceph -s #查看驗證

2.5 添加RGW
1 [manager@deploy my-cluster]$ ceph-deploy rgw create node1
提示:要使用Ceph的Ceph對象網關組件,必須部署RGW實例;
預設情況下,RGW實例將偵聽埠7480.可以通過在運行RGW的節點上編輯ceph.conf來更改此設置。
三 客戶端存儲示例
3.1 創建pool
1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create mytest 64 2 [manager@deploy my-cluster]$ ssh node1 sudo rados lspools 3 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd lspools 4 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd dump | grep pool提示:以上三種可以查看已經存在的pool信息,第三種方式查看的結果最為詳細。
3.2 客戶端模擬
1 [root@node3 ~]# echo 'This is my test file!' >> test.txt #創建模擬文件 2 [root@node3 ~]# rados put test-object-1 test.txt --pool=mytest
3.3 查看確認
1 [manager@deploy my-cluster]$ ssh node1 sudo rados -p mytest ls #查看存儲的對 2 test-object-1
3.4 定位對象
1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd map mytest test-object-1 #定位對象到相應的歸置組 2 osdmap e30 pool 'mytest' (5) object 'test-object-1' -> pg 5.74dc35e2 (5.22) -> up ([2,1,0], p2) acting ([2,1,0], p2)提示:Ceph 客戶端檢出最新集群運行圖,用 CRUSH 演算法計算出如何把對象映射到歸置組,然後動態地計算如何把歸置組分配到 OSD 。要定位對象,只需要對象名和存儲池名字即可。
3.5 刪除對象
1 [manager@deploy my-cluster]$ ssh node1 sudo rados rm test-object-1 --pool=mytest
3.6 刪除pool
1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest 2 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest mytest --yes-i-really-really-mean-it 3 pool 'mytest' removed提示:若出現以下報錯:由於刪除pool時,pool名字要輸入兩次同時要加入--yes-i-really-really-mean-it參數,且需要在ceph.conf配置中開啟允許刪除,操作如下:

1 [manager@deploy my-cluster]$ vi ceph.conf 2 [global] 3 #…… 4 [mon] 5 mon allow pool delete = true #添加此行 6 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf config push node1 node2 node3 #重推一次配置文件 8 [root@node1 ~]# systemctl restart ceph-mon.target #所有節點均需要重啟一次該服務