1. 程式人生 > >Linux常見系統故障排除

Linux常見系統故障排除

作為一名運維工程師經常會遇到各式各樣的系統故障,如何根據故障特徵鎖定問題根源,需要的不僅僅是技巧,還有遇到故障時的思路,和對系統內部的理解,本文列出了一些常見的系統故障和處理方法,在那之前首先需要對系統啟動流程有一個比較完整意義上的瞭解,以便問題出現後判斷其屬於哪個環節。

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、儘可能藉助於工具