前言
運維人員經常會遇到各式各樣的系統故障,如何根據故障特征鎖定問題根源,需要的不僅僅是技巧,還有遇到故障時的思路,和對系統内部的了解,本文列出了一些常見的系統故障和處理方法,在那之前首先需要對系統啟動流程有一個比較完整意義上的了解,以便問題出現後判斷其屬于哪個環節。
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、忘記密碼
啟動進入單使用者模式
<a target="_blank" href="http://blog.51cto.com/attachment/201308/182122823.png"></a>
使用passwd修改root密碼
<a target="_blank" href="http://blog.51cto.com/attachment/201308/182229769.png"></a>
2、bootloader損壞
<a target="_blank" href="http://blog.51cto.com/attachment/201308/182556697.png"></a>
載入安裝CD光牒進入緊急救援模式
<a target="_blank" href="http://blog.51cto.com/attachment/201308/182751382.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201308/182754290.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201308/182757751.png"></a>
進入grub模式
<a target="_blank" href="http://blog.51cto.com/attachment/201308/182855622.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201308/183716951.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201308/183745153.png"></a>
重複成功
<a target="_blank" href="http://blog.51cto.com/attachment/201308/183816463.png"></a>
3、bash丢失系統無法啟動
<a target="_blank" href="http://blog.51cto.com/attachment/201308/183943319.png"></a>
進入救援模式後
<a target="_blank" href="http://blog.51cto.com/attachment/201308/183957607.png"></a>
4、加密grub和核心
<a target="_blank" href="http://blog.51cto.com/attachment/201308/184151674.png"></a>
5、因某服務異常導緻系統無法啟動
<a target="_blank" href="http://blog.51cto.com/attachment/201308/184503327.png"></a>
總結七個點:
1、确定問題的故障特征
2、重制故障
3、使用工具收集進一步資訊,确定問題根源
4、排除不可能的原因
5、定位故障
6、備份源檔案
7、盡可能借助于工具
本文轉自 ftmoonfans 51CTO部落格,原文連結:http://blog.51cto.com/soulboy/1277190