【ceph】ceph集群 slow req 问题剖析:30 slow requests are blocked > 32 sec. Implicated osds 186,满满都是干货

  本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》暂未更新

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

 对于ceph集群 slow req 问题剖析

产生这个报错“30 slow requests are blocked > 32 sec. Implicated osds 186”的原因很多,需要一一分析:

1.硬件问题:dmest -T / smartctl -a  以及查看osd日志排查

2.网络问题:自己排查自己机器环境中的网络是否不稳定

一般使用iperf 或者 长ping 以及 http 响应时间 使用time

3.时间同步ntp也要检查

4.上面问题都排除外,大概率是shard分配不合理导致osd压力过大

这里推荐大一些,大佬推荐最好是素数(1297)具体分片数量多大,自己可以根据压测来调优。

这里分享一下作者遇到的第四种情况:

    health: HEALTH_WARN

            4 large omap objects

            120 slow requests are blocked > 32 sec. Implicated osds 3

当出现这个slow req时,我一一排查前面3种情况,都排除之后开始去看其他问题:

先查看目前bucket的情况:

radosgw-admin bucket stats --bucket

发现分片就一个,所以压力全积压到一个分片,osd压力也大

再看看zone的bucket_index_max_shards参数情况:

adosgw-admin zonegroup get

bucket_index_max_shards:0

我这里新建集群使用默认0,就是一个分片,那对上了

那接下来如何去修改呢?

有两种情况:

1 修改ceph.conf 在rgw添加rgw_override_bucket_index_max_shards参数,之后重启rgw服务

这个方法需要重启rgw服务,这是生产无法接受的,我们另寻办法

2.使用zone的修改:

radosgw-admin zonegroup get > zonegroup.json
修改完后重新导入,后面新创建bucket就会按新的分片规则
sudo radosgw-admin zonegroup set < zonegroup.json
sudo radosgw-admin period update --commit

这里补充一下,那之前的bucket还要用怎么办:

只能手动reshard:

radosgw-admin bucket reshard --bucket= --num-shards=

你可能感兴趣的:(ceph,ceph)