目录
常用命令
查看状态
启动/停止
分类命令
ceph mon
ceph mds
ceph osd
ceph pg
ceph osd pool
rados
ceph-deploy
块设备|rbd的一些命令
修改ceph进程的配置:(临时生效)
查看ceph进程配置
1. 查看ceph默认配置:
2. 查看 *.id(如osd.1) 的默认配置:
3. 查看 *.id(如osd.1)的某项默认配置中
4. 修改 *.id(如osd.1) 的默认配置中的某一个字段:
用户和认证
ceph管理
参考文献:
systemctl 服务 管理 ceph 集群
《Ceph 运维手册》
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授权信息
Ceph常用命令(持续更新) - Leslie'sblogs - 博客园
见文章后面的: systemctl 服务 管理 ceph 集群 章节
ceph df #查看ceph存储空间
ceph auth list #查看ceph集群中的认证用户及相关的key
ceph mon stat#查看mon的状态信息
ceph mon dump#查看你ceph映射信息 //查看mon的信息
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 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 tell mds.0 client ls 查看连接
多MDS变成单MDS的方法
1、多活的mds的max_mds会超过1,这里需要先将max_mds设置为1
ceph mds set max_mds 1
2、deactive mds
看下需要停掉的mds是rank 0 还是rank1,然后执行下面的命令即可
[root@server8 ~]# ceph -s|grep mds
mds: CAPFS-2/2/1 up {0=mds0=up:active,1=mds2=up:active}
这个输出的mds0
前面的0,就是这个mds的rank,根据需要停止对应的rank,比如要停止mds2
,对应是1
ceph mds deactivate 1
更多MDS运维命令:
ceph 运维操作-MDS - 简书
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 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 lspools #查看ceph集群中的pool数量
创建和删除存储池Ceph 存储集群 - 存储池 - andyzeng24 - 博客园
ceph osd pool create myPoolName 100#创建一个pool 这里的100指的是PG组
ceph osd pool delete myPoolName myPoolName --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 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的对象
ceph rados 创建存储池 存储池对象查看_mixboot-CSDN博客_ceph 查看存储池
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数据包
[root@node1 ~]# ceph-deploy purge node1
[root@node1 ~]# ceph-deploy purgedata node1
新增监视器到 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 //先显示集群是否健康的详细信息
罗列块设备映像
列出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/yjk01@yjk01_s1
列出快照:rbd snap list --pool vms yjk01
快照回滚:rbd snap rollback vms/yjk01@yjk01_s1(先卸载已挂载目录)
删除快照:rbd snap rm vms/yjk01@yjk01_s2(单个)
清除快照:rbd snap purge vms/yjk01(所有)
保护快照:rbd snap protect vms/yjk01@yjk01_s1
取消保护:rbd snap unprotect vms/yjk01@yjk01_s1
快照克隆:rbd clone vms/yjk01@yjk01_s3 vms/yjk01_s3_clone1
查看克隆:rbd children vms/yjk01@yjk01_s3
克隆只能基于快照,并且只能快照处于保护状态,而且ceph仅支持克隆format 2映像。
Ceph常用命令_Just For Fun!的技术博客_51CTO博客
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
将卷丢到回收站、查看回收站中的存放的卷、将回收站的卷还原、清除回收站的卷:
Ceph常用命令-卷延迟删除 - 泽_娟的个人空间 - OSCHINA - 中文开源技术交流社区
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
ceph 常用命令总结 - blogzjt - 博客园
# ceph --show-config
如需查看osd.1,mon.node1的ceph配置
# ceph -n osd.1 --show-config
# ceph -n mon.node1 --show-config
或
# ceph-osd -i 1 --show-config
# ceph-mon -i node1--show-config
又或者:
# cd /var/run/ceph
# ceph --admin-daemon ceph-osd.1.asok config show
# ceph --admin-daemon ceph-mon.node1.asok config show
该命令要求必须在 osd.1 , mon.node1节点上才能执行
这三种方法显示结果都是一样的,不过第三种方法的显示格式和一二种不同而已。
如查看 osd.1 或 mon.node1的 osd_scrub_max_interval 设置
# ceph -n osd.1 --show-config | grep osd_scrub_max_interval
# ceph -n mon.node1 --show-config | grep osd_scrub_max_interval
或
# ceph-osd -i 1 --show-config | grep osd_scrub_max_interval
# ceph-mon -i node1--show-config | grep osd_scrub_max_interval
又或者:
# cd /var/run/ceph
# ceph --admin-daemon ceph-osd.1.asok config get osd_scrub_max_interval
# ceph --admin-daemon ceph-mon.node1.asok config get osd_scrub_max_interval
同样这个命令要求必须在 osd.1 , mon.node1节点上才能执行
这三种方法显示结果都是一样的,不过第三种方法的显示格式和一二种不同而已。
如修改 osd.1 或 mon.node1的 osd_scrub_max_interval为 5 分钟
# cd /var/run/ceph
# ceph --admin-daemon ceph-osd.1.asok config set osd_scrub_max_interval 300
# ceph --admin-daemon ceph-mon.node1.asok config set osd_scrub_max_interval 300
同样这个命令要求必须在 osd.1 , mon.node1节点上才能执行
为ceph创建一个admin用户并为admin用户创建一个密钥,把密钥保存到/etc/ceph目录下:
# ceph auth get-or-create client.admin mds ‘allow’ osd ‘allow ’ mon ‘allow ’ > /etc/ceph/ceph.client.admin.keyring
或
# ceph auth get-or-create client.admin mds ‘allow’ osd ‘allow ’ mon ‘allow ’ -o /etc/ceph/ceph.client.admin.keyring
为osd.0创建一个用户并创建一个key
# ceph auth get-or-create osd.0 mon ‘allow rwx’ osd ‘allow *’ -o /var/lib/ceph/osd/ceph-0/keyring
为mds.node1创建一个用户并创建一个key
# ceph auth get-or-create mds.node1 mon ‘allow rwx’ osd ‘allow ’ mds ‘allow ’ -o /var/lib/ceph/mds/ceph-node1/keyring
ceph auth list #查看ceph集群中的认证用户及相关的key
ceph 常用命令总结 - blogzjt - 博客园
ceph运维常用指令_Just for fun-CSDN博客_ceph 命令
https://blog.csdn.net/mpu_nice/article/details/106354561
Ceph配置参数和命令解析
参考资料:
配置参数:
https://blog.csdn.net/for_tech/article/details/72123223#t20
http://docs.ceph.com/docs/master/rados/configuration/
命令解析:
http://docs.ceph.org.cn/man/8/
前言 · ceph · 看云
创建块存储池 · ceph · 看云
[root@a3 ~]# /opt/h3c/bin/ceph-mds -h
usage: ceph-mds -i[flags] [[--hot-standby][rank]]
-m monitorip:port
connect to monitor at given address
--debug_mds n
debug MDS level (e.g. 10)
--hot-standby rank
start up as a hot standby for rank--conf/-c FILE read configuration from the given configuration file
--id/-i ID set ID portion of my name
--name/-n TYPE.ID set name
--cluster NAME set cluster name (default: ceph)
--setuser USER set uid to user or uid (and gid to user's gid)
--setgroup GROUP set gid to group or gid
--version show version and quit-d run in foreground, log to stderr.
-f run in foreground, log to usual location.
--debug_ms N set message debug level (e.g. 1)
2、开启、关闭 和 重启 所有 ceph 服务
systemctl { start | stop | restart} ceph.target
3、根据 进程 类型 开启、关闭 和 重启 ceph 服务
3.1 mon 进程
systemctl { start | stop | restart} ceph-mon.target
3.2 mgr 进程
systemctl { start | stop | restart} ceph-mgr.target
3.3 osd 进程
systemctl { start | stop | restart} ceph-osd.target
3.4 rgw 进程
systemctl { start | stop | restart} ceph-radosgw.target
3.5 mds 进程
systemctl { start | stop | restart} ceph-mds.target
4、根据 进程 实例 开启、关闭 和 重启 所有 ceph 服务
4.1 mon 实例
systemctl { start | stop | restart} ceph-mon@{mon_instance}.service
4.2 mgr 实例
systemctl { start | stop | restart} ceph-mgr@{hostname}.service
4.3 osd 实例
systemctl start ceph-osd@${osd_id}.service
4.4 rgw 实例
systemctl { start | stop | restart} ceph-radosgw@rgw.{hostname}.service
4.5 mds 实例
systemctl { start | stop | restart} ceph-mds@{hostname}.service
原文链接:https://blog.csdn.net/a13568hki/article/details/118032003