ceph ( requests are blocked ) 异常解决方法

最近在执行 ceph 扩容
注: 如果有条件, 建议不要扩容, 直接创建新 POOL, 这样会避免很多异常与影响

扩容每天大约 2T 空间, 扩容过程中, pg 会对数据执行自动迁移, 但在迁移过程中会遇到下面异常错误

[root@hh-yun-puppet-129021 ~]# ceph -s
    cluster dc4f91c1-8792-4948-b68f-2fcea75f53b9
     health HEALTH_WARN 1 requests are blocked > 32 sec
     monmap e3: 5 mons at {hh-yun-ceph-cinder015-128055=240.30.128.55:6789/0,hh-yun-ceph-cinder017-128057=240.30.128.57:6789/0,hh-yun-ceph-cinder024-128074=240.30.128.74:6789/0,hh-yun-ceph-cinder025-128075=240.30.128.75:6789/0,hh-yun-ceph-cinder026-128076=240.30.128.76:6789/0}, election epoch 216, quorum 0,1,2,3,4 hh-yun-ceph-cinder015-128055,hh-yun-ceph-cinder017-128057,hh-yun-ceph-cinder024-128074,hh-yun-ceph-cinder025-128075,hh-yun-ceph-cinder026-128076
     osdmap e97975: 190 osds: 190 up, 190 in
      pgmap v13666786: 20544 pgs, 2 pools, 77479 GB data, 19508 kobjects
            228 TB used, 426 TB / 654 TB avail
               20542 active+clean
                   2 active+clean+scrubbing+deep
  client io 47657 kB/s rd, 164 MB/s wr, 5406 op/s

注意: 1 requests are blocked > 32 sec 有可能是在数据迁移过程中, 用户正在对该数据块进行访问, 但访问还没有完成, 数据就迁移到别的 OSD 中, 那么就会导致有请求被 block, 对用户也是有影响的

解决方法
寻找 block 的请求

[root@hh-yun-puppet-129021 ~]# ceph health detail
HEALTH_WARN 1 requests are blocked > 32 sec; 1 osds have slow requests
1 ops are blocked > 33554.4 sec
1 ops are blocked > 33554.4 sec on osd.16
1 osds have slow requests

可以看到 osd.16 具有一个操作 block
解决方法
查询 osd 对应主机

[root@hh-yun-puppet-129021 ~]# ceph osd tree
# id weight type name  up/down reweight
-1  598 root default
-2  40     host hh-yun-ceph-cinder015-128055
0   4      osd.0 up 1
1   4      osd.1 up 1
2   4      osd.2 up 1
3   4      osd.3 up 1
4   4      osd.4 up 1
5   4      osd.5 up 1
6   4      osd.6 up 1
7   4      osd.7 up 1
8   4      osd.8 up 1
9   4      osd.9 up 1
-3  40     host hh-yun-ceph-cinder016-128056
10  4      osd.10 up   1
11  4      osd.11 up   1
12  4      osd.12 up   1
13  4      osd.13 up   1
14  4      osd.14 up   1
15  4      osd.15 up   1
16  4      osd.16 up   1
17  4      osd.17 up   1
下面省略

重启 osd

[root@hh-yun-ceph-cinder016-128056 ~]# /etc/init.d/ceph stop osd.16
=== osd.16 ===
Stopping Ceph osd.16 on hh-yun-ceph-cinder016-128056...kill 2799859...kill 2799859...done
[root@hh-yun-ceph-cinder016-128056 ~]# /etc/init.d/ceph start osd.16
=== osd.16 ===
create-or-move updated item name 'osd.16' weight 3.64 at location {host=hh-yun-ceph-cinder016-128056,root=default} to crush map
Starting Ceph osd.16 on hh-yun-ceph-cinder016-128056...
Running as unit run-3126361.service.

系统会对该 osd 执行 recovery 操作, recovery 过程中, 会断开 block request, 那么这个 request 将会重新请求 mon 节点, 并重新获得新的 pg map, 得到最新的数据访问位置, 从而解决上述问题

参考恢复后的状态

[root@hh-yun-puppet-129021 ~]# ceph -s
    cluster dc4f91c1-8792-4948-b68f-2fcea75f53b9
     health HEALTH_OK
     monmap e3: 5 mons at {hh-yun-ceph-cinder015-128055=240.30.128.55:6789/0,hh-yun-ceph-cinder017-128057=240.30.128.57:6789/0,hh-yun-ceph-cinder024-128074=240.30.128.74:6789/0,hh-yun-ceph-cinder025-128075=240.30.128.75:6789/0,hh-yun-ceph-cinder026-128076=240.30.128.76:6789/0}, election epoch 216, quorum 0,1,2,3,4 hh-yun-ceph-cinder015-128055,hh-yun-ceph-cinder017-128057,hh-yun-ceph-cinder024-128074,hh-yun-ceph-cinder025-128075,hh-yun-ceph-cinder026-128076
     osdmap e97981: 190 osds: 190 up, 190 in
      pgmap v13669826: 20544 pgs, 2 pools, 77488 GB data, 19510 kobjects
            228 TB used, 426 TB / 654 TB avail
               20541 active+clean
                   3 active+clean+scrubbing+deep
  client io 21801 kB/s rd, 66461 kB/s wr, 2328 op/s
