引導過程與服務控制

語言: 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