自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

IT斷魂槍--閑聊Linux系統(tǒng)啟動(dòng)過(guò)程

系統(tǒng) Linux 服務(wù)器
云計(jì)算大潮到來(lái)了,我把IT技術(shù)像五虎斷魂槍一樣收起來(lái)了。我不會(huì)將它壓到箱底,偶爾我也會(huì)練練聊聊,紀(jì)念一下那個(gè)搞技術(shù)的黃金時(shí)代。

前言

沙子龍的鑣局已改成客棧。東方的大夢(mèng)沒法子不醒了。---- 老舍《斷魂槍》

云計(jì)算大潮到來(lái)了,我把IT技術(shù)像五虎斷魂槍一樣收起來(lái)了。我不會(huì)將它壓到箱底,偶爾我也會(huì)練練聊聊,紀(jì)念一下那個(gè)搞技術(shù)的黃金時(shí)代。

本文聊個(gè)很有嚼頭的技術(shù)問(wèn)題,Linux系統(tǒng)的啟動(dòng)過(guò)程,當(dāng)我們不用自己安裝系統(tǒng)以后,喪失了這么多樂趣。

[[246650]]

正文

主板加電和硬件自檢,就是開機(jī)第一屏啟動(dòng)界面。

CPU和內(nèi)存插得有問(wèn)題服務(wù)器會(huì)滴滴亂叫,而網(wǎng)卡和硬盤插不插都無(wú)所謂,因?yàn)檫@些外設(shè)都不屬于經(jīng)典的計(jì)算機(jī)系統(tǒng)。

早期小內(nèi)存服務(wù)器一般有內(nèi)存檢測(cè)的功能,但256G內(nèi)存的服務(wù)器啟動(dòng)的速度也太慢了,重啟一分鐘能啟動(dòng)的服務(wù)還能恢復(fù),重啟三分鐘可能群集性狀就變了,所以我們經(jīng)常順手就把他關(guān)掉了。

 

2. 讀取主板引導(dǎo)配置,現(xiàn)在終于要從外部設(shè)備讀取數(shù)據(jù)了。

主板大都是BIOS引導(dǎo),也有是UEFI引導(dǎo),但從服務(wù)器用戶看區(qū)別也不大。

主板可選從USB/SATA/NIC這幾類接口上獲取引導(dǎo)數(shù)據(jù),而且可以排隊(duì)式加載,第一個(gè)加載不成功就嘗試第二個(gè)。系統(tǒng)安裝鏡像都有個(gè)防止誤操作的倒計(jì)時(shí),而網(wǎng)絡(luò)引導(dǎo)一般是排在末位,硬盤引導(dǎo)就是通用的系統(tǒng)啟動(dòng)的方式。

愛折騰桌面電腦的朋友從這一步開始就玩雙系統(tǒng)/WINPE/U盤版Ubuntu/無(wú)盤工作站了,還好服務(wù)器維護(hù)人員比較單純專一。

 

3. 讀取MBR(可略過(guò))。

如果是BIOS啟動(dòng),做為一個(gè)老古董它只能會(huì)去讀MBR,MBR去讀取GRUB;而UEFI略過(guò)MBR,直接讀取GRUB。

BIOS將啟動(dòng)權(quán)限交給MBR的446字節(jié),而446字節(jié)連Linux啟動(dòng)界面的logo都裝不下,MBR也只是個(gè)搬運(yùn)工,會(huì)將啟動(dòng)權(quán)限交給GRUB。

遇到過(guò)幾次倒霉事以后,我習(xí)慣用dd備份每臺(tái)服務(wù)器的前512字節(jié),但自從我做完備份以后,就再也沒倒霉過(guò)。

##不好意思沒圖

4. GRUB引導(dǎo)啟動(dòng)vmlinuz內(nèi)核。

GRUB2如果細(xì)說(shuō)有stage1、stage1.5、stage2多個(gè)步驟,我們可以簡(jiǎn)單認(rèn)為前面兩步是為了茍到stage2加載為止。

我們用GRUB來(lái)選定要加載的內(nèi)核,并向其傳遞大量啟動(dòng)參數(shù),這樣就可以在多OS、多Kernel、多runlevel之間來(lái)回切換。網(wǎng)上的GRUB調(diào)試教程都集中在這一步,我們還可以直接傳參以單用戶模式啟動(dòng),直接無(wú)密碼登陸服務(wù)器。

有些人習(xí)慣給/boot一個(gè)128M的小分區(qū),可能是老師的老師說(shuō)過(guò)這樣比較“安全”。那是在更早的版本GRUB程序讀不了GB級(jí)磁盤分區(qū),沒辦法加載vmlinuz內(nèi)核,現(xiàn)在已經(jīng)只是一個(gè)迷信而已。

 

