问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PG异常状态详解及故障总结

发布网友 发布时间:2022-12-21 09:18

我来回答

3个回答

热心网友 时间:2023-10-18 23:31

PG(PostgreSQL)异常状态是指在操作PostgreSQL数据库时可能会出现的异常状态,例如:1. 数据库连接异常:无法连接到数据库或连接被中断;2. 查询异常:执行SQL查询语句时出错,例如语法错误、数据类型不匹配等;3. 数据库操作异常:执行数据库操作(例如插入、更新、删除等)时出现异常;4. 数据库锁定异常:多个并发事务访问同一数据时可能出现锁定异常;5. 数据库崩溃:数据库程序崩溃或发生硬件故障等原因导致数据库无法正常工作。针对以上异常状态,可以采取以下措施:1. 数据库连接异常:检查网络连接、认证信息、数据库运行状态等;2. 查询异常:检查SQL语法、数据类型、查询条件等;3. 数据库操作异常:根据异常信息进行排查、修复;4. 数据库锁定异常:调整事务隔离级别、优化SQL语句等;5. 数据库崩溃:重启数据库程序、备份恢复等。总之,要保证PostgreSQL数据库的稳定性和可靠性,需要对各种异常状态进行及时的排查和修复。

热心网友 时间:2023-10-18 23:31

这里PG状态指PG外部状态,即能被用户所直接看到的状态。

可以通过 ceph pg stat 命令查看PG当前状态,健康状态为“active + clean”.

下面给出部分常见的PG外部状态。(参考《Ceph 之Rados设计原理与实现》6.3节)

下面给出部分PG异常状态(需要人为修复)介绍。

一般情况下,存储池设置为3副本,也就是1个PG会存储到3个OSD。正常情况,PG状态显示为“active + clean”

如果说你的集群小于三副本,例如只有2个OSD,那么你可能会所有OSD都处于 up 和 in状态,但是PG始终无法达到 “active + clean”,这可能是因为 osd pool size/min_size设置了大于2的值。

可以看出,osd pool min_size是必须满足的OSD副本数,osd pool size则是建议满足的OSD副本数。前者是必须满足的条件,否则该pool无法读写;后者可以不满足,只是集群会报出警告。可以通过设置合理的osd pool size 和osd pool min size来解决上述问题。

CRUSH MAP 错误

PG 达不到 clean 状态的另一个可能的原因就是集群的 CRUSH Map 有错误,导致 PG 不能映射到正确的地方。

最常见的PG故障都是由于某个或者多个OSD进程挂掉导致的。一般重启OSD后恢复健康。

可以通过 ceph -s 或者 ceph osd stat 检查是否有OSD down。

尝试停掉一个或多个OSD(3副本集群,总共4个OSD),观察集群状态。

重启所有停掉的OSD,集群会慢慢恢复健康。

这里罗列一下集群不能读写的PG状态:

stale和peered状态上文已经演示过,通过停止OSD服务达到。

down的一个经典场景:A(主)、B、C

此时存活的B数据陈旧(不含新数据),而且集群中也没有其他OSD可以帮助其完成数据迁移,因此会显示down,参考链接: https://zhuanlan.hu.com/p/138778000#:~:text=3.8.3%20PG%E4%B8%BADown%E7%9A%84OSD%E4%B8%A2%E5%A4%B1%E6%88%96%E6%97%A0%E6%B3%95%E6%8B%89%E8%B5%B7

down的解决方法依然是重启失败的OSD。

参考链接: https://ceph.com/geen-categorie/ceph-manually-repair-object/

一般手动修复损坏的PG即可,使用 ceph pg repair {pgid}

PG状态为inconsistent时,说明PG中存在对象不一致的情况。有可能时某个OSD磁盘损坏,或者磁盘上的数据发生静默错误。

下面手动构造一个PG数据损坏的例子,并修复它。

如果 ceph pg repair {pgid} 命令无法修复PG,可以使用ceph-objectstore-tool导入整个PG的方式。

参考链接: https://www.jianshu.com/p/36c2d5682d87#:~:text=%E8%B5%B7%E5%A4%AF%E4%BD%8F%E3%80%82-,3.9%20Incomplete,-Peering%E8%BF%87%E7%A8%8B%E4%B8%AD

构造故障

使用ceph-objectstore-tool修复

上述介绍了重启OSD的方法来解决集群故障,但有时会遇到OSD down却无法重启的状况。

遇到以上问题,有以下三种方案:

下面给出手动删除OSD再重新创建OSD的例子:

重建OSD需要注意的是,如果你的集群中对crush map做了特别定制,那么还需要去检查crush map。

在OSD恢复过程中,可能会影响集群对外提供的io服务。这里给出以下可修改配置。

为了避免pg开始迁移后造成较大的压力导致osd挂掉,先在配置文件global中写入如下配置

磁盘恢复速度配置,其实默认的速度已经比较写了,如果想要加快迁移速度,可以尝试调制下列参数

附上配置操控命令

一般来说,集群三副本的情况下不太可能出现PG丢失的情况,如果一旦出现了,那也就意味着这丢失的数据无法找回。

注意:不要使用单副本的集群。

