PG又称放置组,是ceph中存放文件object的单位,相当于管理文件的分组。
down+peering
参考ceph pg状态表:
Creating
Ceph 仍在创建归置组。
Active
Ceph 可处理到归置组的请求。
Clean
Ceph 把归置组内的对象复制了规定次数。
Down
包含必备数据的副本挂了,所以归置组离线。
Replay
某 OSD 崩溃后,归置组在等待客户端重放操作。
Splitting
Ceph 正在把一归置组分割为多个。(实现了?)
Scrubbing
Ceph 正在检查归置组的一致性。
Degraded
归置组内的对象还没复制到规定次数。
Inconsistent
Ceph 检测到了归置组内一或多个副本间不一致(如各对象大小不一、恢复后对象还没复制到副本那里、等等)。
Peering
归置组正在互联。
Repair
Ceph 正在检查归置组、并试图修复发现的不一致(如果可能的话)。
Recovering
Ceph 正在迁移/同步对象及其副本。
Backfill
Ceph 正在扫描并同步整个归置组的内容,而不是根据日志推算哪些最新操作需要同步。 Backfill 是恢复的一种特殊情况。
Wait-backfill
归置组正在排队,等候回填。
Backfill-toofull
一回填操作在等待,因为目标 OSD 使用率超过了占满率。
Incomplete
Ceph 探测到某一归置组可能丢失了写入信息,或者没有健康的副本。如果你看到了这个状态,试着启动一下有可能包含所需信息的失败 OSD 、或者临时调整一下 min_size 以完成恢复。
Stale
归置组处于一种未知状态——从归置组运行图变更起就没再收到它的更新。
Remapped
归置组被临时映射到了另外一组 OSD ,它们不是 CRUSH 算法指定的。
Undersized
此归置组的副本数小于配置的存储池副本水平。
Peered
此归置组已互联,但是不能向客户端提供服务,因为其副本数没达到本存储池的配置值( min_size 参数)。在此状态下可以进行恢复,所以此归置组最终能达到 min_size 。


down+peering表示ceph中的pgs处于互联状态但是发现对方却不在线了,这种情况原因一般为peering对象pg所在osd down或者损坏了。
在一次故障排查中,起因为ceph中一块硬盘损坏了,后来由于误删了一个osd(当时是由于该osd处于down状态,所以将其remove),竟然造成集群中pg中文件unfound!,pg的恢复也一直stuck,
后来试了很多办法都没有解决。
直到后来我仔细查看了该pg的query

ceph pg x.xx qyery

1、创建osd

ceph osd create

该命令会自动创建一个osd,返回osd号,但是需要的osd号必须跟误删的osd号相同,所以可以多次执行该命令创建osd,直到返回的osd号与误删的osd相同为止,此时ceph osd tree中已经创建了很多osd,在此只需要
保留我们所需的osd,将其他的空osd删除。

2、挂载osd

df -h
/dev/mapper/logs-log             40G  7.1G   31G  19% /var/log
/dev/mapper/mysql-root           40G  3.3G   35G   9% /var/lib/mysql
/dev/mapper/horizon-horizontmp   20G   33M   20G   1% /var/lib/horizon
/dev/sdb3                       279G  167G  112G  61% /var/lib/ceph/osd/ceph-0
//显示该osd挂载的目录

将osd与该目录关联

ceph auth add osd.0 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/ceph-0/keyring

注意:在此过程中可能会出现keyring not match错误,可执行如下命令

ceph auth del osd.{num}

然后再进行挂载。

3、添加root node

ceph osd crush add [osdnum] [weight] host=controller-01

“ceph osd crush add 0 1.0 host=controller-01”表示在controller-01上添加osd.0 weight设置为1.0

4、启动osd

sudo start ceph-osd id={num}

5、 添加ceph node到default root

ceph osd crush move osd1 root=default

然后等待恢复就可以了。
对于unfound 的PG ,可以选择delete或者revert

ceph pg {pg-id} mark_unfound_lost revert|delete

参考:
归置组:http://docs.ceph.org.cn/rados/operations/placement-groups/
https://yq.aliyun.com/articles/17193
http://www.cnblogs.com/zhangzhengyan/p/6407403.html
http://docs.ceph.org.cn/rados/troubleshooting/troubleshooting-osd/#id8

