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

Ceph集群OSD崩溃恢复

Ceph集群OSD崩溃恢复

问题背景

集群处于HEALTH_WARN状态

1个守护进程(OSD.325)最近崩溃

通过ceph -s命令,查看详细的警告信息:

[XXXXX ~]# ceph -scluster:id:     xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxhealth: HEALTH_WARN1 daemons have recently crashed
RECENT_CRASH 1 daemons have recently crashedosd.325 crashed on host hostname at YYYY-MM-DD HH:MM:SS.SSSSSSZ

问题分析

1. OSD崩溃问题

需要确认崩溃的OSD.325的状态。使用ceph osd find命令来定位OSD:

[root@hostname ~]# ceph osd find 325
Error ENOENT: osd.325 does not exist

系统提示OSD.325不存在。进一步通过OSD树结构查找:

[root@hostname ~]# ceph osd tree | grep 325

没有任何输出,确认了OSD.325已经不在集群中。

这种情况通常发生在:OSD崩溃后被管理员从集群中移除,但崩溃记录没有被清理。

2. 查看崩溃记录

接下来,我们查看集群中的崩溃记录:

[root@hostname ~]# ceph crash ls
ID                                                               ENTITY     NEW 
YYYY-MM-DD_HH:MM:SS.SSSSSSZ_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx osd.325        
YYYY-MM-DD_HH:MM:SS.SSSSSSZ_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx osd.325        
YYYY-MM-DD_HH:MM:SS.SSSSSSZ_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx osd.325     *  

从输出中可以看到,确实存在OSD.325的崩溃记录,发生时间为YYYY年MM月DD日,并且标记为“NEW”(星号表示)。这意味着这个崩溃记录还没有被归档处理。

解决方案

1. 归档崩溃记录

既然OSD.325已经不在集群中,只需要归档这个崩溃记录即可消除相关警告:

[root@hostname ~]# ceph crash archive YYYY-MM-DD_HH:MM:SS.SSSSSSZ_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

归档成功后,我们再次检查集群状态:

[root@hostname ~]# ceph -scluster:id:     xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxhealth: HEALTH_WARNXX pgs not deep-scrubbed in time

可以看到,OSD崩溃的警告已经消失

经验总结

  1. 定期检查集群状态:通过ceph -s命令定期检查集群健康状态,及时发现问题。

  2. 崩溃记录管理:当处理完OSD崩溃后,记得使用ceph crash archive命令归档崩溃记录,避免不必要的警告。

  3. 故障排除流程

    • 确认问题(ceph -s
    • 定位具体组件(ceph osd find, ceph osd tree
    • 查看详细信息(ceph crash ls
    • 采取修复措施(ceph crash archive
    • 验证结果(再次ceph -s
http://www.dtcms.com/a/283026.html

相关文章:

  • 量子比特耦合与系统集成:量子计算硬件的核心突破
  • 离线部署三节点 Ceph 分布式存储
  • 访问者设计模式
  • Elasticsearch+Logstash+Kibana部署
  • java解析word文档
  • windows内核研究(进程与线程-等待链表和调度链表和线程切换)
  • Excel 导入导出工具类文档
  • ubuntu中拷贝docker容器中的文件到宿主机
  • 万字长文解析 OneCode3.0 AI创新设计
  • 微服务的编程测评系统2
  • 2025年量化交易平台对比:付费与开源方案深度分析
  • nerdctl - 兼容 Docker 语法 的 containerd 命令行界面
  • 17.图像金字塔采样(放大,缩小处理)拉普拉斯金字塔
  • 闰年的历史由来与C语言实现详解
  • 7.16 拓扑排序 | 欧拉回路 |链表排序 前缀和
  • Vue在线预览Excel和Docx格式文件
  • Redis学习其一
  • Python学习之路(十三)-常用函数的使用,及优化
  • Redis读写策略深度解析:高并发场景下的缓存兵法
  • python基础语法9,用os库实现系统操作并用sys库实现文件操作(简单易上手的python语法教学)
  • 猫眼娱乐IOS开发一面手撕算法
  • 嵌入式学习笔记--MCU阶段--DAY06DHT11练习
  • AR智能巡检:电力行业数字化转型的“加速器”
  • 基于Llama的RAG 3种模型配置方法
  • 51c自动驾驶~合集7
  • 基于C#开发solidworks图库中文件(SLDPRT,SLDASM,SLDDRW等)转换为HTML和PDF,提供批量和实时转换
  • AI产品经理面试宝典第28天:自动驾驶与智慧交通融合面试题与答法
  • 自动驾驶激光3D点云处理系统性阐述及Open3D库函数应用
  • MR 处于 WIP 状态的WIP是什么
  • 小模型的价值重估:从“缩水版DeepSeek”到AI系统的基础执行单元20250716