出现“1 pools have many more objects per pg than average”警告时,说明集群中某个pool的PG数量配置过少,其每个PG承载的对象高于集群平均PG承载对象10倍以上,最简单的解决方法就是增加pool的pg数即可。

热心网友 时间:2023-10-18 23:32

PG( (参考 ,文档)Primary Global)异常状态是指数据库中的主节点(Primary Node)无法正常工作。出现PG异常状态可能是由于主节点故障、网络连接问题、负载过重等原因导致的。当主节点出现异常时,数据库会自动切换到备用节点(Standby Node),以确保系统的高可用性和数据的连续性。造成PG异常状态的常见故障有:1. 主节点故障:主节点宕机或出现故障,导致无法提供正常的数据库服务。这可能是由于硬件故障、操作系统故障、数据库软件故障等原因引起的。2. 网络连接问题:主节点与备用节点之间的网络连接出现问题,导致数据无法正常同步和传输。可能是由于网络故障、防火墙配置不正确、网络带宽不足等原因引起的。3. 负载过重:主节点所承载的负载过大,超出了其能力范围,导致数据库性能下降甚至宕机。这可能是由于并发用户数过多、数据库请求压力过大、资源分配不合理等原因引起的。对于PG异常状态,需要采取以下几个步骤进行故障处理和修复:1. 检查主节点状态:首先需要确认主节点是否真的宕机或出现故障。可以通过登陆到主节点进行检查,查看数据库服务是否正常运行。2. 切换到备用节点:如果主节点确实故障,需要手动切换到备用节点。可以通过修改数据库配置文件或执行相应的命令来实现。切换后,备用节点将成为新的主节点,负责提供数据库服务。3. 恢复主节点:修复主节点的故障,使其能够重新加入数据库集群。这可能需要修复硬件故障、处理操作系统故障、重新安装数据库软件等。4. 优化数据库配置和资源分配:对于负载过重的情况,需要进行数据库配置和资源分配的优化。可以增加硬件资源、优化数据库参数设置、控制并发用户数等。总结起来,PG异常状态是数据库中的主节点出现故障导致的,可能是由于主节点故障、网络连接问题、负载过重等原因引起的。要解决PG异常状态,需要检查主节点状态、切换到备用节点、修复主节点故障、优化数据库配置和资源分配等步骤。这样可以确保数据库的高可用性和数据的连续性。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我用银行卡网购了。怎么被注销了? 装电线的时候,不同区域该用什'么规格的电线? SY0401-98《输油输气管道线路工程施工及验收规范》废止后,用什么规范... 汇率一直变动,对中国工业品出口竞争力产生了影响,但是应该用什么... ...整个盘面流出资金大于流入资金,但是股票仍然升.. 请问股市或个股资金的流入与流出是什么意思啊? 股市之中的"资金流入"和"资金流出"分别是什么意思? 什么是股市中的资金流入和流出现象,如何理解 耕升gtx titan x 显卡怎么样 gtxtitanx是游戏显卡吗 修车几年,总结一些故障 关于热爱祖国的四字成语诗句 汽车故障排故总结600字 三年级下册古诗三首描写春天的诗句(精选203句) 读书必须深入了解大道理 温暖的心灵慰藉,优质好书给到你! 关于读书,我们了解什么? 愿你永远不用长大 答应我 可好 发这条说说的人是怎么想的 又是什么意思 谢谢 滑石粉的废包装袋属于危废吗? 读书:了解世界的一种方式 只要我还在,你就不用长大你负责温柔就好,我负责守你的温柔如何回复? 我是1984年10月31日令成1点左右出生的女孩,请帮我算算生辰八字和命相,谢谢 分析这句英文的主谓宾结构和句子成分,短语之类的:one may miss the mark to 五年级上册语文小学同步测控优化设计第二页图片 one may as well not know a thing at all as know it imperfectly 在天愿作比翼鸟,在地愿为连理枝,和哪些星座男在一起你永远不用长大? 五年级上册语文优化设计划171819页 关于诗词押韵的问题,帮帮忙啊 one may have a character, but may have many characteristics,all ... 每一个日子都不要辜负 对于电脑常见故障的总结 过年了,请高手写一首藏头诗 破产用英文怎么说 bl短文要短短短短短短短...不超过3W字 1985年2月19(农历)日00:40分出生姓段想取一个特别的名字,好记,蕴含成功的意思,多谢帮忙 古代用什么称呼破产和倒闭? 建筑工程承包合同的法律效力是怎么规定的 《赵威后问齐使》中的反诘句有哪些? 我有个朋友,是湖南邵阳洞口镇的,她老是说插刀去,插刀到底是什么? 给2岁的宝宝英语启蒙,选择什么样的软件合适? 临汾文理学院体育文高考多少分录取 皇太极是清朝实际上的开国皇帝吗 皇太极是不是清朝实际上的开国皇帝 清朝第一个统治者是谁 皇太极是清朝的建立者 Pray for me的意思?祝福我们用英语怎么说? 祝福我们吧 “才不是呢!”怎么翻译成英语 “噢!我才不是呢?”用英语怎么写?如题 叶问2观后心得范文5篇 周星驰你为什么笑 周星驰为什么一个人的恨会大