Ceph常用命令总结
查看集群健康状态
ceph -s
集群状态总览ceph health detail
集群状态详情ceph df
查看集群容量及使用率
osd相关
ceph osd tree
查看osd树形图ceoh osd df
查看osd使用率ceph osd df | sort -nr -k17 | head
查看osd使用率排序ceph osd down <ids> [<ids>...]
将osd设置为downceph osd find <osdname (id|osd.id)>
查找osd在那个节点上ceph osd in <ids> [<ids>...]
将osd进入集群,将引起数据回填ceph osd out <ids> [<ids>...]
将osd踢出集群,都将引起数据重映射ceph osd ok-to-stop <ids> [<ids>...]
判断osd能否安全停止而不造成数据丢失ceph osd ok-to-stop {0..10}
判断osd.0到osd.10这11个osd能否安全停止ceph osd perf
dump osd性能数据ceph osd reweight <osdname (id|osd.id)> <float[0.0-1.0]>
设置osd的权重,如某个osd权重过高,可降低其权重ceph osd set full|pause|noup|nodown|noout|noin|nobackfill|norebalance|norecover|noscrub|nodeep-scrub {--yes-i-really-mean-it}
设置osd标志位ceph osd unset full|pause|noup|nodown|noout|noin|nobackfill|norebalance|norecover|noscrub|nodeep-scrub {--yes-i-really-mean-it}
取消osd标志位设置osd set-backfillfull-ratio <float[0.0-1.0]>
设置osd会被标记为不可回填的使用率ceph osd set-full-ratio <float[0.0-1.0]>
设置osd被标记为写满的使用率ceph osd set-nearfull-ratio <float[0.0-1.0]>
设置osd被标记为即将写满的使用率ceph osd dump
显示osd map总览
osd标志位参数说明
noup
OSD启动时,会将自己在MON上标识为UP状态,设置该标志位,则OSD不会被自动标识为up状态。nodown
OSD停止时,MON会将OSD标识为down状态,设置该标志位,则MON不会将停止的OSD标识为down状态,设置noup和nodown可以防止网络抖动。noout
设置该标志位,则mon不会从crush映射中删除任何OSD。对OSD作维护时,可设置该标志位,以防止CRUSH在OSD停止时自动重平衡数据。OSD重新启动时,需要清除该flag。noin
设置该标志位,可以防止数据被自动分配到OSD上。norecover
设置该flag,禁止任何集群恢复操作。在执行维护和停机时,可设置该flag。nobackfill
禁止数据回填noscrub
禁止清理操作。清理PG会在短期内影响OSD的操作。在低带宽集群中,清理期间如果OSD的速度过慢,则会被标记为down。可以该标记来防止这种情况发生。nodeep-scrub
禁止深度清理。norebalance
禁止重平衡数据。在执行集群维护或者停机时,可以使用该flag。pause
设置该标志位,则集群停止读写,但不影响osd自检。full
标记集群已满,将拒绝任何数据写入,但可读。
pool相关
ceph osd lspools
列出所有的poolceph osd pool ls detail
列出pool详情ceph osd pool get <poolname> size|min_size
查询pool副本数|最小副本数ceph osd pool set <poolname> size|min_size <val> {--yes-i-really-mean-it}
设置pool副本数|最小副本数ceph osd pool get-quota <poolname>
查询pool容量或对象数配额ceph osd pool set-quota <poolname> max_objects|max_bytes <val>
设置pool容量或对象数配额
pg相关
ceph pg ls
列出所有pgceph pg ls-by-osd <osdname (id|osd.id)>
列出osd上的所有pgceph pg ls-by-pool <poolstr>
列出pool里的所有pgceph pg ls-by-primary <osdname (id|osd.id)>
列出所有主副本在该osd上的pgceph pg map <pgid>
查看pg的副本分布在哪些osd上ceph pg repair <pgid>
执行pg修复,可修复某些pg异常状态(虽然大部分时候不管用)ceph pg scrub/deep-scrub <pgid>
执行数据一致性校验/深度校验ceph pg debug unfound_objects_exist|degraded_pgs_exist
显示pg debug信息ceph pg dump_stuck {inactive|unclean|stale|undersized|degraded [inactive|unclean|stale|undersized|degraded...]}
查询异常pg信息ceph pg dump/dump_json
显示pg map/json格式的pg map
常见的pg状态说明
creating
创建中down
pg处于离线状态repair
pg正在被修复peering
等待互联,peering 是由主osd发起的使存放PG副本的所有OSD就PG的所有对象和元素数据的状态达成一致的过程,peering过程完成后,主OSD就可以接受客户端写请求active
可读写状态clean
干净态,副本数完整replay
某OSD崩溃后,PG数据重放degraded
降级,未达到要求副本数inconsistent
不一致,PG副本间出现不一致recoverying
恢复中,通过日志重放恢复数据backfilling
回填,pg数据全量从其余osd拷贝生成副本remapped
重映射,pg重映射至新osdstale
数据老旧scrubbing
在做一致性校验
动态配置相关
ceph daemon {daemon-name} config show
查询组件的动态配置ceph daemon osd.0 config show
例如查询osd.0的动态配置ceph daemon /var/run/ceph/client.radosgw.rgw_ec_1.asok config show
例如查询radosgw的动态配置
查询及调整日志级别
ceph daemon /var/run/ceph/client.radosgw.rgw_ec_1.asok config show | grep debug_rgw
查询radosgw日志级别ceph daemon /var/run/ceph/client.radosgw.rgw_ec_1.asok config set debug_rgw 20/20
调整日志级别到最高,第一个20表示log level,第二个20表示memory level,详见https://docs.ceph.com/en/latest/rados/troubleshooting/log-and-debug/#subsystem-log-and-debug-settingsceph daemon osd.0 config show | grep debug_osd
查询osd日志级别ceph daemon osd.0 config set debug_osd 0/5
调整osd日志级别
或使用tell方式获取及调整动态配置
ceph tell {daemon-type}.{daemon id or *} config set {name} {value}
调整动态配置,例如ceph tell osd.0 config set debug_osd 0/5
ceph tell {daemon-type}.{daemon id or *} config get {name}
获取动态配置
慢请求排查
ceph daemon osd.id dump_historic_slow_ops
radosgw相关
radosgw-admin bucket list
列出所有桶radosgw-admin bucket stats --bucket=[bucket]
获取桶信息,包括用户、对象数radosgw-admin user info --uid=[uid]
获取用户信息,包括AK/SK
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799987.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!