一、pg相关

1、xx objects unfound

- 问题描述:

dmesg查看磁盘发现读写异常,部分对象损坏(处于objects nofound状态),集群处于ERR状态

root@node1101:~# ceph health detail
HEALTH_ERR noscrub,nodeep-scrub flag(s) set; 13/409798 objects unfound(0.003%);17 stuck requests are blocked > 4096 sec. Implicated osds 38
OSDMAP_FLAGS noscrub,nodeep-scrub flag(s) set
OBJECT_UNFOUND 13/409798 objects unfound (0.003%)pg 5.309 has 1 unfound objectspg 5.2da has 1 unfound objectspg 5.2c9 has 1 unfound objectspg 5.1e2 has 1 unfound objectspg 5.6a has 1 unfound objectspg 5.120 has 1 unfound objectspg 5.148 has 1 unfound objectspg 5.14b has 1 unfound objectspg 5.160 has 1 unfound objectspg 5.35b has 1 unfound objectspg 5.39c has 1 unfound objectspg 5.3ad has 1 unfound objects
REQUEST_STUCK 17 stuck requests are blocked > 4096 sec. Implicated osds 3817 ops are blocked > 67108.9 secosd.38 has stuck requests > 67108.9 sec

- 处理措施:

将unfound pg强制删除,参考命令:ceph pg {pgid} mark_unfound_lost delete
注:如需批量删除unfound pg,则参考命令如下

for i in `ceph health detail | grep pg | awk '{print $2}'`;do ceph pg $i mark_unfound_lost delete;done

2、Reduced data availability: xx pgs inactive

- 问题描述:

磁盘出现读写异常,osd无法启动,强制替换故障盘为新盘加入到集群,出现pgs inactive(unkown)

root@node1106:~# ceph -scluster:id:     7f1aa879-afbb-4b19-9bc3-8f55c8ecbbb4health: HEALTH_WARN4 clients failing to respond to capability release3 MDSs report slow metadata IOs1 MDSs report slow requests3 MDSs behind on trimmingnoscrub,nodeep-scrub flag(s) setReduced data availability: 25 pgs inactive6187 slow requests are blocked > 32 sec. Implicated osds 41services:mon: 3 daemons, quorum node1101,node1102,node1103mgr: node1103(active), standbys: node1102, node1101mds: ceph-3/3/3 up  {0=node1103=up:active,1=node1102=up:active,2=node1104=up:active}, 2 up:standbyosd: 48 osds: 48 up, 48 inflags noscrub,nodeep-scrubdata:pools:   6 pools, 2888 pgsobjects: 474.95k objects, 94.5GiBusage:   267GiB used, 202TiB / 202TiB availpgs:     0.866% pgs unknown2863 active+clean25   unknownroot@node1101:~# ceph pg dump_stuck inactive
ok
PG_STAT STATE   UP UP_PRIMARY ACTING ACTING_PRIMARY
1.166   unknown []         -1     []             -1
1.163   unknown []         -1     []             -1
1.26f   unknown []         -1     []             -1
1.228   unknown []         -1     []             -1
1.213   unknown []         -1     []             -1
1.12f   unknown []         -1     []             -1
1.276   unknown []         -1     []             -1
1.264   unknown []         -1     []             -1
1.32a   unknown []         -1     []             -1
1.151   unknown []         -1     []             -1
1.20d   unknown []         -1     []             -1
1.298   unknown []         -1     []             -1
1.306   unknown []         -1     []             -1
1.2f7   unknown []         -1     []             -1
1.2c8   unknown []         -1     []             -1
1.223   unknown []         -1     []             -1
1.204   unknown []         -1     []             -1
1.374   unknown []         -1     []             -1
1.b5    unknown []         -1     []             -1
1.b6    unknown []         -1     []             -1
1.2b    unknown []         -1     []             -1
1.9f    unknown []         -1     []             -1
1.2ac   unknown []         -1     []             -1
1.78    unknown []         -1     []             -1
1.1c3   unknown []         -1     []             -1
1.1a    unknown []         -1     []             -1
1.d9    unknown []         -1     []             -1

- 处理措施:

强制创建unkown pg,参考命令:ceph osd force-create-pg {pgid}
注:如需批量创建unkown pg,则参考命令如下:

for i in `ceph pg dump_stuck inactive | awk '{if (NR>2){print $1}}'`;do ceph osd force-create-pg $i;done

二、OSD相关

1、osd端口与其他服务固定绑定端口冲突

