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 ...
随机推荐
- SQL-34 对于表actor批量插入如下数据
题目描述 对于表actor批量插入如下数据CREATE TABLE IF NOT EXISTS actor (actor_id smallint(5) NOT NULL PRIMARY KEY,fir ...
- Java集合(续)
java学习笔记 --- 集合 1.定义:集合是一种容器,专门用来存储对象 数组和集合的区别? A:长度区别 数组的长度固定 集合长度可变 B:内容不同 数组存储的是同一 ...
- Java基础-常用工具类(一)
object类 Object 类是所有类的的父类,如果一个类没有明确使用EXPENTS关键字明确标识继承另外一个类,那么这个类默认继承object类,oject类中的方法适合所有子类 1)toStri ...
- 进阶ES6 点滴认知
1.let--不允许重复声明 根据http://es6.ruanyifeng.com/#docs/let 的例子,我竟然 报格式错误 说实话,我也没见过函数这样的写法......然后我就随意加了函数名 ...
- Python 基础学习day1
1.计算机的组成 CPU:相当于人的大脑,预算中心. 内存:临时加载数据或者程序. 缺点:断电即消失. 硬盘:存放所有的数据,输入输出设备. 2.什么是操作系统. 调控所有硬件与软件的中间介质. 3. ...
- php优秀框架codeigniter学习系列——前言
php的框架众多,笔者用过的包括thinkphp,CI,smarty,laravel,也用过一些公司自己开发的框架. thinkphp是国人自己开发的,我大概用过一段时间,基本功能都还好,应该也还比较 ...
- 制作Wi-Fi Ducky远程HID攻击设备
1.介绍WIFI DUCKY 它是一个Wi-Fi控制的BadUSB设备来远程执行Ducky Scripts. 使用充当键盘的USB设备来注入攻击,Hak5 的 USB Rubber Ducky 是这种 ...
- 2018年3月最新的Ubuntu 16.04.4漏洞提权代码
2018年3月最新的Ubuntu 16.04.4漏洞提权代码,本代码取自Vitaly Nikolenko的推子 亲测阿里云提权可用. /* * Ubuntu 16.04.4 kernel priv e ...
- python socket 编程之三:长连接、短连接以及心跳(转药师Aric的文章)
长连接:开启一个socket连接,收发完数据后,不立刻关闭连接,可以多次收发数据包. 短连接:开启一个socket连接,收发完数据后,立刻关闭连接. 心跳:长连接在没有数据通信时,定时发送数据包(心跳 ...
- input默认显示当前时间
方法一: // 获取当天的年月日 new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().get ...