天天看點

【Ceph】Ceph常用指令常用指令分類指令修改程序的配置:(臨時生效)

目錄

常用指令

檢視狀态

啟動/停止

分類指令

ceph mon

ceph mds

ceph osd

ceph pg

ceph osd pool

rados

ceph-deploy

塊裝置|rbd的一些指令

修改程序的配置:(臨時生效)

常用指令

檢視狀态

ceph -v     //檢視ceph的版本

ceph -s     //檢視叢集的狀态

ceph -w     //監控叢集的實時更改|檢視正在操作的動作

ceph osd tree #檢視osd目錄樹

ceph osd df   //詳細列出叢集每塊磁盤的使用情況|檢視osd的使用資訊

ceph osd stat #檢視osd狀态

ceph mon stat //檢視mon狀态

ceph mds stat  # 檢查 MDS 狀态

ceph osd find osd.o//檢視osd.0節點ip和主機名

ceph auth get client.admin # 檢視ceph授權資訊

https://www.cnblogs.com/Leslieblog/p/10168879.html

啟動/停止

分類指令

ceph df #檢視ceph存儲空間

ceph auth list #檢視ceph叢集中的認證使用者及相關的key

ceph mon

ceph mon stat#檢視mon的狀态資訊

ceph mon dump#檢視你ceph映射資訊

ceph mon remove node1 #删除一個mon節點  ceph-deploy mon destroy {host-name [host-name]...}

ceph mon add node1 node1_ip #添加一個mon節點  ceph-deploy mon create {host-name [host-name]...} 

mon節點的/var/lib/ceph/mon/ceph-node2/store.db檔案内容一緻,添加mon注意先改配置目錄配置檔案,再推送到所有節點

ceph-deploy --overwrite-conf config push  node1 node2 node3

ceph mds

ceph mds stat #檢視msd狀态

ceph mds dump #msd的映射資訊

ceph mds rm 0 mds.node1#删除一個mds節點

ceph-deploy mds create {host-name}[:{daemon-name}] [{host-name}[:{daemon-name}] ...]

ceph osd

ceph osd stat #檢視osd狀态

ceph osd dump #osd的映射資訊

ceph osd tree#檢視osd目錄樹

ceph osd down 0   #down掉osd.0節點

ceph osd rm 0#叢集删除一個osd硬碟

ceph osd crush remove osd.4#删除标記

ceph osd getmaxosd#檢視最大osd個數

ceph osd setmaxosd 10#設定osd的個數

ceph osd out osd.3#把一個osd節點逐出叢集

ceph osd in osd.3#把逐出的osd加入叢集

ceph osd pause#暫停osd (暫停後整個叢集不再接收資料)

ceph osd unpause#再次開啟osd (開啟後再次接收資料)

ceph osd df //檢視osd的使用資訊

要定位對象,隻需要對象名和存儲池名字即可,例如:

ceph osd map {poolname} {object-name}

ceph pg

ceph pg stat#檢視pg狀态

ceph pg dump#檢視pg組的映射資訊

ceph pg map 0.3f#檢視一個pg的map //檢視單個pg和osd的映射資訊

ceph pg  0.26 query#檢視pg詳細資訊

ceph pg dump --format plain#顯示一個叢集中的所有的pg統計

ceph pg {pg-id} query //擷取pg的詳細資訊

ceph osd pool

ceph osd lspools                          #檢視ceph叢集中的pool數量

ceph osd pool create jiayuan 100#建立一個pool  這裡的100指的是PG組

ceph osd pool delete jiayuan  jiayuan  --yes-i-really-really-mean-it  #叢集名字需要重複兩次

rados df#顯示叢集中pool的詳細資訊

ceph osd pool get data pg_num  #檢視data池的pg數量

ceph osd pool set data target_max_bytes 100000000000000#設定data池的最大存儲空間為100T(預設是1T)

ceph osd pool set data size 3  #設定data池的副本數是3

ceph osd pool set data min_size 2 #設定data池能接受寫操作的最小副本為2

ceph osd pool set data pg_num 100#設定一個pool的pg數量

ceph osd pool set data pgp_num 100#設定一個pool的pgp數量

ceph osd pool ls            //檢視叢集中的存儲池名稱

