当前位置: 首页 > java >正文

Ceph PG unfound/lost 问题排查与解决

Ceph PG unfound/lost 问题排查与解决

    • 背景
    • 现象
    • 排查过程
    • 经验总结
    • 参考命令
    • 结语

背景

Ceph 集群出现 HEALTH_ERR,提示有 PG 对象丢失(unfound),并且 repair 无法自动修复。

现象

  • ceph health detail 显示:

    HEALTH_ERR 4/213107278 objects unfound (0.000%); Possible data damage: 1 pg recovery_unfound; Degraded data redundancy: 36/2130898991 objects degraded (0.000%), 1 pg degraded
    OBJECT_UNFOUND 4/213107278 objects unfound (0.000%)pg 2.f06 has 4 unfound objects
    PG_DAMAGED Possible data damage: 1 pg recovery_unfoundpg 2.f06 is active+recovery_unfound+degraded+repair, acting [520,454,563,300,70,59,243,166,422,333], 4 unfound
    PG_DEGRADED Degraded data redundancy: 36/2130898991 objects degraded (0.000%), 1 pg degradedpg 2.f06 is active+recovery_unfound+degraded+repair, acting [520,454,563,300,70,59,243,166,422,333], 4 unfound
    
  • repair 日志显示:

    repair 4 missing, 0 inconsistent objects
    repair 36 errors, 36 fixed
    

排查过程

  1. 确认 OSD 状态

    • 所有相关 OSD 均为 up,无进程或硬件异常。
  2. 分析 repair/scrub 日志

    • repair 已修复 36 个错误,但有 4 个对象在所有副本上都找不到(unfound)。
  3. 尝试 mark_unfound_lost revert

    • 报错:mode must be 'delete' for ec pool,说明 EC 池只能用 delete
  4. 最终执行

    ceph pg 2.f06 mark_unfound_lost delete
    
    • 系统提示:pg has 4 objects unfound and apparently lost marking
  5. 健康恢复

    • 片刻后,ceph health detail 显示 HEALTH_OK,PG 状态恢复正常。

经验总结

  • unfound objects 表示对象在所有副本上都丢失,无法自动修复。
  • EC 池只能用 delete 方式丢弃丢失对象,不能 revert。
  • repair 只能修复可用副本间的数据不一致,无法凭空恢复丢失对象。
  • 标记 lost 后,集群健康恢复,但对应对象永久丢失,需业务评估影响。

参考命令

# 查看健康和详细信息
ceph health detail
ceph status# 标记 unfound/lost 对象(EC池只能delete)
ceph pg <pgid> mark_unfound_lost delete# 检查PG状态
ceph pg <pgid> query

结语

遇到 Ceph PG unfound/lost 问题,需冷静排查,确认无法恢复后果断 mark lost,保障集群整体健康。建议定期备份重要数据,防止极端情况下的不可恢复丢失。

http://www.xdnf.cn/news/4738.html

相关文章:

  • 记录Token反序列化OAuth2Authentication(主要是直接存储用户信息的UserDetails )
  • [matlab]private和+等特殊目录在新版本matlab中不允许添加搜索路径解决方法
  • 医院信息集成平台是什么?怎么促进医院信息化建设?
  • sui在windows虚拟化子系统Ubuntu和纯windows下的安装和使用
  • 皇冠CAD(CrownCAD)建模教程:小型风力发电机
  • [逆向工程]什么是HOOK(钩子)技术(二十一)
  • MySQL回表详解!
  • 视频添加字幕脚本分享
  • AI学习路径
  • GrassRoot备份项目
  • 剖析 FFmpeg:从基本功能到过滤器,实现音视频处理的灵活性
  • python编译exe执行时报错:OSError:[WinError6]句柄无效
  • http协议理解
  • LLM 论文精读(三)Demystifying Long Chain-of-Thought Reasoning in LLMs
  • Qt 编译 sqldrivers之psql
  • Linux中的防火墙
  • 【RAG】indexing 中的 Hierarchical Indexing(分层索引)
  • Matlab 四分之一车体被动和模糊控制对比
  • 文件包含 任意文件读取
  • B站搜索关键词全攻略:掌握B站搜索关键词的运作机制
  • 深度学习-160-Dify工具之从模板创建应用示例
  • 评论系统表结构设计--简单模型
  • 每日学习Java之一万个为什么(待完善)
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 如何获取自身程序的所在的目录?
  • Mac 平台获取地区标识符号
  • Windows (可永久)暂停更新用以解决兼容性、性能与稳定性问题
  • CH32V208GBU6沁恒绑定配对获取静态地址
  • 高能数造全固态电池干法电极高品质原纤化技术:驱动干法和全固态电池制造新进程
  • inotify事件驱动机制
  • 【5G通信】bwp和redcap 随手记 2