Linux系统故障排查(笔记)

  • 以下内容仅当本人学习备忘之用,如有侵权,请联系删除。


    故障排查步骤
for i in `rpm -qa`; do rpm -V $i &> /dev/null || echo $i; done

查询RPM版本信息,防止病毒修改

明确故障

找到故障现象直接表现,基本上能找到故障问题。

故障举例:无法通过ssh登录系统?

ssh他是一个用户态的应用程序,来回的传送指令,同时它会用到网络、tcp连接、存储方面的,他自身还有一些认证机制。
查看它发生时间和频率,是不固定的发生,还是固定那个时间段发生,分析是不是业务使用高负载时间段,明确这个故障,源端、客户端有没有其他方法登录ssh。


信息收集

1.ssh -v查看客户端debug信息
2.采集信息分析,有没有可能高负载时候,ssh无法连接


重要日志项

rceslogd服务分拣和转发日志 ,/var/log/secure只存储着sshd服务端的信息,没有客户端日志。
/var/log/dmesg里面存储的是上次启动
sos软件包

sosreport --batch 自动输出的tar包,包含收集来的日志信息

收集的日志分类

收集了有启动、块设备、内核、pci等等的相关日志。


以sos执行的命令,为文件名

这些是sosreport执行的命令,来搜集相关的日志信息。

提出假设

使用各种方法,提出各自问题接近问题的原因。
验证假设

熟悉内部逻辑,开辟新的方向,验证可能的因素。
故障解决

故障排查需要的能力

寻求帮助

案例网站:https://access.redhat.com

man命令

man命令介绍

main文档

查看系统调用类别
系统调用类别main文档

硬件故障

识别硬件命令

模块程序查看

modprobe是加载和卸载内核模块,-r参数是卸载相关联的模块。
dmesg是从启动到当前,系统内核模块存储到缓冲buff内核日志。


排查手段

常见硬件故障的日志形态

启动故障的排查

启动故障举例

启动流程

排查手段

进入单用户模式

红帽7进入单用户模式

确认根目录可读写

进入救援模式

使用镜像启动救援模式,注意镜像版本不得小于当前系统版本


救援模式

修复挂载方式

选择3手动挂载根目录进行修复

挂载启动目录
重新生成initfs

常见启动故障的日志形态

查看启动时候根目录在哪,分别启动那些

查看启动时候lv

文件系统故障

文件系统故障

EXT文件系统结构

XFS文件系统结构

文件系统常用工具
  • /proc/mounts 查询文件变成只读
  • tune2fs 查看超级块信息
  • dumpe2efs 查看数据块信息
  • e2fsck 检查ext2、ext3、ext4等文件系统的正确性


    fsck注意

    文件系统只读

    inode问题

    空间未释放
  • 利用空间未释放的问题,可以恢复误删除文件,先找到文件进程pid,然后在/proc/[pid]/fd/下找到文件,拷贝出来。


    文件系统日志故障
  • 注意:修复必须先umount


    存储故障
LVM Metadata描述
vg查询

vg内部记录
  • status正常时候有三个,有问题会提示


    pv丢失,一般按照这个流程删除,否则会报错PV丢失

    多路径软件

    scsi debug日志等级收集调试,FFFFFF代表收集所有日志

    数据操作,需要谨慎操作

    常见的存储系统故障的日志形态
  • 一个报错DID都是硬件故障

网络故障

网络故障举例

网络的分层模型

网络不通使用的命令

BROADCACST支持广播、 MULTICAST支持多播、up代表协议开启、 LOWER_UP物理链路已开启
  • tcpdump参数 -i 指定网卡 -s 指定数据包 -w 抓包结果以二进制形式存储到文件 -r 解析抓包的文件内容 -nn以数字形式显示结果,尽量使用二进制方式抓包信息比较完整,使用wireshark查看二进制文件。


    找出丢包点

    网络延迟高判断

    常见网络故障日志形态

应用故障

应用故障举例

应用运行的环境
  • 查询应用的依赖库是否缺失,应用的依赖库和系统的库发生冲突或者名称重复,需要隔离,解决是不同用户运行不通的应用和容器化,yum源尽量使用一个不能用不同版本。
  • strace命令追踪使用https://www.cnblogs.com/machangwei-8/p/10388883.html
    strace命令

    应用debug方法

    kdupmp

    kdupmp配置,高配置的服务器不建议使用auto,512M适用大多场景

    触发事件

    kdump测试,soft lookup内核锁触发

    panic开关配合开启

    可以临时打开,重启后失效

你可能感兴趣的:(Linux系统故障排查(笔记))