一: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...