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),并依照此配置信息来启动不同的操作系统。

补充:

系统引导整体流程:

Linux系统运维故障排查

参考

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

上一篇:Python: 编程遇到的一些问题以及网上解决办法?


下一篇:callback vs async.js vs promise vs async / await