5. 內(nèi)核啟動(dòng)加載驅(qū)動(dòng),但這還沒觸及任何業(yè)務(wù)。

不同硬件同一個(gè)版本的vmlinuz內(nèi)核hash值是相同的,因?yàn)轵?qū)動(dòng)信息放在initrd*.img里。Initrd*.img是一個(gè)精簡(jiǎn)但帶了所有驅(qū)動(dòng)的linux鏡像,一般系統(tǒng)安裝完之后自動(dòng)生成,也可以事后手動(dòng)生成。

曾經(jīng)某偏門軟件推薦用集成鏡像安裝,裝完了就是起不來(lái),我把同內(nèi)核版本、同硬件配置的init*.img替換以后系統(tǒng)就正常啟動(dòng)。

Kernel加載了所有驅(qū)動(dòng)后就會(huì)卸載initrd*.img,早期linux版本在系統(tǒng)啟動(dòng)過(guò)程中還能看到很多“umount filesystem”的提示,那不是卸載正式文件系統(tǒng),而是卸載了initrd*.img這個(gè)迷你系統(tǒng),

##不好意思沒圖

6. Init進(jìn)程啟動(dòng),服務(wù)正式啟動(dòng)。

從看到“Welcome use CentOS”的彩色歡迎文字開始,init服務(wù)已經(jīng)啟動(dòng)了。

在這之前的啟動(dòng)過(guò)程也就讀取BIOS/MBR/GRUB和/boot分區(qū),現(xiàn)在終于開始讀/etc目錄的配置文件了。

首先被讀取到的是/etc/fstab,各個(gè)磁盤都掛載就位。這個(gè)文件注釋很簡(jiǎn)單但水很深,我們?cè)撚脴?biāo)簽還是UUID來(lái)標(biāo)識(shí)磁盤,文件系統(tǒng)自檢功能要不要開,這都可以聊好幾個(gè)小時(shí)。

看看各服務(wù)的啟動(dòng)優(yōu)先級(jí)也是一個(gè)講究多多的過(guò)程,iptables會(huì)比network先啟動(dòng)這類依存關(guān)系很好理解;但我也遇到過(guò)云平臺(tái)的DHCP獲取太慢,而云主機(jī)操作系統(tǒng)啟動(dòng)快、Network還沒從DHCP那里獲取到IP地址,然后Mysqld等需要監(jiān)聽端口的服務(wù)啟動(dòng)失敗。

 

后記

以上內(nèi)容只能算精簡(jiǎn)科普版的Linux系統(tǒng)啟動(dòng)過(guò)程,正式版的啟動(dòng)過(guò)程可以寫十萬(wàn)字,有興趣的朋友可以自己查維基百科,或拿我說(shuō)的關(guān)鍵字去百度搜索。

曾經(jīng)我把這些技能當(dāng)做資歷,但現(xiàn)在大家都上云了,它們就只是閑聊的談資了。但客戶上云就能少招一個(gè)研究這事的工程師,上云確實(shí)也很有意義啊。

夜靜人稀,沙子龍關(guān)好了小門,一氣把六十四槍刺下來(lái);而后,拄著槍,望著天上的群星,想起當(dāng)年在野店荒林的威風(fēng)。嘆一口氣,用手指慢慢摸著涼滑的槍身,又微微一笑,“不傳!不傳!” ---- 老舍《斷魂槍》

責(zé)任編輯:武曉燕 來(lái)源: 云算計(jì)
相關(guān)推薦

2009-12-03 10:00:46

Linux系統(tǒng)啟動(dòng)

2018-03-13 13:00:03

Linux運(yùn)維啟動(dòng)分析

2010-05-06 14:05:15

Unix系統(tǒng)

2009-08-11 09:03:45

Windows 7系統(tǒng)啟動(dòng)

2023-09-02 21:39:47

2011-06-28 13:27:13

ARM Linux

2011-08-22 08:53:17

Android啟動(dòng)過(guò)程李洋

2010-03-02 15:45:57

Linux系統(tǒng)啟動(dòng)過(guò)程

2010-03-02 16:13:50

Linux系統(tǒng)啟動(dòng)過(guò)程

2021-02-09 08:23:02

Linux操作系統(tǒng)

2021-08-03 07:59:37

Linux系統(tǒng)地址

2011-07-28 10:34:38

Cocoa 程序 啟動(dòng)

2014-06-23 10:31:09

Android啟動(dòng)過(guò)程

2011-09-05 17:35:18

MTK啟動(dòng)過(guò)程RTOS

2010-01-12 13:47:18

Linux grub

2018-12-06 09:00:06

LinuxWindows雙系統(tǒng)

2021-09-28 15:03:06

Linux內(nèi)核arm

2017-03-03 09:10:41

2024-09-11 09:25:03

Tomcat組件PREP

2021-07-02 06:34:53

Go語(yǔ)言sysmon
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)