Ceph常用命令

2021-10-19 11:33:36 字數 3589 閱讀 5779

一:ceph集群常用命令

1、ceph狀態查詢常用命令

1、檢視ceph集群狀態:ceph -s

2、檢視mon狀態:ceph mon stat

狀態說明:

集群內(in)

集群外(out)

或者且在執行(up)

掛了且不再執行(down)

3、檢視osd狀態:ceph osd stat

4、檢視osd目錄樹:ceph osd tree

5、檢視osd池:ceph osd lspool

2、osd操作常用命令

1、下線osd:ceph osd down 0:讓編號為0的osd down掉,此時該osd不接受讀寫請求,但仍然活著

2、拉起osd:ceph osd up 0:讓編號為0的osd up,此時該osd接受讀寫請求

3、將osd逐出集群:ceph osd out 0:將乙個編號為0的osd逐出集群,此時可以做維護

4、將osd加入集群:ceph osd in 0:將乙個編號為0的osd加入集群

5、刪除osd:ceph osd rm 0:在集群中刪除乙個 osd,可能需要先 stop 該 osd,即 stop osd.0

6、刪除host節點:ceph osd crush rm node1:在集群中刪除乙個host節點

7、檢視最大osd個數:ceph osd getmaxosd:檢視最大osd的個數,預設最大是4個osd節點

8、設定最大osd個數:ceph osd setmaxosd 20:設定最大osd個數

9、暫停osd:ceph osd pause:暫停後整個集群不再接受資料

10、開啟osd:ceph osd unpause:開啟後再次接收資料

11、建立pool池:ceph osd pool create vms(名稱) 64(64是pg)

3、ceph服務常用命令

1、重啟mon服務:systemctl restart ceph-mon.target

2、重啟osd服務:sysetmctl restart ceph-osd.target

3、重啟mgr服務:systemctl restart ceph-mgr.target

4、ceph-deploy工具常用命令

1、使用ceph-deploy工具給c1 c2節點安裝ceph:ceph-deploy install c1 c2

2、使用ceph-deploy工具建立乙個集群(ct,c1,c2三個節點):ceph-deploy new ct c1 c2,此命令需要在ceph目錄中敲,一般為/etc/ceph,沒有需要建立

3、使用ceph-deploy工具建立mon(在ct,c1,c2三個節點上常見mon):ceph-deploy mon create ct c1 c2

4、使用ceph-deploy工具建立osd,並將osd加入集群中:ceph-deploy osd create ct:sdb c1:sdb c2:sdb

上述是同時建立3個osd,或者也可以用下面三條命令建立

ceph-deploy create --date /dev/sdb ct

ceph-deploy create --date /dev/sdb c1

ceph-deploy create --date /dev/sdb c2

5、在管理節點分發配置檔案到各個節點上去:ceph-deploy admin ct c1 c2

6、獲取秘鑰key:ceph-deploy mon create-initial

7、收集秘鑰(在ct節點):ceph-deploy gatherkeys ct

9、建立mgr管理服務(ct c1 c2三個節點):ceph-deploy mgr create ct c1 c2

10、生成uuid:uuidgen

若少於5個osd, 設定pg_num為128。

5~10個osd,設定pg_num為512。

10~50個osd,設定pg_num為4096。

超過50個osd,可以參考pgcalc計算。

本文的測試環境只有10個osd,因此設定pg_num為512。

osd pool default pg num = 512

osd pool default pgp num = 512

建立pool語法:

ceph osd pool create 

[replicated] \

[crush-ruleset-name]

[expected-num-objects]

ceph osd pool create

erasure \

[erasure-code-profile]

[crush-ruleset-name]

[expected_num_objects]

比如:ceph osd pool create test-pool 512

14、設定pool配額

支援object個數配額以及容量大小配額。

設定允許最大object數量為50000:

ceph osd pool set-quota test-pool max_objects 5000000

設定允許容量限制為200gb:

ceph osd pool set-quota test-pool max_bytes $((200 * 1024 * 1024 * 1024))

取消配額限制只需要把對應值設為0即可。

15、重新命名pool

ceph osd pool rename test-pool test-pool-new

16、檢視pool狀態資訊

rados df

17、建立快照

ceph支援對整個pool建立快照(和openstack cinder一致性組區別?),作用於這個pool的所有物件。但注意ceph有兩種pool模式:

pool snapshot,我們即將使用的模式。建立乙個新的pool時,預設也是這種模式。

self managed snapsoht,使用者管理的snapshot,這個使用者指的是librbd,也就是說,如果在pool建立了rbd例項就自動轉化為這種模式。

這兩種模式是相互排斥,只能使用其中乙個。因此,如果pool中曾經建立了rbd物件(即使當前刪除了所有的image例項)就不能再對這個pool做快照了。反之,如果對乙個pool做了快照,就不能建立rbd image了。

ceph osd pool mksnap test-pool test-pool-snapshot

刪除快照

ceph osd pool rmsnap test-pool test-pool-snapshot

設定pool

通過以下語法設定pool的元資料:

ceph osd pool set

比如設定pool的冗餘副本數量為3

:ceph osd pool set test-pool size 3

其他配置項參考文件。

通過get操作能夠獲取pool的配置值,比如獲取當前pg_num:

ceph osd pool get test-pool pg_num

獲取當前副本數:

ceph osd pool get test-pool size

ceph常用命令

1.刪除osd a 凍結需要刪除的osd root node01 ceph osd out osd.4 marked out osd.4.b 用ceph w 檢視被凍結的osd遷移動作,遷移結束後繼續 無讀寫 c 停止要刪除的osd的程序或者服務 root node05 etc init.d cep...

ceph安裝和常用命令

etc hosts ssh keygen ssh copy id root ceph node1 systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 sed i selinux s enf...

ceph運維常用命令積累

osd建立指令碼 1 hostname,2 diskname,3 osd number ceph deploy disk zap 1 2 ceph deploy osd prepare 1 dev 2 ssh 1 chown ceph ceph dev 2 ceph deploy osd activ...