天天看点

【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