bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明

文章目录

  • 说明
  • 解决方法
    • 首先排除不是系统问题
    • 验证挂载信息
    • 追踪df进程
      • strace命令
      • 安装strace命令
      • 定位df命令卡在哪
      • 解决卡住的进程
      • 问题解决,验证

说明

  • 额 今天收到反馈,虚拟机执行df命令卡住
    在这里插入图片描述
    bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明_第1张图片
  • 卡住状态如下图
    bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明_第2张图片

解决方法

首先排除不是系统问题

  • 很简单,执行除了df命令以外的其他命令,如果都是正常的,那么就是df这个命令的问题。如果其他命令也执行不了,可能就是系统死机了,直接重启吧,重启可以解决99%的问题。
  • 我这除了df命令卡住以外,其他命令一切正常,就可以排除系统问题,可以知道是df的这个命令的问题

验证挂载信息

  • 那么df命令为啥会卡住呢,一般来说,就是挂载的某个文件出问题了,所以,出现这种问题,一定有多余的挂载,所以先查看fstab文件,里面是不是有多余的挂载信息,如我这,就额外有3个挂载,那么肯定就是其中某一个挂载出问题了
    bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明_第3张图片

  • 最简单的方法,直接卸载这些多余的挂载信息,df卡住的问题基本就解决了

  • 因为我这是业务方有业务的虚拟机,所以我肯定不能盲目的卸载他们的挂载,所以我需要下一步验证是否是这些挂载的问题,问了业务方,说可以卸载,但多了一个反问,我其他服务器上都有这些挂载,但其他服务器没问题,所以他们觉得我这个怀疑是错误的, 那我必须得专业,那就不慌卸载,先排查确定是不是这个挂载的问题, 不然卸载了还是卡的话,群里几十号人看着呢,我的专业权威性会受到一定影响。 改用专业的方式解决这个问题
    bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明_第4张图片

追踪df进程

strace命令

  • 既然要追踪,那么就需要用到一个命令了,strace,这个命令就是追踪用的,简单说明一下:
    • 一、strace 是什么?
      按照 strace 官网的描述,strace 是一个可用于诊断、调试和教学的 Linux 用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。

    • strace 底层使用内核的 ptrace 特性来实现其功能。

    • 在运维的日常工作中,故障处理和问题诊断是个主要的内容,也是必备的技能。strace 作为一种动态跟踪工具,能够帮助运维高效地定位进程和服务故障。它像是一个侦探,通过系统调用的蛛丝马迹,告诉你异常的真相。

    • 使用方法
      bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明_第5张图片

  • 上面呢是简单说明,详细呢,放一个别人的优秀博文链接,想了解的去看看吧
    strace 命令详解

安装strace命令

  • 如果不是安装图形化,应该是不集成这个命令的,直接安装一下就好了
yum install strace -y

定位df命令卡在哪

  • 直接执行strace df
    如下,会生成很多内容,不要慌,这是正常的,会列出所有df命令中的输出内容【相当于输出自检内容】
  • 直接看最后一行的内容,如我这,有一个statfs("/mnt/k8s-app-logs",_ ,意思就是卡在这个路径了,相当于自检不过,而这个/mnt开头的,一般就是挂载信息了
    在这里插入图片描述
  • 而fstab里面就有一行/mnt/k8s-app-logs的挂载信息,那么问题就定位到了。确实是挂载的问题
    在这里插入图片描述
    定位到问题了,就可以再次咨询是否可以卸载了
    bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明_第6张图片

解决卡住的进程

  • 上面定位到卡在/mnt/kis-app-logs了,那么直接卸载这个就可以了,命令umount -l(小写L) 挂载路径
    【也有可能是服务或进进程卡死,如果是服务卡死了,重启服务,我这是挂载的问题嘛,所以就卸载咯】
    在这里插入图片描述

问题解决,验证

  • 现在再次执行df,一切正常,问题解决
    bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明_第7张图片
  • 通知用户
    bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明_第8张图片

bclinux执行df命令无反应解决方法、bclinux执行df命令卡死解决方法、进程追踪strace命令说明_第9张图片

你可能感兴趣的:(玩转linux7+,运维,安全,bclinux)