CEPH 新加host 添加OSD 故障 pg down

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CEPH 新加host 添加OSD 故障 pg down相关的知识,希望对你有一定的参考价值。

参考技术A 由于业务问题把ceph的集群进行调整,当时某一host因内存问题挂掉。借此机会把所有的osd,down--out--purge掉。

下面还是需要把这个host添加进集群。相当于新加一个host。

同事先在host上启动了一个osd。并且等几分钟后,又添加3个osd。此时集群挂掉。
出现pg down

查看log

最终定位原因,由于新加osd时,会在此host进行新osd所有pg都会创建出来。新加的osd会添加一部分,剩下的有本host上其他osd创建,最后转移到新的osd上。
由于同事添并不是统一添加osd。导致第一个osd上面的pg num过大。在新加osd后造成了上面的问题。导致pg down。

ceph集群osd full紧急故障恢复

ceph集群full紧急故障恢复

1.设置 osd 禁止读写

ceph osd pause

2.通知 mon 和 osd 修改 full 阈值

ceph tell mon.* injectargs "--mon-osd-full-ratio 0.96"
ceph tell osd.* injectargs "--mon-osd-full-ratio 0.96"

3.通知 pg 修改 full 阈值

ceph pg set_full_ratio 0.96 (Luminous版本之前)
ceph osd set-full-ratio 0.96 (Luminous版本)

4.解除 osd 禁止读写

ceph osd unpause

5.删除相关数据或者数据均衡消除osd full

以下方法进行处理:
a.openstack环境下最好是 nova 或者 glance 删除云盘及虚拟机数据,当然也可以在 ceph 层面删除
b.数据均衡ceph osd df | sort -rnk 7 按照倒序osd使用率,根据VAR值进行调整(自动按照集群osd使用率进行调整):
ceph osd reweight-by-utilization VAR*100
Eg:ceph osd reweight-by-utilization 131
c.手动调整某一个osd的权重:
Eg:ceph osd reweight 1 0.95

6.配置还原

ceph tell mon.* injectargs "--mon-osd-full-ratio 0.95"
ceph tell osd.* injectargs "--mon-osd-full-ratio 0.95"
ceph pg set_full_ratio 0.95 (Luminous版本之前)
ceph osd set-full-ratio 0.95 (Luminous版本)

集群出现osd full,一般情况是集群的使用率整体较高,此时扩容或者删除数据才是正解。

Tips:
集群出现full,处于err状态,client端数据无法读写,但是如果集群进行数据均衡,还可以继续recovery。

以上是关于CEPH 新加host 添加OSD 故障 pg down的主要内容,如果未能解决你的问题,请参考以下文章

Ceph PG介绍及故障状态和修复

ceph集群osd full紧急故障恢复

ceph集群osd full紧急故障恢复

ceph分布式存储-常见 PG 故障处理

ceph 添加osd

CentOS 7.2 安装部署 Ceph 及添加 PG