Linux系统故障问题汇总,值得永久收藏

一、 处理linux系统故障的思路作为一名优秀的linux运维工程师,一定要有一套清晰、明确的解决故障思路,当问题出现时,才能迅速定位、解决问题,在开始本文学习之前,我根据多年工作和处理问题和故障的经验,总结出了一套处理问题的一般思路,供大家参考:

1、 重视报错提示信息:每个错误的出现,都是给出错误提示信息,一般情况下这个提示基本定位了问题的所在,因此一定要重视这个报错信息,如果对这些错误信息视而不见,问题永远得不到解决 。
2、 查阅日志文件:有时候报错信息只是给出了问题的表面现象,要想更深入的了解问题,必须查看相应的日志文件,而日志文件又分为系统日志文件(/var/log)和应用的日志文件,结合这两个日志文件,一般就能定位问题所在 。
3、 分析、定位问题:这个过程是比较复杂的,根据报错信息,结合日志文件,同时还要考虑其它相关情况,最终找到引起问题的原因 。
4、 解决问题:找到了问题出现的原因,解决问题就是很简单的事情了 。
从这个流程可以看出,解决问题的过程就是分析、查找问题的过程,一旦确定问题产生的原因,故障也就随之解决了 。看似简单明了的思路,但是真正能重视这个思路的、按照这个思路处理问题的却很少,衷心的希望大家在处理故障的时候,能静下心来,先整理思路,然后有目的的去处理问题 。
二、 忘记linux root密码或进入单用户方法这个问题出现的几率是很高的,也是linux运维最基础的技能,要解决这个问题,在linux下非常简单,只需重启linux系统,然后引导进入linux的单用户模式(init 1)就可以搞定了,由于单用户模式是不需要输入登录密码的,因此,可以直接登录系统,修改root密码即可解决问题 。
目前企业线上环境,最常用的Linux就是centos6.x和7.x版本,那么这里首先以RHEL/Centos6.x版本为例,介绍下如何进入单用户并重置root密码,操作步骤如下:
1、 重启系统,待linux系统启动到grub引导菜单时,按esc键,找到当前系统引导选项,如图所示:如果有多个可用内核,这里就有多个引导选项 。
Linux系统故障问题汇总,值得永久收藏

文章插图
 
2、 通过方向键将光标放到需要使用的系统引导内核选项上,然后按键盘字母“e”,进入编辑状态,如图所示:
Linux系统故障问题汇总,值得永久收藏

文章插图
 
3、然后通过上下键,选中带有kernel指令的一行,继续按键盘字母“e”,编辑该行,在行末尾加个空格,然后添加single,类似下图所示:
Linux系统故障问题汇总,值得永久收藏

文章插图
 
4、 修改完成,按回车键,返回到刚才的界面 。
5、 最后按键盘“b”,系统开始引导 。
这样系统就启动到了单用户模式下,这里的单用户与windows下的安全模式类似,在单用户模式下,只是启动最基本的系统,网络以及应用服务均不启动 。单用户模式启动完毕,系统会自动进入到命令行状态下,然后直接执行命令“passwd”,接着敲回车,系统会提示输入新的root密码两次,最后会看到修改密码成功的提示,这样就完成了root密码的修改 。如果需要正常启动系统,现在只需输入“init 3”,就进入了多用户模式 。用root用户重新登录系统,看看设置的新密码是否生效 。
在RHEL/Centos7.x版本之后,Linux的机制发生了较大变化,在系统引导方面,使用了grub2代替了之前的grub引导,init初始化程序也更换成了systemd初始化,随之带来的root密码重置的方法也有所改变,,下面就介绍一下在Centos7.5版本中,忘记root密码的处理方法,操作步骤如下:
1、 重启系统,待linux系统启动到grub2引导菜单时,找到当前系统引导选项,如果有多个可用内核,这里就有多个引导选项,按e键,如下图所示:
Linux系统故障问题汇总,值得永久收藏

文章插图
 
2、 按e键后,出现如下图所示界面,通过方向键将光标放到linux16引导行所在行尾,然后添加以下内容:
init=/bin/sh
Linux系统故障问题汇总,值得永久收藏

文章插图
 
3、 添加完成,按键Ctrl+x启动shell引导,最后进入单用户模式 。
4、 挂载根分区为可读写模式,执行如下命令:
mount -o remount,rw /然后,就可以执行“passwd”命令重置密码了,这里有一点需要注意,如果系统中开启有selinux,还需在根分区创建autorelabel文件,否则系统无法正常启动,操作命令如下:


推荐阅读