本文讲述了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. matlab 正态分布相关 API

    randn:标准正太分布(μ=0,σ=1) normrnd:正态分布随机数,(需要手动指定 μ,σ,二者均是标量) mvnrnd:多变量正态分布随机数,(需要手动指定 μ,σ(二者为向量))

  2. Matlab Tricks(十九)—— 序列左右移的实现

    比如实现如下的移位操作: y(n)=x(n−k) function [y, n] = sigshift(x, m, k) n = m + k; y = x; 本身任意一个 matlab 序列本质上都是 ...

  3. youwuku和koudaitong以及weimeng差异

    优库通过涨势没有口袋,通过口袋里的东西优库有, 就像一个商场的处理这些极端类别似, 所不同的是:1.掌上通免费,但也开始掏腰包通过用户收费,因为一些特殊的.这意味着,天下没有免费的午餐,掌上通是使用完 ...

  4. PHP获取月末时间

    用php获取月末 $a_date = "2009-11-23"; echo date("Y-m-t", strtotime($a_date)); //第二种 ( ...

  5. Entity种类(动态代理)

    动态代理:延迟加载+自动化修改跟踪满足条件     修改方式见修改EF设置eg.     测试     结果    

  6. JSTL自定义标签 实现forEach循环支持集合.数组

    java代码实现 tld配置 JSP页面代码

  7. c# Ajax后台动态分页

    创建WebPager类 public static class WebPager { public static string WebPagerAjax(string Idn, bool IsShor ...

  8. 使用WinDug工具调试c#程序或c++程序的dmp崩溃文件,调试内存泄漏

    1.调试c#程序内存泄漏步骤 设置symbol符号路径: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols;d:/你的pdb文件路 ...

  9. C#如何使用PythonTuple类型

    示例代码: new PythonTuple(new[] { 1, 2, 3 }); PythonTuple myTuple = PythonOps.MakeTuple(new object[] { 1 ...

  10. Android零基础入门第26节:layout_gravity和gravity大不同

    原文:Android零基础入门第26节:layout_gravity和gravity大不同 上一期我们一起学习了LinearLayout线性布局的方向.填充模型和权重,本期来一起学习LinearLay ...