ceph相关命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ceph相关命令相关的知识,希望对你有一定的参考价值。

参考技术A Ceph 存储集群包含两种类型的守护进程:  Ceph 监视器  Ceph OSD 守护进程

RBD是Ceph对外提供的基于块的存储接口

 ceph常用命令 

集群状态监控 

ceph -s #显示ceph集群状态

 ceph osd tree #显示当前osd树结构 

ceph osd pool ls  显示所有资源池

ceph -w #动态显示ceph当前动态,主要可以观察读写流量 

ceph df #集群的数据用量及其在存储池内的分布情况 

ceph osd df # 查看所有osd使用情况 

ceph osd perf #显示各个osd响应时间,个别响应慢的osd可以考虑踢出集群(慎用) 

 设置pool副本数

 ceph osd pool get <pool-name> size #查看pool副本数 

ceph osd pool set <pool-name> size *** #设置pool副本数 

 设置pg和pgp数(一般pg=pgp) 

ceph osd pool get <pool-name> pg_num #查看pool pg_num

ceph osd pool set <pool-name> pg_num *** #设置pool pg_num 

ceph osd pool get <pool-name> pgp_num #查看pool pgp_num 

ceph osd pool set <pool-name> pgp_num *** #设置pool pgp_num

查看当前ceph配置 ceph --admin-daemon /var/run/ceph/ceph-osd.0.asok config show

rbd常用命令

rbd –p <pool-name> create <rbd-name> --size 1G #创建 

rbd –p <pool-name> list #查看pool下所有块 

rbd –p <pool-name> info <rbd-name> #查看块详情 

rbd –p <pool-name> resize --size *G <rbd-name> #扩容大小至*G 

rbd –p <pool-name> resize –size *G <rbd-name> --allow-shrink #缩容至*G 

rbd –p <pool-name> rm <rbd-name> #删除 

 快照操作 

rbd –p <pool-name> snap create <rbd-name> --snap <snap-name> #创建快照 

rbd –p <pool-name> snap ls <rbd-name> #列出卷的所有快照 

rbd –p <pool-name> snap rollback <rbd-name> --snap <snap-name> #回滚快照 

rbd –p <pool-name> snap rm <rbd-name> --snap <snap-name> #删除快照 

rbd –p <pool-name> snap protect <rbd-name> --snap <snap-name> #保护快照,此时无法删除

 rbd –p <pool-name> snap unprotect <rbd-name> --snap <snap-name> #解除保护 

rbd –p <pool-name> import <file-name> #导入文件 

 krbd使用

 rbd –p <pool-name> create <rbd-name> --size *G –image-feature layering #创建krbd块

 rbd map <pool-name>/<rbd-name> #映射到本地 

rbd –p <pool-name> showmapped #查看映射关系 

rbd unmap <pool-name>/<rbd-name> #解除本地映射

ceph相关问题解决记录

ceph pg data unfound问题修复:华为开发者论坛

ceph pg  2.2b  mark_unfound_lost revert

1.集群内OSD down掉的问题

1.1 active ceph osd的命令(在osd挂掉的宿主机上执行)

ceph-volume lvm activate --all

1.2 如果osd的服务处于运行状态(systemctl status ceph-osd@id是active),但ceph osd tree内显示是挂掉的

systemctl stop ceph-osd@id 先停止该osd服务

再运行ceph-volume lvm activate --all命令

1.3 osd无法启动,日志里显示block checksum mismatch

Object Storage Daemons (OSDs) can fail due to an internal data inconsistency | Support | SUSE

可以先尝试命令:

ceph-osd -i $ID --mkfs

如果还是继续crash,则只能重建

查看osd对应的物理硬盘:

ceph-bluestore-tool  show-label --path /var/lib/ceph/osd/ceph-2|grep osd_uuid|awk -F '\\"' 'print $4' 

lvs|grep 669f5f56-50ec-40e5-b35e-30103c8dbbb7|awk 'print $2' 

pvs|grep ceph-a2f7518e-cb7b-4636-ac48-95138e7b9b06

#删除osd 
ceph osd out 1 
ceph osd crush remove osd.1 
ceph auth del osd.1 
systemctl stop ceph-osd@1 
ceph osd destroy 1 --yes-i-really-mean-it 
umount /var/lib/ceph/osd/ceph-1 
ceph osd rm 1 

#执行完上述命令后,可以看到ceph -s里的osd已经变成只有1个 
#清理新硬盘 
ceph-volume lvm zap /dev/sdd --destroy 

#使用新硬盘 
ceph-volume lvm create --data /dev/sdd 

#启动服务 
systemctl enable --runtime ceph-osd@1
systemctl start ceph-osd@1 

以上是关于ceph相关命令的主要内容,如果未能解决你的问题,请参考以下文章

Ceph实践之Crushmap相关

ceph 创建和删除osd

ubuntu环境ceph配置入门

ceph 创建和删除osd

CephFS管理命令

ceph扩展bluestore的db分区