ceph修改pg inconsistent

异常情况

1、收到异常情况如下:

HEALTH_ERR 37 scrub errors; Possible data damage: 1 pg inconsistent

2、查看详细信息

#ceph health detail
HEALTH_ERR 37 scrub errors; Possible data damage: 1 pg inconsistent
OSD_SCRUB_ERRORS 37 scrub errors
PG_DAMAGED Possible data damage: 1 pg inconsistent
pg 1.dbc is active+clean+inconsistent, acting [55,71,25]

3、预处理办法

一般情况采用 ceph pg [pgid],但是经过观察,并不能解决。

参考处理办法

https://ceph.com/geen-categorie/ceph-manually-repair-object/

Just move the object away with the following:

  • stop the OSD that has the wrong object responsible for that PG
  • flush the journal (ceph-osd -i <id> --flush-journal)
  • move the bad object to another location
  • start the OSD again
  • call ceph pg repair 17.1c1

我的处理过程

找出异常的 pg,然后到对应的osd所在主机上修复。


[email protected]:~# ceph osd find 55
{
    "osd": 55,
    "ip": "172.29.64.76:6817/789571",
    "crush_location": {
        "host": "CLTQ-064-076",
        "root": "default"
    }
}

这里表示是主机CLTQ-064-076
然后到 进行修复

1、停止osd

systemctl stop [email protected]

2、刷入日志

ceph-osd -i 55 --flush-journal

3、启动osd

systemctl start [email protected]

4、修复(一般不需要)

ceph pg repair 1.dbc

5、查看pg所在osd

# ceph pg ls|grep 1.dbc

1.dbc      3695                  0        0         0       0 12956202159 1578     1578                active+clean 2018-04-03 19:34:45.924642  2489‘4678 2494:19003 [55,71,25]         55 [55,71,25]             55  2489‘4678 2018-04-03 18:32:56.365327       2489‘4678 2018-04-03 18:32:56.365327

可以确认集群恢复OK。PG还是在 osd.55上。

原文地址:http://blog.51cto.com/3168247/2094597

时间: 2024-10-10 18:37:14

ceph修改pg inconsistent的相关文章

调整ceph的pg数(pg_num, pgp_num)

https://www.jianshu.com/p/ae96ee24ef6c 调整ceph的pg数 PG全称是placement groups,它是ceph的逻辑存储单元.在数据存储到cesh时,先打散成一系列对象,再结合基于对象名的哈希操作.复制级别.PG数量,产生目标PG号.根据复制级别的不同,每个PG在不同的OSD上进行复制和分发.可以把PG想象成存储了多个对象的逻辑容器,这个容器映射到多个具体的OSD.PG存在的意义是提高ceph存储系统的性能和扩展性. 如果没有PG,就难以管理和跟踪数

Ceph —— 均衡PG

Ceph —— 均衡PG 日常工作中,我们常常会发现PG不均衡,而集群中只要有一个OSD先达到full的状态,则整个集群都无法写入数据,所以为了尽可能的提高集群存储空间的利用率,我们都希望PG尽可能的均匀分布在OSD上. 出现PG不均衡最常见的背景情况: 刚刚安装部署Ceph集群完毕 集群扩容或是其他情况,进行了加盘的操作,OSD数量发生变化 为了节省日常工作的时间,针对PG均衡问题,写了个python脚本: version : ceph_luminous (12.2.2) 1 #!/usr/b

ceph ( pgs inconsistent) pgs不一致 异常状态处理方式

问题描述: 在某些情况下,osd出现异常,导致pgs出现不一致状态# ceph health detailHEALTH_ERR 1 pgs inconsistent; 1 scrub errorspg 6.89 is active+clean+inconsistent, acting [12,1,10]1 scrub errors 可以看到,pg 6.89处于不一致状态 解决方式:#ceph pg repair 6.89instructing pg 6.89 on osd.12 to repai

pg inconsistent

ceph 状态突然 error [[email protected] ~]# ceph health detail HEALTH_ERR 1 pgs inconsistent; 1 scrub errors; pg 2.37c is active+clean+inconsistent, acting [75,6,35] 1 scrub errors 报错信息总结: 问题PG:2.37c OSD编号:75,6,35 执行常规修复: ceph pg repair 2.37c这时会出现osd节点各别重

Ceph中PG和PGP的区别

http://www.zphj1987.com/2016/10/19/Ceph%E4%B8%ADPG%E5%92%8CPGP%E7%9A%84%E5%8C%BA%E5%88%AB/ 一.前言 首先来一段英文关于PG和PGP区别的解释: PG = Placement GroupPGP = Placement Group for Placement purpose pg_num = number of placement groups mapped to an OSD When pg_num is

(7)ceph 2 pgs inconsistent故障

[[email protected] ~]# ceph health detailHEALTH_ERR 2 scrub errors; Possible data damage: 2 pgs inconsistentOSD_SCRUB_ERRORS 2 scrub errorsPG_DAMAGED Possible data damage: 2 pgs inconsistentpg 3.3e is active+clean+inconsistent, acting [11,17,4]pg 3.4

ceph——创建pg

bool OSD::ms_dispatch(Message *m) |---如果是标记osd down的话,直接返回service.got_stop_ack(), return true |---如果osd已经已经停止服务,则return true |---do_waiters() //list<OpRequestRef> finished 只保存pg创建的请求 |---dispatch_op(next) |---handle_pg_create(op) //处理新的请求的时候,需要等待创建p

ceph集群报错:HEALTH_ERR 1 pgs inconsistent; 1 scrub errors

报错信息如下: [[email protected] ~]# ceph health detail HEALTH_ERR 1 pgs inconsistent; 1 scrub errors; pg 2.37c is active+clean+inconsistent, acting [75,6,35] 1 scrub errors 报错信息总结: 问题PG:2.37c OSD编号:75,6,35 执行常规修复: ceph pg repair 2.37c 查看修复结果: [[email prot

(4)CEPH PG数量设置

PG 当Ceph 集群接收到数据存储的请求时,它被分散到各个 PG 中.然而, CRUSH 首先将数据分解成 一组对象,然后根据对象名称.复制级别和系统中总的 PG 数目等信息执行散列操作,再将结果生成 PG ID. PG 是一组对象的逻辑集合,通过复制它到不同的 OSD 上来提供存储系统的可靠性. 根据 Ceph 池的复制级别,每个 PG 的数据会被复制并分发到 Ceph集群的多个 OSD上. 可以将 PG 看成一个逻辑容器,这个容器包含多个对象,同时这个逻辑容器被映射到多个 OSD上. PG