ceph osd pool ls detail   //檢視池的的詳細資訊

ceph osd pool stats       //檢視池的IO情況

rados

rados lspools#檢視ceph叢集中有多少個pool (隻是檢視pool)

rados df   #檢視存儲池使用情況:多少個pool,每個pool容量及利用情況

rados mkpool test#建立一個pool,名字:test

rados create testobject -p testpool#testpool中建立一個對象testobject

rados rm test-object-1 -p test#删除(test存儲池的)一個對象object 

rados -p test ls  #檢視存儲池test的對象

https://blog.csdn.net/u010953692/article/details/77870196

ceph-deploy

ceph-deploy disk zap {osd-server-name}:{disk-name}   #擦淨磁盤

ceph-deploy osd prepare {node-name}:{disk}[:{path/to/journal}]

ceph-deploy osd prepare osdserver1:sdb:/dev/ssd1

ceph-deploy osd activate {node-name}:{path/to/disk}[:{path/to/journal}]

ceph-deploy osd activate osdserver1:/dev/sdb1:/dev/ssd1

把改過的配置檔案分發給叢集内各主機

ceph-deploy config push {host-name [host-name]...}

如果在某些地方碰到麻煩,想從頭再來,可以用下列指令清除配置:

ceph-deploy purgedata {ceph-node} [{ceph-node}] //清除節點所有的資料在/var/lib/ceph

ceph-deploy forgetkeys  //删除密鑰

用下列指令可以連 Ceph 安裝包一起清除:

ceph-deploy purge {ceph-node} [{ceph-node}]

新增螢幕到 Ceph 叢集。

ceph-deploy mon add {ceph-node}

ceph osd getcrushmap -o MAP   #擷取一個CRUSH映射

crushtool -d MAP -o MAP.TXT   #反編譯一個CRUSH映射

crushtool -c MAP.TXT -o MAP   #編譯一個CRUSH映射

ceph osd setcrushmap -i MAP    #設定一個CRUSH映射

cept mon dump #檢視監控映射

cept osd dump  #檢視一個OSD映射

ceph mds dump  #要檢視MDS映射

ceph -w         #檢視叢集正在發生的事件

ceph health或ceph -s或ceph status #檢視叢集健康狀态

ceph health detail //先顯示叢集是否健康的詳細資訊

塊裝置|rbd的一些指令

羅列塊裝置映像

列出ceph預設資源池rbd裡面的鏡像(存儲池中的塊裝置),(即 rbd 是預設存儲池名字):

rbd ls

用下列指令羅列某個特定存儲池中的塊裝置,用存儲池的名字替換 {poolname} :

rbd ls {poolname}

例如:

rbd ls swimmingpool

rbd info xxx.img  檢視xxx.img的具體的具體資訊

rbd info {pool-name}/{image-name} 檢視{pool-name}存儲池内的{image-name}映像的資訊      

rbd info -p pool_name  --p_w_picpath 74cb427c-cee9-47d0-b467-af217a67e60a #檢視ceph pool中一個鏡像的資訊

rbd create -p test --size 10000 zhanguo#在test池中建立一個命名為zhanguo的10000M的鏡像

rbd rm  -p test  lizhanguo #删除一個鏡像

rbd resize -p test --size 20000 zhanguo  #調整一個鏡像的尺寸 

機關為M,預設在rbd pool中

建立塊裝置:rbd create {p_w_picpath-name}  --size {megabytes}  --pool {pool-name}

列出塊裝置:rbd ls {poolname} -l

檢索塊資訊:rbd --p_w_picpath {p_w_picpath-name} info

更改塊大小:rbd resize --p_w_picpath {p_w_picpath-name} --size {megabytes}

删除塊裝置:rbd rm {p_w_picpath-name}

映射塊裝置:rbd map {p_w_picpath-name} --pool {pool-name} --id {user-name}

檢視已映射塊裝置:rbd showmapped

取消映射:rbd unmap /dev/rbd/{poolname}/{p_w_picpathname}

rbd ls -l # 檢視已經建立的磁盤

快照和克隆相關指令

建立快照:

rbd --pool {pool-name} snap create --snap {snap-name} {p_w_picpath-name}

rbd snap create {pool-name}/{p_w_picpath-name}@{snap-name}

