专用主机网站建设,小程序开发商排名,微信辅助网站制作,wordpress个人博客一、运维工作中的事件 https://www.51cto.com/article/687753.html
二、运维故障排查 一#xff09;故障排查步骤 1、明确故障
故障现象的直接表现故障发生的时间、频率故障发生影响哪些系统故障发生是否有明确的触发条件 故障举例#xff1a;无法通过ssh登录系统 影响…一、运维工作中的事件 https://www.51cto.com/article/687753.html
二、运维故障排查 一故障排查步骤 1、明确故障
故障现象的直接表现故障发生的时间、频率故障发生影响哪些系统故障发生是否有明确的触发条件 故障举例无法通过ssh登录系统 影响因素
ssh用户态应用登录不到服务器用户态也会报一些信息网络软件和硬件操作系统CPU、内存、磁盘IO等 2、信息收集
故障发生前后所有与之直接相关的信息包括但不限于配置、日志、屏显故障发生前后与之间相关的子模块的信息尽量区分信息的重要程度以免信息过载造成对故障产生负面作用 重要日志项
/var/log/messages ---- 多数的系统日志和内核日志/var/log/secure ---- 安全相关日志如sshdloginpam/var/log/dmesg ---- 内核日志/var/log/boot.log ---- 启动屏显/var/log/cron ---- 计划任务日志/var/log/btmp ---- last 日志/var/log/sa/ ---- sar 历史性能能日志应用层日志 红帽操作系统特有的
#安装sos软件包
yum install sos#运行sosreport --batch
#全面的系统信息tar包位置rhel6/tmp/sosreport-*rhel7/var/tmp/sosreport-* 3、提出假设和推断
基于对系统的深刻理解对信息的综合分析结合症状提出合理的、具体的假设分解排除 分层模型自下而上模快化发散思维对比 4、验证假设
一次验证只考虑一种故障因素的组合记录验证结果可能产生新的线索反复验证所有可能的因素组合 二故障解决
故障归档 故障现象故障环境根本原因解决办法等改进方法避免再发生 三故障排查需要的能力
对系统和架构的深入理解善用工具严密的逻辑思维对信息的筛选发散思维运气 四寻求帮助 1、以RedHat操作系统为例
Red Hat Customer Portal - Access to 24x7 support and knowledge 受限800远程支持电话交流或提交case附带sosreportGPS红帽服务和咨询团队Google查询解决办法有辨别度 man命令介绍
# 安装man包
yum install man-pages# man man
# man -k 关键字# man文档类型1 Executable programs or shell commands 可执行工具的使用文档2 System calls (functions provided by the kernel) 系统调用接口文档3 Library calls (functions within program libraries) libc接口文档4 Special files (usually found in /dev) 特殊文件说明文档5 File formats and conventions, e.g. /etc/passwd 配置文件格式说明6 Games7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)8 System administration commands (usually only for root)9 Kernel routines [Non standard] 五举例一硬件故障排查 1、硬件故障现象举例
磁盘掉盘或者大量IO error网卡灯不亮或网卡丢包严重影响到应用层面硬件日志报警 2、识别硬件 读取bios信息
dmidecode识别CPU
lscpu
/proc/cpuinfo识别内存
dmidecode -t memory
free
/proc/meminfo识别pci设备
lspci识别scsi设备
lsscsi识别block设备
lsblk 3、驱动程序 列出所有加载模块
lsmod查看模块信息
modinfo模块加载/卸载
modprobe模块日志
dmesg 4、排查手段
排查硬件日志硬件状态检查bios信息RASreliablity(可靠性)、availability(可用性)、serviceability(安全性)特性 需要硬件厂商支持硬件和驱动rasdaemonrhel7/8 日志输出到/var/log/messages检查/var/log/messages和dmesg检查驱动 硬件厂商提供的驱动操作系统kernel中提供的驱动 5、常见硬件故障的日志形态
HBA卡链路故障 日志样例如图 磁盘IO故障 日志样例如图 MCE故障 日志样例如图 六举例二启动故障排查 1、启动故障举例清楚系统启动的细节顺序
找不到启动盘在grub菜单过后 kernel panic文件系统挂载失败服务启动阶段长时间卡住 2、启动流程
BIOS POST开机自检BIOS扫描启动盘直通、阵列卡、网卡、光纤卡、CD感知到MBR 主引导记录MBRMaster Boot Record以及bootable分区stage 1(MBR) stage 1.5(boot文件系统驱动) stage 2 (grub boot loader启动读取grub.conf)载入vmlinuz和initramfs载入硬件驱动初始化磁盘lvm和根文件系统sysV/systemd启动管理器开始运行挂载文件系统初始化网络继续进行服务启动 3、排查手段
单用户模式 适合排查初始引导过后的sytemd启动阶段故障救援模式 适合排查引导盘存储故障rd.break模式 适合排查初始化引导阶段故障云环境将主机的系统盘挂载到其他云主机上修改文件内容 4、常见的启动故障的日志形态
根盘LVM故障 boot image故障 fstab故障 七举例三文件系统故障 1、文件系统故障
文件系统满文件系统只读文件系统空间未释放 lsof | grep -i deleted若是误删的情况可以通过cp /proc/$pid/fd/删除内容到指定目录下文件系统脏 2、关于空间未释放问题
文件的open与closedf vs du释放空间的小技巧 echo /path/to/filetrue /path/to/file误删文件后恢复的小技巧 文件仍被open状态文件会保存到/proc/$pid/fd 3、常见文件系统故障的日志形态 xfs元数据故障 八举例四网络性能分析 1、网络性能分析项
主机侧 网络配置查看监控网络链路 包转发时延吞吐量带宽等指标 2、性能分析工具 ping测试网络连通性 ifconfig接口配置 ip网络接口统计信息 netsat多种网络栈和接口统计信息 ifstat接口网络流量监控工具 netcat (nc)快速构建网络连接 tcpdump抓包工具 Wireshark网络封包分析工具 sar统计信息历史 traceroute测试网络路由 pathchar确定网络路径特征 trace跟踪进程执行时的系统调用和所接收的信号 linux trace命令详解-CSDN博客 dtraceTCP/IP 栈跟踪 iperf / netperf / netserver网络性能测试工具 perf 性能分析神器 详见Linux中如何进行网络性能分析 - 系统运维 - 亿速云 九举例五应用debug的方法 1、shell
bash -x
断点 2、python
pdb 3、Java
Jvm heap dump
Thread dump 4、C/C 操作系统的核心
gdb 十举例六操作系统崩溃分析 1、kexec vs kdump
kexec是一种热启动机制能够跳过耗时较长的BIOS启动阶段直接启动新的内核这个新的内核叫capture kernelkdump是利用了kexec的特性通过在内存预留区域放置了capture kernel的image在特定条件下触发启动capture kerne并把crash的诶村镜像抽取保存不是所有的crash都触发kdump需要在内核执行路径上执行panic() 2、kdump配置
grub.cfg中指明内存预留空间 “crashkernelxxM”让crashkernel运行起来机器越大硬件(外设)越多使用的内存越多建议值256/512M“crashkernelauto”虚拟机设置设置此值没问题指定dump文件的存放位置默认在/var/crash支持nfsssh或外部存储dump文件并非把整个内存都收集而是必须必要数据剔除多余数据并运行适当压缩 3、kdump测试 利用kernel的sysrq特性产生kernel dump
配置sysctl.conf 中 kernel.sysrq1测试方法 echo c /proc/sysrq-trigger #机器立即宕机(c是crash) 键盘可操作Altprtscc硬件bmc触发dump硬件厂商硬件安装bmc的驱动程序 4、kdump触发事件 什么情况下会触发kdump sysctl -a|grep panic
oom内存溢出将机器干掉Hung process进程120s hang住Nmi硬件不可信不可屏蔽故障Soft lookup死锁的环境other oops