引導過程與服務控制

語言: CN / TW / HK

引導過程與服務控制

一、Linux作業系統引導過程

二、排除啟動類故障

三、服務控制及切換執行級別

四、優化啟動過程

Linux作業系統引導過程

1、伺服器主機開機以後,將根據主機板BIOS的設定對CPU、記憶體、顯示卡、鍵盤等裝置進行初步檢測,檢測成功後根據預設的啟動順序移交系統控制權,大多時候會移交給本機硬碟。總結;檢查出第一個能引導系統的裝置,比如硬碟或者光碟機

2.MBR引導

當從本機硬碟中啟動系統時,首先根據硬碟第一個扇區中MBR(主引導記錄)的設定,將系統控制權 遞給包含作業系統引導檔案的分割槽;或者直接根據MBR記錄中的引導資訊呼叫啟動選單(如GRUB)

總結;執行放在MBR扇區裡的啟動GRUB載入程式

3.GRUB選單

對於Linux作業系統來說,GRUB(統一啟動載入器)是使用最為廣泛的多系統引導器程式。系統控制傳遞給GRUB以後,將會顯示啟動選單使用者選CentOS7採用的是GRUB2啟動引導器。

總結;GRUB載入程式通過讀取GRUB配置檔案/boot/grub2/grub.cfg,來獲取核心映象檔案系統的設定和路徑位置

4.載入Linux核心

Linux核心的一個預先編譯好多特殊二進位制檔案,介於各種硬體資源與系統程式之間,負責資源分配與排程。核心接過系統控制權以後,將完全掌控真個Linux作業系統的執行過程。

CentOS7系統中,預設的核心檔案位於"/boot/vmlinuz-3.10.0-514.e17.x86_64"。

總結;把核心和映象檔案系統載入到記憶體中

5.init程序初始化

為了完成進一步的系統引導過程,Linux核心首先將系統中的"/sbin/init"程式載入到記憶體中執行(執行中的程式成為程序),init程序負責完成整個系統的初始化,最後等待使用者進行登入。

總結;載入硬體啟動程式,核心把init程序載入到記憶體中執行

傳統SysVint依賴序列執行shell指令碼啟動服務,導致效率低下,系統啟動速度較慢

systemd能夠將更多的服務程序並行啟動,並且具有提供按需啟動服務的能力,是的啟動更少程序,從而提高系統啟動速度。

系統初始化程序

init程序

由Linux核心載入執行/sbin/init程式

init程序是系統中第一個程序,是所有程序的父程序

init程序的PID(程序標記)號永遠為1

Systemd

Systemd是Linux作業系統的一種init軟體

CentOS7中採用全新的Systemd啟動方式(並行啟動服務程序),取代傳統的SysVinit(序列執行shell指令碼進行啟動)

CentOS7中執行的第一個init程序是/lib/systemd/systemd

Systemd單元型別

單元型別 副檔名 說明
Service .service 描述一個系統服務
Socket .socket 描述一個程序間通訊的套接字
Device .device 描述一個核心識別的裝置檔案
Mount .mount 描述一個檔案系統的掛載點
Automount .automount 描述一個檔案系統的自動掛載點
Swap .swap 描述一個記憶體交換裝置或交換檔案
Path .path 描述一個檔案系統中文檔案或目錄
Timer .timer 描述一個一個定時器(用於實現類似sron的排程任務)
Snapshot .snapshot 用於一個systemd的狀態
Scope .scope 使用systemd的匯流排介面以程式設計的方式建立外部程序
Slice .slice 描述居於Cgroup的一組通過層次組織的管理系統程序
Target .target 描述一組systemd的單元

執行級別所對應的Systemd目標

執行級別 Systemd的tardet 說明
0 target 關機狀態,使用該級別時將會關閉主機
1 rescue.target 單使用者模式,不需要password驗證即可登入系統,多用於系統維護
2 multi-user.target 使用者定義/域特定執行級別。預設等同於3
3 multi-user.target 字元介面的完整多使用者模式,大多資料伺服器主機執行在此級別
4 multi-user.target 使用者定義/域特定執行級別。預設等同於3
5 graphical.target 圖形介面的多使用者模式,提供了圖形左面操作環境
6 reboot.target 重新啟動,使用該級別時將會重啟主機

修復MBR扇區故障

故障原因

惡意程式、等造成的破壞

不正確的分割槽操作、磁碟讀寫誤操作

故障現象

找不到載入程式、啟動中斷

無法載入作業系統、好幾黑屏

解決思路

應提前做好備份檔案

以安裝光碟引導進入急救模式

從備份檔案中恢復

排除啟動類故障

修復MBR扇區故障

MBR位於

修復GRUB引導故障

故障原因

MBR中的GRUB載入程式遭到破壞

grub.conf檔案丟失。引導配置有誤

故障現象

系統引導停滯,顯示"grub>"提示符

解決思路

嘗試手動輸入應道命令

進入緊急模式,重寫或者從備份中恢復grub.conf

向MBR扇區中重建grub程式

系統服務控制

systemctl控制型別 服務名稱

控制型別

start:啟動

stop:停止

restart:重新啟動

reload:重新載入

status:檢視服務狀態 等等

檢視系統的執行級別

runlevel命令(runlevel只能檢視切換執行級別與當前執行級別systemctl時能檢視預設的執行級別)

systenclt工具

臨時切換執行級別

init命令

ntsysv工具

提供互動式、視覺化視窗

可以在字元終端執行

便於集中管理多個服務

用於控制服務是否開機自啟動

systemctl/chkconfig工具

不提供互動式、視覺化視窗

管理的那個服務效率高a