- 问题描述:

osd先行启动,占用其他服务固定绑定端口,导致其他服务绑定端口失败,无法启动

- 处理措施:

考虑到其他服务涉及组件太多,担心修改不完全导致其他问题发生,尝试修改osd启动端口范围为其他服务之外

  • 修改osd作为服务端的启动端口范围
    ceph可通过ms_bind_port_minms_bind_port_max参数限制osd和mds守护进程使用端口范围,默认范围为6800:7300
    设置端口使用范围为9600:10000,追加参数设置至/etc/ceph/ceph.conf文件中[global]字段内
[root@node111 ~]# cat /etc/ceph/ceph.conf | grep ms_bind_port
ms_bind_port_min = 9600
ms_bind_port_max = 10000
[root@node111 ~]#
[root@node111 ~]# ceph --show-config | grep ms_bind_port
ms_bind_port_max = 10000
ms_bind_port_min = 9600
  • 修改osd作为客户端的启动端口范围
    osd作为客户端的启动端口为随机分配的,可通过内核去限制随机端口分配范围
    默认端口范围为1024:65000,修改端口范围为7500:65000
--默认端口范围为1024:65000
[root@node111 ~]# cat /proc/sys/net/ipv4/ip_local_port_range
1024    65000
--修改范围为7500:65000
[root@node111 ~]# sed -i 's/net.ipv4.ip_local_port_range=1024 65000/net.ipv4.ip_local_port_range=7500 65000/g' /etc/sysctl.conf
[root@node111 ~]# sysctl -p

2、磁盘热插拔,osd无法上线

- 问题描述:

使用bluestore部署ceph集群,对osd所在磁盘进行热插拔操作,当重新插回之后,osd对应lvm不能自动恢复,导致osd无法上线成功

- 处理措施:

  • 查找故障osd对应uuid:
ceph osd dump | grep {osd-id} | awk '{print $NF}'
参考示例:查找osd.0对应uuid
[root@node127 ~]# ceph osd dump | grep osd.0 | awk '{print $NF}'
57377809-fba4-4389-8703-f9603f16e60d
  • 查找故障osd对应lvm路径:
