您的位置:首页 > 运维架构 > Linux

Linux常见系统故障排除

2016-08-17 21:57 381 查看
作为一名运维工程师经常会遇到各式各样的系统故障,如何根据故障特征锁定问题根源,需要的不仅仅是技巧,还有遇到故障时的思路,和对系统内部的理解,本文列出了一些常见的系统故障和处理方法,在那之前首先需要对系统启动流程有一个比较完整意义上的了解,以便问题出现后判断其属于哪个环节。

Linux系统启动流程的基本知识

1、加电自检(PowerOnSelfTest)

   开机自动映射rom中程序到cpu可以寻址的空间中,cpu执行指令检查基本硬件是否正常

2、BIOS(Boot Sequence)

   如果正常则按照CMOS中保存的BootSequnece依次寻找对应设备上的MBR

3、MBR(BootLoader)

   读取第一个MBR存在的设备中的BootLoader,并交与其控制权。

   Linux下的常见BootLoader有两种:

           LILO: LInux LOader(不能引导1024柱面以后的分区内核(嵌入式))

           GRUB: GRand Unified Bootloader

   MBR空间有限,无法展示其特性,所以将GRUB分为2阶段程序,如下:

       Stage1(被装载MBR当中)                主要目的是为了引导第二阶段

       Stage1.5(/boot/grub/Stage1_5)   识别常见不同类型的文件系统

       Stage2(/boot/grub/Stage2)         引导操作系统(突破了446字节的限制)         并借助配置件/boot/grub/grub.conf

4、Kernel

   设备探测

   驱动初始化(可能会从initrd(RHEL6 initramfs)文件中装载驱动模块)

   为内核提供访问根文件系统的基本驱动能力

   以只读挂载根文件系统

   装载第一个进程init

5、init(etc/inittab)

   /sbin/init         其配置文件(etc/inittab)

   /etc/inittab     主要任务如下:

          1、设定偶人运行级别

          2、运行系统初始化脚本

          3、运行制定运行级别目录下的脚本

          4、设定Ctrl+Alt+Del组合键的操作

          5、定义UPS电源在电源故障/恢复时执行的操作

          6、启动6个虚拟终端(2345级别)

          7、启动图形终端(5级别)

常见系统错误

1、忘记密码

   启动进入单用户模式



   使用passwd修改root密码



2、bootloader损坏



   载入安装光盘进入紧急救援模式

 







   进入grub模式







重复成功



3、bash丢失系统无法启动



   进入救援模式后



4、加密grub和内核



5、因某服务异常导致系统无法启动



总结七个点:

1、确定问题的故障特征

2、重现故障

3、使用工具收集进一步信息,确定问题根源

4、排除不可能的原因

5、定位故障

6、备份源文件

7、尽可能借助于工具
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息