Linux系统运维故障排查
一.思路
1.处理问题要求
2.一般思路
二.具体问题
1.网络问题
(1)网络不通
(2)网络很慢
2.硬件问题
3.操作系统问题
(1)系统无法正常启动
(2)系统运行慢或死机
4.服务或程序问题
5.其他
一.思路
1.处理问题要求:思路清晰、问题明确、快速解决,长时间的积累形成自己的一套解决问题的“反射弧”
2.一般思路:
(1)重视报错信息:定位基本问题基本方向
(2)查询日志文件:报错信息有时只是问题的表象,想要更具体的了解问题,一般需要查看相应日志,如系统日志文件(/var/log)、应用日志文件
(3)分析、定位问题:结合报错信息和日志文件以及相应的环境(代码、系统磁盘、系统内存、各个进程运行情况等等)或者自身和他人经验来定位问题
(4)解决问题:找到问题基本上就能解决问题
系统日志
http://c.biancheng.net/cpp/html/2783.html
https://www.cnblogs.com/yingsong/p/6022181.html
二.具体实例
1.网络问题
网络问题是什么,是不通,还是慢?
1). 如果是网络不通,要定位具体的问题,一般是不断尝试排除不可能故障的地方,最终定位问题根源。一般需要查看
是否接入到链路
是否启用了相应的网卡
本地网络是否连接
DNS故障
能否路由到目标主机
远程端口是否开放
2). 如果是网络速度慢,一般有以下几个方式定位问题源:
DNS是否是问题的源头
查看路由过程中哪些节点是瓶颈
查看带宽的使用情况
来源: http://www.cnblogs.com/Security-Darren/p/4700387.html
2.硬件的问题
查看/var/log/dmesg 或者用 dmesg命令
http://t.cn/RubBMqR
3.操作系统的问题
1)系统无法正常启动:
(1)文件系统被破坏,比如linux根分区文件遭到破坏(一般是系统突然断电或者非法关机导致)
(2)文件系统配置不当,比如/etc/inittab 、/etc/fstab文件等配置错误或丢失导致系统错误(一般是人为配置错误)
centos7 中init进程
https://blog.csdn.net/Holmofy/article/details/69666962
centos5中
inittab文件
https://www.linux178.com/linux/inittab.html
http://blog.51cto.com/leejia/788895
fstab文件:
http://blog.itpub.net/26723566/viewspace-753700/
(3)内核文件丢失或者崩溃(内核升级或者内核存在bug导致)
https://www.jianshu.com/p/e1f550ba164d
内核升级 http://seanlook.com/2014/10/24/upgrade-centos6_kernel-to-3.10.x/
(4)系统引导程序出现问题,比如grub丢失或者损坏(人为修改配置错误或者文件系统故障)
引导程序 Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到 一个合适的状态,以便为最终调用操作系统内核做好一切准备。Boot Loader有若干种,其中Grub、Lilo是常见的Loader。系统读取内存中的grub配置信息(一般为menu.lst或grub.lst),并依照此配置信息来启动不同的操作系统。
补充:
系统引导整体流程:
参考
https://blog.csdn.net/zhaodedong/article/details/47711499
http://blog.51cto.com/12410094/1951058
http://www.runoob.com/linux/linux-system-boot.html
Linux系统无法启动故障解决方案 http://www.voidcn.com/article/p-wnhepalc-gs.html下面的相关文章
4个最好的Linux引导程序 https://linux.cn/article-7788-1.html#3_515
2)系统运行很慢或者死机
系统运行慢的原因
cpu占用、内存占用、IO占用比较高
https://www.linuxidc.com/Linux/2011-10/44274.htm
一般造成Linux系统死机的原因有:
系统硬件问题(SCSI卡,主板,RAID卡,HBA卡,网卡,硬盘等)
外围硬件问题(网络等)
软件问题(系统、应用软件)
驱动bug(找新的驱动)
核心系统bug(到LKML看看,或更换核心再试)
系统设置(恢复到缺省状态,关闭防火墙等)
补充:
linux性能优化值cpu、内存、IO优化 https://blog.csdn.net/ZYC88888/article/details/79027944
linux性能调优指南https://legacy.gitbook.com/book/lihz1990/transoflptg/details(里面的pdf文件)
Linux性能及调优指南:进程管理 http://blog.jobbole.com/105135/
4.服务或程序问题
redis客户端常见异常https://blog.csdn.net/li396864285/article/details/76951278
Nginx常见错误及解决方法http://blog.51cto.com/riverxyz/1961151
nginx几个常见异常https://www.jianshu.com/p/e72f2ea12eae
nginx或其他网站报错502错误常见问题总结 http://www.21yunwei.com/archives/3724
Mysql常见问题如连接数不够、死锁、SQL语句太慢
https://mp.weixin.qq.com/s/rvfRzGe2GB1OkQ_zQVQElA
http://www.ttlsa.com/mysql/mysql-common-error-analysis-and-solution-methods/
5.其他
Linux运维常见故障排查和处理的33个技巧汇总 https://mp.weixin.qq.com/s/hLaVQC3FPChGoEnrBtUJ3Q
6 个 Linux 运维典型问题,大牛的分析解决思路在这里 https://mp.weixin.qq.com/s/4oZqkcs8LQ-_X6SmsRe-yw
从零起步做到Linux运维经理,你必须管好的23个细节https://mp.weixin.qq.com/s/24lNkVbO419G6gX52Xr7bQ
Linux系统运维故障排查的更多相关文章
- Linux系统运维相关的面试题 (问答题)
这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,希望要去参加Linux运维面试的朋友,可以先思考下这些问题. 一.Linux操作系统知识 1.常见的Linux发行版本都有 ...
- 7.学完linux系统运维到底可以做什么?
linux运维到底可以做什么?(略有改动原文.排版) 运维,很容易从字面理解为运营.维护. 很多朋友认为,在互联网公司中linux系统运维的工作就是安装系统,部署服务.处理紧急故障,为公司里的开发人员 ...
- Linux系统运维笔记(五),CentOS 6.4安装java程序
Linux系统运维笔记(五),CentOS 6.4安装java程序 用eclipse编译通的java程序,现需要实施到服务器.实施步骤: 一,导出程序成jar包. 1,在主类编辑界面点右健,选 ru ...
- Linux系统运维笔记(四),CentOS 6.4安装 MongoDB
Linux系统运维笔记(四),CentOS 6.4安装 MongoDB 1,下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...
- Linux系统运维笔记(四),CentOS 6.4安装Nginx
Linux系统运维笔记(四),CentOS 6.4安装Nginx 1,安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool op ...
- Linux系统运维笔记(三),设置IP和DNS
Linux系统运维笔记(三),设置IP和DNS 手工配置静态的IP地址 也就是手工配置IP地址.子网掩码.网关和DNS. vi /etc/sysconfig/network-scripts/ifcfg ...
- Linux系统运维笔记(二),Linux文件编辑命令
Linux系统运维笔记 Linux文件编辑命令 首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式 接下来我们按i,然后键盘随便输入写内容. 然后按ESC重新进入到命令 ...
- Linux系统运维笔记(一),查看系统版本和设置系统时间
Linux系统运维笔记 查看系统版本和设置系统时间 查看系统版本 lsb_release -a (适用于所有的linux,包括Redhat.SuSE.Debian等发行版,但是在debian下要安装l ...
- Linux系统运维笔记(6),CentOS 7.6双网卡路由配置
Linux系统运维笔记(6),CentOS 7.6双网卡路由配置. 一,先确认系统版本: [root@localhost ~]# cat /etc/redhat-releaseCentOS Linux ...
随机推荐
- :迭代器模式1:Iterator
//今天一口气把这一章前半部分的iterator例子的所有代码写完,涉及到了不少指针的内容,竟然一次性编译通过.... //Iterator与Menu之间应该不是has a的关系,先这样着吧. #if ...
- Python自学笔记-装饰器1(廖雪峰的网站)
由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数. >>> def now(): ... print('2015-3-25') ... >> ...
- fastjson 在 springboot中的运用
题记: 项目中开始用是Gson,但是压力测试的时候会出现性能下降明显,不得已换成了fastjson 1.首先引用包 <dependency> <groupId>com.alib ...
- NioEventLoopGroup的构造函数
loop是对thread的封装,里面记录一个selector 一套打完,看下来,就是loopgroup里面一个loop的数组,每一个loop在 new的时候,传入了selector(第二个箭头), 第 ...
- Unity项目中的资源管理
这是我在2017金山技术开放日分享的部分内容.从贴图资源格式配置的介绍开始,引申出资源配置工具,最后再谈谈一整套项目资源管理方案.在GitHub上可以获取到资源配置工具的代码,是基于下面理念的一份简单 ...
- <Java><!!!><面试题>
装箱 & 拆箱 public class Test03 { public static void main(String[] args) { Integer f1 = 100, f2 = 10 ...
- Python 数据处理库 pandas 入门教程
Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...
- Dubbo浅谈
一.高并发的解决 1.高并发:很多人同时访问. 2.高并发产生的性能瓶颈: tomcat支持的controller,解决办法:多个tomcat共同支撑.(tomcat集群) 只有一个service被调 ...
- href和src的区别
虽然一直在用这两个属性,但是一直没有具体的去区分和了解这两个属性的区别,今天就来看看 href标识超文本引用,用在link和a等元素上,href是引用和页面关联,是在当前元素和引用资源之间建立联系 s ...
- 实验楼 Linux 基础入门(新版)挑战:寻找文件
传送门:https://www.shiyanlou.com/courses/running 挑战:寻找文件 实验环境: 用户名:shiyanlou 密码:76036575 寻找文件 介绍 有一个非常重 ...