ls /dev/mapper/ | grep `ceph osd dump | grep {osd-id} | awk '{print $NF}' | sed 's/-/--/g'`
参考示例:通过uuid查找对应lvm路径
注:由于lvm路径对uuid做了处理,需要sed 's/-/--/g'`将-替换为--
[root@node127 ~]# ls /dev/mapper/ | grep `ceph osd dump | grep osd.0 | awk '{print $NF}' | sed 's/-/--/g'`
ceph--3182c42e--f8d8--4c13--ad92--987463d626c8-osd--block--57377809--fba4--4389--8703--f9603f16e60d
  • 删除故障osd对应lvm路径
dmsetup remove /dev/mapper/{lvm-path}
参考示例:删除故障osd对应lvm路径
[root@node127 ~]# dmsetup remove /dev/mapper/ceph--3182c42e--f8d8--4c13--ad92--987463d626c8-osd--block--57377809--fba4--4389--8703--f9603f16e60d
  • 重新激活所有lvm卷组
    注:此时可以查看到对应故障osd的lvm信息
vgchange -ay
  • 重新启动osd使得osd上线
systemctl start ceph-volume@lvm-{osd-id}-{osd-uuid}

三、集群相关

1、clock skew detected on mon.node2

- 问题描述:

集群mon节点时间偏差过大,出现clock skew detected on mon.node2 告警信息

- 处理措施:

1、检查集群mon节点时间偏差,使用chronyd时间进行集群时间同步
2、调大集群参数阈值,调整mon_clock_drift_allowed 参数值为2,调整mon_clock_drift_warn_backoff 参数值为30

sed -i "2 amon_clock_drift_allowed = 2" /etc/ceph/ceph.conf
sed -i "3 amon_clock_drift_warn_backoff = 30" /etc/ceph/ceph.conf
ceph tell mon.* injectargs '--mon_clock_drift_allowed 2'
ceph tell mon.* injectargs '--mon_clock_drift_warn_backoff 30'

注:相关参数说明如下:

[root@node147 ~]# ceph --show-config | grep mon_clock_drift
mon_clock_drift_allowed = 0.050000
--当mon节点之间时间偏移超过0.05秒,则不正常
mon_clock_drift_warn_backoff = 5.000000
--当出现5次偏移,则上报告警

【ceph相关】ceph常见问题处理相关推荐

  1. ceph存储 ceph整体学习记录(未整理较乱)

    转载:https://www.iyunv.com/thread-126458-1-4.html ceph源码下载: http://ceph.com/download/ 主要文档下载连接: http:/ ...

  2. 一、什么是ceph以及ceph的应用

    什么是ceph以及ceph的应用 一.Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统. 二.ceph的系统架构 ​ 1.Clients:客户端(数据用户) ​ 2.cmds ...

  3. 【Ceph】Ceph常用命令|Ceph配置参数和命令解析|ceph管理

    目录 常用命令 查看状态 启动/停止 分类命令 ceph mon ceph mds ceph osd ceph pg ceph osd pool rados ceph-deploy 块设备|rbd的一 ...

  4. 【Ceph】Ceph错误记录 Ceph 运维手册

    Ceph 运维手册 第一部分:常用操作 - 12. 日志和调试 - <Ceph 运维手册> - 书栈网 · BookStack 分布式存储ceph运维操作 (摘抄自:https://www ...

  5. 【ceph】ceph 网络问题和工具

    yum install -y net-tools netstat -anp|grep ganesha.nfsd ceph daemon /var/run/ceph/ceph-client.admin. ...

  6. 【ceph】Ceph之PG状态详解--研读笔记

    原文:分布式存储Ceph之PG状态详解 - 简书 Ceph中一些PG相关的状态说明和基本概念说明.故障模拟_pansaky的博客-CSDN博客 1. PG介绍 继上次分享的<Ceph介绍及原理架 ...

  7. 【ceph】ceph性能分析工具之perf dump代码打点调试统计PerfCounters

    目录 简介 一.查ceph自带的统计 1 命令格式 2 dump 命令输出结果 二.自己添加统计 三.分析案例 io耗时初分析 继续分析 进一步分析 代码修改和验证 四.报错记录 五.附录 1.代码修 ...

  8. 【ceph】ceph性能分析工具之perf dump代码打点调试统计

    目录 简介 一.查ceph自带的统计 1 命令格式 2 dump 命令输出结果 二.自己添加统计 三.分析案例 io耗时初分析 继续分析 进一步分析 代码修改和验证 四.报错记录 五.附录 1.代码修 ...

  9. 【Ceph】Ceph介绍、原理、架构

    目录 理解Ceph的三种存储接口:块设备.文件系统.对象存储 干货|非常详细的 Ceph 介绍.原理.架构 1. Ceph架构简介及使用场景介绍 1.1 Ceph简介 1.2 Ceph特点 1.3 C ...

最新文章

  1. 定制开发软件所有权_职业所有权软件开发人员指南
  2. 再读《精通css》06:背景图片
  3. 瞎说系列之Object.assign入门
  4. Linux云服务ModuleNotFoundError: No module named 'MySQLdb'
  5. 全字符微信名 php,PHP方法处理微信昵称特殊符号过滤
  6. jQuery ajax 和 普通js ajax 笔记
  7. 管理学生信息android,Android 学生信息管理系统-Go语言中文社区
  8. 17.词法分析和语法分析
  9. QQ模拟自动登录实现
  10. Windows超级管理器绿色单文件版V9.41下载 | 电脑任务管理器损坏可予以替代 | Windows超级管理器下载
  11. 《生物信息学:导论与方法》----序列对比----听课笔记(三)
  12. 企业推进数字化转型零信任是必须?
  13. 在pycharm中使用arcpy
  14. fuel8 生成bootstrap映像
  15. VC中_T()的作用
  16. 基于单片机的温控热水器电路设计(#0214)
  17. linux迁移系统失败,Windows到Linux系统代码移植遇到的问题
  18. 《技术立国》——日立的小平浪平传
  19. 浅淡元宇宙发展面临的难题
  20. 剑指offer——数字在排序数组中出现的次数

热门文章

  1. bootloader的作用
  2. 《大侦探福尔摩斯2:诡影游戏》蓝光高清720P 1080P下载[2011最新动作]
  3. python爬虫-世界今日疫情爬虫
  4. 微信公众号身份证OCR识别和验真|人证比对
  5. 腾讯会议攻转守,小鱼易连守转攻
  6. Web Service 自动生成代码报错
  7. mysql数据库多表查询教程
  8. OpenAI完胜DOTA世界冠军,20行python代码带你领略其魅力
  9. thymeleaf数据回显,单选回填,下拉回填,时间框回填
  10. 基于微信小程序的选课系统的设计与实现源码