1、查看ceph集群配置信息
1
|
ceph daemon / var /run/ceph/ceph-mon.$(hostname -s).asok config show
|
2、在部署節點修改了ceph.conf文件,將新配置推送至全部的ceph節點
1
|
ceph-deploy --overwrite-conf config push dlp node1 node2 node3
|
3、檢查仲裁狀態,查看mon添加是否成功
1
|
ceph quorum_status --format json-pretty
|
4、列式pool列表
1
|
ceph osd lspools
|
5、列示pool詳細信息
1
|
ceph osd dump |grep pool
|
6、檢查pool的副本數
1
|
ceph osd dump|grep -i size
|
7、創建pool
1
|
ceph osd pool create pooltest 128
|
8、刪除pool
1
2
|
ceph osd pool delete data
ceph osd pool delete data data --yes-i-really-really-mean-it
|
9、設置pool副本數
1
2
|
ceph osd pool get data size
ceph osd pool set data size 3
|
10、設置pool配額
1
2
|
ceph osd pool set -quota data max_objects 100 #最大100個對象
ceph osd pool set -quota data max_bytes $((10 * 1024 * 1024 * 1024)) #容量大小最大為10G
|
11、重命名pool
1
|
ceph osd pool rename data date
|
12、PG, Placement Groups。CRUSH先將數據分解成一組對象,然后根據對象名稱、復制級別和系統中的PG數等信息執行散列操作,再將結果生成PG ID。可以將PG看做一個邏輯容器,這個容器包含多個對 象,同時這個邏輯對象映射之多個OSD上。如果沒有PG,在成千上萬個OSD上管理和跟蹤數百萬計的對象的復制和傳播是相當困難的。沒有PG這一層,管理海量的對象所消耗的計算資源也是不可想象的。建議每個OSD上配置50~100個PG。
PGP是為了實現定位而設置的PG,它的值應該和PG的總數(即pg_num)保持一致。對於Ceph的一個pool而言,如果增加pg_num,還應該調整pgp_num為同樣的值,這樣集群才可以開始再平衡。
參數pg_num定義了PG的數量,PG映射至OSD。當任意pool的PG數增加時,PG依然保持和源OSD的映射。直至目前,Ceph還未開始再平衡。此時,增加pgp_num的值,PG才開始從源OSD遷移至其他的OSD,正式開始再平衡。PGP,Placement Groups of Placement。
計算PG數:

ceph集群中的PG總數
1
|
PG總數 = (OSD總數 * 100) / 最大副本數 ** 結果必須舍入到最接近的2的N次方冪的值
|
ceph集群中每個pool中的PG總數
1
|
存儲池PG總數 = (OSD總數 * 100 / 最大副本數) / 池數
|
獲取現有的PG數和PGP數值
1
2
|
ceph osd pool get data pg_num
ceph osd pool get data pgp_num
|
13、修改存儲池的PG和PGP
1
2
|
ceph osd pool set data pg_num = 1
ceph osd pool set data pgp_num = 1
|