本文讲述了ceph-fuse客户端问题排查基本流程:)

首先查看集群的整体情况
ceph -s

是否有osd挂掉,是否有pg非active

ceph-fuse进程是否存在?
ps -ef |grep ceph-fuse

ceph-fuse进程不存在
需查看日志看什么原因,log文件默认为 /var/log/ceph/ceph-client.${user_id}.log

ceph-fuse进程存在,但是访问卡
ceph-fuse客户端的unix socket文件为:

/var/run/ceph/ceph-client.${user_id}.asok

其中${user_id} 一般为admin,可以通过查看ceph-fuse进程获取,或通过查看ceph.conf获得

1. 检查下该客户端与mds的连接session是否正常:

ceph daemon /var/run/ceph/ceph-client.${user_id}.asok mds_sessions

如果mds session 的state不是open,通过netstat -anp 查看下客户端到mds的网络连接是否存在,状态是否正常,并根据情况决定是否往网络方向进行进一步检查

2. 访问卡住,说明客户端有正在进行中的请求,该请求可能是发往mds,也有可能是发往osd,通过如下命令查看:

  • 查看客户端发往mds的请求:
ceph daemon /var/run/ceph/ceph-client.${id}.asok mds_requests
  • 查看客户端发往osd的请求:
ceph daemon /var/run/ceph/ceph-client.${id}.asok objecter_requests
  • 如果卡住的请求是发往mds的,去到active的mds上,查看mds收到的正在处理的请求:
ceph daemon /var/run/ceph/ceph-mds.${id}.asok ops

通过该命令可以查看卡住的op卡住哪个阶段,比如 [ initiated ]、[ failed to wrlock, waiting ]、[ failed to xlock, waiting ]等阶段

  • 如果卡住的请求是发往osd的:

    • 可以通过netstat -anp 来查看到客户端到osd的网络连接是否正常
    • 登录到osd的机子,通过osd的unix socket来查看该osd正在处理的op:
ceph daemon /var/run/ceph/ceph-osd.${osd_id}.asok dump_ops_in_flight

通过该命令可以查看卡住的op卡住哪个阶段,可以通过iostat查看该osd的磁盘的ioutil是否高,来确定磁盘是否繁忙

关注笔者

专注笔者公众号,阅读更多干货文章:)

 

ceph-fuse客户端问题排查流程的更多相关文章

  1. “Ceph浅析”系列之五——Ceph的工作原理及流程

    本文将对Ceph的工作原理和若干关键工作流程进行扼要介绍.如前所述,由于Ceph的功能实现本质上依托于RADOS,因而,此处的介绍事实上也是针对RADOS进行.对于上层的部分,特别是RADOS GW和 ...

  2. atitit.404错误的排查流程总结vOa6

    atitit.404错误的排查流程总结vOa6 1. 场景 1 1.1. 子应用猛个腊擦不能使用  404 兰.. 1 2. 服务器配置问题 2 2.1. 登录服务器管理子应用,查看应用是否启动okk ...

  3. atitit.404错误的排查流程总结

    atitit.404错误的排查流程总结 #----------jsp  head  errorPage="" del zeu ok le. #------resin 服务器配置问题 ...

  4. paip.hql的调试故障排查流程总结

    paip.hql的调试故障排查流程总结 环境.myeclipse7.0 1 Hql的调试工具myeclipxe默认工具.../Hibernate8IDE 1 故障的排除方法overview 1 Hql ...

  5. Ceph的客户端丢失文件夹的解决办法

    原来的解决办法 更新linux内核,使用linux内核级的mount方式,一段时间后将会在客户端看不到部分长期不使用的文件夹 更正后的解决办法 参考Ceph的客户端安装设置ceph-fuse方式挂载c ...

  6. coTurn 运行在Windows平台的方法及服务与客户端运行交互流程和原理

    coTurn是一个开源的STUN和TURN及ICE服务项目,只是不支持Windows.为了在window平台上使用coTurn源码,需要在windows平台下安装Cygwin环境,并编译coTurn源 ...

  7. Atitit  404错误的排查流程总结 v3 qaf

    Atitit  404错误的排查流程总结 v3 qaf 1.1. 用了注解不生效 提示404 Not Found1 1.2. 路径不对了,开头多了个空格1 2. 500 Servlet Excepti ...

  8. Ceph的工作原理及流程

    本文将对Ceph的工作原理和若干关键工作流程进行扼要介绍.如前所述,由于Ceph的功能实现本质上依托于RADOS,因而,此处的介绍事实上也是针对RADOS进行.对于上层的部分,特别是RADOS GW和 ...

  9. atitit.流程标准化--- mysql启动不起来的排查流程attilax总结

    atitit.流程标准化--- mysql启动不起来的排查流程attilax总结 1. mysql的启动日志文件 1 2. console方式 1 3. 安装为服务 1 3.1. 使用默认配置文件 1 ...

随机推荐

  1. Android bluetooth介绍(两): android 蓝牙源架构和uart 至rfcomm过程

    关键词:蓝牙blueZ  UART  HCI_UART H4  HCI  L2CAP RFCOMM  版本号:基于android4.2先前版本 bluez内核:linux/linux3.08系统:an ...

  2. sql in(inner join)

    查看执行任务可知,使用in关键字,会进行inner join,找出匹配项  

  3. 用户控件(UserControl)

    简介 "用户控件"继承自UserControl,而UserControl继承自ContentControl,也就是内容控件UserControl和Window是一个层次上的,都有x ...

  4. 最简单的IdentityServer实现——项目基本结构与流程

    项目结构 共分为三个组成部分: IdentityServer:用于登录.身份认证与授权 Api:提供获得授权后调用的各接口 Client(客户端,控制台):访问IdentityServer授权,再访问 ...

  5. WPF控件的一些特殊应用

    1 checkbox.IsChecked 返回的是bool?类型,需要用bool强转,或者直接和bool类型比较,将发生隐形转换 2 RadioButton有分组属性GroupName

  6. c# 自定义公共类CallFunction-调用函数信息帮助类

    /// <summary> /// 调用函数信息 /// </summary> public class CallFunction { /// <summary> ...

  7. C#基础:ref和out的区别 [转]

    ref和out的区别在C# 中,既可以通过值也可以通过引用传递参数.通过引用传递参数允许函数成员更改参数的值,并保持该更改.若要通过引用传递参数, 可使用ref或out关键字.ref和out这两个关键 ...

  8. 在云中生成和模拟 iOS

    原文:在云中生成和模拟 iOS 1.原文地址 https://msdn.microsoft.com/zh-cn/library/vs/alm/dn858446.aspx

  9. Qt浮动按钮的实现(使用窗口背景透明、实现只显示浮动按钮的目的)

    Qt浮动按钮的实现 效果如下: 图3 估计很多做Qt有一定经验的朋友会觉得这个效果不难,但是这是一个需求奇葩的实际业务中做出的效果.笔者会想讲下客户的需求和整体框架的矛盾. 整个项目主要是由Qt搭建的 ...

  10. miniui处理多重子表级联,一次性提交多表数据的ui要点

    在一个ui界面上 有a,b,c三个表 a表只有一条记录,b表有多条记录,c表有多条记录 b是a的子表,c是b的子表 都是一对多关系 一次性下载相关联的c表记录 然后mini-datagrid采用cli ...