ceph pg+down+peering 故障排查与osd误删恢复相关推荐

  1. ceph学习(故障恢复)——mon全部故障,从osd中恢复集群

    在生产环境中,ceph集群要求最少配置3个MON,一般情况下很少出现3个MON同时挂掉的情况,但是也不排除出现这种情况的可能,如果集群中的所有MON都损坏了,是不是集群数据就丢失了呢?能不能恢复集群? ...

  2. linux服务器无网络确认,Linux服务器故障排查实用指南

    [2013年3月25日 51CTO外电头条]由于造成网络问题的因素多种多样,因此网络故障排查技能就成了每位服务器或网络服务负责人必不可少的重要素质.Linux为我们提供了大量网络故障排查工具,在本文中 ...

  3. linux服务器网络不稳定,Linux服务器故障排查指南7:网络缓慢状况

    网络缓慢状况的故障排查 从某种角度来说,网络无法工作的问题更容易解决.当一台主机无法访问,我们可以执行前面讨论过的故障排查步骤直到一切恢复正常.但如果仅仅是网络缓慢,追查其根本原因往往变得更为棘手.本 ...

  4. ceph PG状态及部分故障(状态)模拟

    1. PG介绍 这次主要来分享Ceph中的PG各种状态详解,PG是最复杂和难于理解的概念之一,PG的复杂如下: - 在架构层次上,PG位于RADOS层的中间. a. 往上负责接收和处理来自客户端的请求 ...

  5. java基础巩固-宇宙第一AiYWM:为了维持生计,做项目经验之~SSM项目错误集锦Part3(项目蹦+pg数据库坏+100%-->线上故障排查经验【业务bug第一步一定是先看日志,写好日志】)~整起

    项目中遇到的一个问题:项目忽然蹦了,用我们的域名登陆不上去了. 根据之前的经验,一般比如我们项目登不上去了或者数据库不上数据了(数据不更新),直接在Xshell上远程reboot一下,再重启一下tom ...

  6. Ceph pg状态总结

    PG( placement group)是一个放置策略组,它是对象的集合,该集合里的所有对象都具有相同的放置策略:简单点说就是相同PG内的对象都会放到相同的硬盘上: PG是 ceph的核心概念, 服务 ...

  7. Ceph入门到精通-Ceph PG状态详细介绍(全)

    本文主要介绍PG的各个状态,以及ceph故障过程中PG状态的转变. Placement Group States(PG状态) creating Ceph is still creating the p ...

  8. 资源丨MySQL故障排查思路方法PPT视频24问答

    昨晚,墨天轮邀请到MySQL技术顾问崔虎龙做了题为<一小时掌握MySQL故障排查思路方法>的直播分享,引起了大家的广泛关注,直播后很多小伙伴来找小编询问PPT.思维导图.视频等,在这里小编 ...

  9. PLC故障排查步骤的思路和方法

    PLC故障排查步骤的思路和方法 PLC硬件损坏或软件运行出错的概率极低,检查故障时,重点应放在PLC的外围电气元件,PLC的故障大多数是外围接口信号故障,维修时,只要PLC有部分控制的动作正常,就不用 ...

  10. MySQL性能优化、故障排查及最佳实践秘籍,阿里云数据库专家玄惭的“武功”全记录...

    为什么80%的码农都做不了架构师?>>>    文章简介 玄惭,真名罗龙九,阿里云DBA专家,负责阿里云RDS线上稳定以及专家服务团队.他经历过阿里历年双11实战考验,积累了7年对阿 ...

最新文章

  1. 解决JQuery AutoComplete在IE9下出错的问题
  2. ip数据报首部校验和的计算
  3. mysql8.0.11启动不了_8.0.11版本Mysql遇到MySQL 服务无法启动的解决方法
  4. 设计素材模板|艺术感中国风海报
  5. countanddown java_Java多线程之CountDownLatch
  6. 领域驱动系列五模型驱动设计的构造块
  7. 开源啦:连DeepMind也捉急的游戏,OpenAI给你攻破第一关的高分算法
  8. Qt总结之十四:uint8_t / uint16_t / uint32_t /uint64_t数据类型详解
  9. Arcgis10.2安装及LicensenManager10.2启动失败解决方法
  10. EMNLP'21 | 检索式对话情感回复
  11. 使用PowerDesigner进行面向对象分析与UML建模(转)
  12. html网页设计简单登陆界面
  13. 当我再次看到你————中秋致Leslie
  14. Mantis 安装与配置及使用
  15. 极客战记计算机科学2村庄守卫,「网易官方」极客战记(codecombat)攻略-森林-村庄守护神-village-champion...
  16. Cosmos 是什么?
  17. 学习方法之08克服拖延症,及时快速地完成任务
  18. rtl8811au黑苹果10.15_黑苹果10.15Catalina硬件选择+完美配置指南【接入智能家居】...
  19. Java网课基础笔记(9)19-07-21
  20. jmetter持续时间_【转】Jmeter做web压力测试时设置持续时间注意点

热门文章

  1. python 数学公式显示_python 数学公式·
  2. MIPI学习--CSI2
  3. 申论该怎么学?申论作文如何提高
  4. 利用接口和继承实现  求三角形 圆形面积 和以圆形为底的圆锥形的体积
  5. 计算机键盘字母排列依据,键盘上的26个字母排序有什么规律吗?是怎么定的?...
  6. 亲测好用的Topaz AI图像降噪软件:DeNoise AI mac版(支持m1)
  7. SAM-BA和AT91SAM9260连接问题
  8. 云闪付华为P9指纹_华为云闪付app指纹支付
  9. git鉴权失败问题 以及每次clone 都要输入用户名密码问题
  10. 超简单的子父组件传值