时间: 2024-08-01 08:36:17

ceph ( requests are blocked ) 异常解决方法的相关文章

win7系统应用程序发生异常解决方法

  win7系统应用程序发生异常解决方法.不少小伙伴在使用win7的过程中发现安装软件或者使用程序的时候会发生应用程序发生异常 unknown software exception(0x80000004)的问题,那么要如何解决呢?下面就让小编为大家做个解答. 应用程序发生异常 应用程序发生异常 unknown software exception(0x80000004)的原因:一般是程序出现不可避免的内存地址错误. 解决方法1:通过系统还原到不出现这个错误时的节点进行还原系统. 解决方法2:你最

SVN Attempted to lock an already-locked dir异常解决方法

Attempted to lock an already-locked dir异常解决方法 eclipse或myeclipse用svn提交的时候报错: Attempted to lock an already-locked dir svn: Working copy 'D:/Program Files/MyEclipse 6.6flex/workspace/emis/WebRoot/emis/emresource' locked org.tigris.subversion.javahl.Clie

连接池和 Timeout expired异常解决方法

连接池和 timeout expired异常解决方法 你需要保证你每次调用连接的同时都在使用过后通过close()或dispose()对其执行了关闭.最简单的办法就是使用using,将你的连接泄漏方法修改成如下面的代码样式: public void doesnotleakconnections()     {            using (sqlconnection sqlconnection1 = new sqlconnection("server=.sqlexpress ;integr

应用程序发生异常 未知的软件异常解决方法

一:先说说硬件: 一般来说,电脑硬件是很不容易坏的.内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1.内存条坏了(二手内存 情况居多).2.使用了有质量问题的内存,3.内存插在主板上的金手指部分灰尘太多.4.使用不同品牌不同容量的内存,从而出现不兼容的情况.5.超频带 来的散热问题.你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度. 二.如果都没有,那就从软件方面排除故障了. 先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在

Win7右下角网络图标异常解决方法

我们用win7系统的电脑时不时右下角网络图标出现异常,表现为有线或无线已连接但图标显示为红色叉子(图1).周围有无线热点小太阳图标(图2).Internet连接正常,图标为红色叹号! 解决方法: 方法一:打开设备设备管理器:右击"我的电脑"---"管理"---"设备管理器"---"查看"---"显示隐藏设备"---点击"网络适配器",将所有以"6TO4 Adapter"

Spring10种常见异常解决方法

在程序员生涯当中,提到最多的应该就是SSH三大框架了.作为第一大框架的Spring框架,我们经常使用. 然而在使用过程中,遇到过很多的常见异常,我在这里总结一下,大家共勉. 一.找不到配置文件的异常 org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [com/herman/ss/controller];

windows7服务器上weblogic启动失败异常解决方法_win服务器

环境: 操作系统:windows 7 weblogic:10.3.3 问题: 根据安装向导创建域后首次默认启动服务,可以启动成功. 通过命令行或开始菜单中的快捷方式,启动时出现如下异常: /Java/jre6/lib/ext/QTJava.zip was unexpected at this time. 解决方法: 更改环境变量,删除classpath中的:C:/Program Files (x86)/Java/jre6/lib/ext/QTJava.zip 重启服务器,问题解决

JSP上传图片产生 java.io.IOException: Stream closed异常解决方法_JSP编程

在做 jsp 上传图片时,把 java 代码直接改成 jsp,上传时产生 如下异常: 2012-12-31 8:59:21 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet jsp threw exception java.io.IOException: Stream closed ... 百思不得其解,翻出 jsp 转成 servlet 后的代码.如下(很很的醒目一下):

Excel表格输入大量数字或身份证号码显示异常解决方法

在用 Excel 输入身份证号码.银行账户等较长数字后,为什么变成了有加号和字母的形式了呢?如下图 这是一个普遍的数字输入问题.Excel 中默认的数字格式是"常规",最多可以显示11位有效的数字,超过11位就会以科学记数形式表达. 要输入多位数字且能完全显示,可以尝试以下两种方法: 将单元格格式设置为文本 选中目标单元格,右击鼠标,选择"设置单元格格式". 在"数字"选项卡上,从"分类"下面选中"文本"选