快照復原:

rbd --pool {pool-name} snap rollback --snap {snap-name} {p_w_picpath-name}

rbd snap rollback {pool-name}/{p_w_picpath-name}@{snap-name}

清除快照:

rbd --pool {pool-name} snap purge {p_w_picpath-name}

rbd snap purge {pool-name}/{p_w_picpath-name}

删除快照:

rbd --pool {pool-name} snap rm --snap {snap-name} {p_w_picpath-name}

rbd snap rm {pool-name}/{p_w_picpath-name}@{snap-name}

列出快照:

rbd --pool {pool-name} snap ls {p_w_picpath-name}

rbd snap ls {pool-name}/{p_w_picpath-name}

保護快照:

rbd --pool {pool-name} snap protect --p_w_picpath {p_w_picpath-name} --snap {snapshot-name}

rbd snap protect {pool-name}/{p_w_picpath-name}@{snapshot-name}

取消保護快照:

rbd --pool {pool-name} snap unprotect --p_w_picpath {p_w_picpath-name} --snap {snapshot-name}

rbd snap unprotect {pool-name}/{p_w_picpath-name}@{snapshot-name}

快照克隆

rbd clone {pool-name}/{parent-p_w_picpath}@{snap-name} {pool-name}/{child-p_w_picpath-name}

檢視快照的克隆

rbd --pool {pool-name} children --p_w_picpath {p_w_picpath-name} --snap {snap-name}

rbd children {pool-name}/{p_w_picpath-name}@{snapshot-name}

快照克隆相關例子:

建立快照:rbd  snap create vms/[email protected]_s1

列出快照:rbd snap list  --pool vms yjk01

快照復原:rbd snap rollback vms/[email protected]_s1(先解除安裝已挂載目錄)

删除快照:rbd snap rm vms/[email protected]_s2(單個)

清除快照:rbd snap purge vms/yjk01(所有)

保護快照:rbd snap protect vms/[email protected]_s1

取消保護:rbd snap unprotect vms/[email protected]_s1

快照克隆:rbd clone vms/[email protected]_s3 vms/yjk01_s3_clone1

檢視克隆:rbd children vms/[email protected]_s3

克隆隻能基于快照,并且隻能快照處于保護狀态,而且ceph僅支援克隆format 2映像。

https://blog.51cto.com/linuxnote/1788361

ceph time-sync-status //檢視mon節點的時間同步情況

ceph osd  metadata 0//檢視osd中繼資料的詳細資訊

/var/run/ceph //存放所有的sock

運作狀态導出叢集monmap(叢集正常時确認叢集monIP和程序名)

ceph mon getmap -o /mnt/monmap

檢視目前叢集主mon

# ceph quorum_status -f json-pretty|grep 'leader'

1.修改ceph配置檔案的方式有三種通過修改配置檔案重新開機的方法是永久的臨時的方法有tell可以在任意的節點去修改,還有一種就是登入到需要修改的機器用set修改

ceph --show-config //檢視預設配置

3.檢視程序的生效配置資訊:

ls /var/run/ceph/(下面是ceph的套接字檔案socket)可以從套接字檔案中擷取生效的配置資訊,也可以通過程序擷取配置資訊

ceph daemon osd.0 config show         

ceph daemon /var/run/ceph/ceph-mon.sds1.asok config show 

檢視指定pool中的卷:

rbd ls -p {pool_name}

例如:

#rbd ls -p images

lun

将卷丢到資源回收筒、檢視資源回收筒中的存放的卷、将資源回收筒的卷還原、清除資源回收筒的卷:

https://my.oschina.net/u/2439406/blog/1535035

修改程序的配置:(臨時生效)

1、任何存儲節點修改用tell

ceph tell osd.0 injectargs '--debug-osd 0/5'

ceph tell mon.* injectargs '--osd_recovery_max_active 5'

2、需要到該程序節點上面修改

ceph osd find osd.0 //查到osd.0的ip後登入到該機器完後修改

Ceph daemon osd.0 config get debug_ms //檢視日志級别

Ceph daemon osd.0 config Set debug_ms 5 //修改日志級别為5

ceph daemon osd.0 config set debug_osd 0/5

https://www.cnblogs.com/blogzjt/p/11978595.html