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相关命令的主要内容,如果未能解决你的问题,请参考以下文章