0.1 計算機硬件分類 0.1.1 家用臺式電腦介紹 家用電腦,顧名思義,就是專為普通家庭用戶所涉及制造的微型計算機,和其他微型計算機,比如商用電腦相比,在硬件結構和系統、軟件結構上,基本無異,主要功能用途上有所差異 。家用電腦主要側重于影音娛樂和游戲方面的應用,同時,也具備一定的學習辦公方面的能力 , 可以滿足家庭用戶的絕大多數需要 。家用電腦的基本組成與辦公室使用的臺式微型計算機沒什么區別,同樣是馮.諾依曼體系結構,大體上分為三級 , 輸入設備和輸出設備等幾個部分 。

文章插圖
圖0-1 家用臺式機圖示
0.1.2 筆記本電腦介紹 筆記本電腦(NoteBook Computer , 簡稱為:NoteBook),亦稱筆記型、手提或膝上電腦(英語:Laptop Computer 。可簡稱為Laptop) , 是一種小型、可方便攜帶的個人電腦 。筆記本電腦的重量通常重1-3公斤 。其發展趨勢是體積越來越小 , 重量越來越輕,而功能越來越強大 。像Netbook,也就是俗稱的上網本 。筆記本電腦跟PC的主要區別在于其便攜帶性 。

文章插圖
圖0-2 筆記本電腦圖示
0.2 運維與服務器 90%以上的Linux基礎圖書,都只講了Linux基礎以及Linux開發,而未提及Linux運維這個崗位名詞,其實學Linux最直接目的就是維護Linux服務器 , 哪怕是開發人員,學習的目的也是如此,因此本書不會只講解Linux,而是根據企業Linux運維崗位真正的需求來講解Linux基礎及Linux運維核心知識,使得讀者在學習Linux的同時 , 可以對未來的企業里Linux運維工作崗位所需的知識有一個很好的了解 , 這也是本書區別于其他Linux基礎書籍的核心所在 。
0.2.1 運維人員的核心職責 下面來看一下運維人員的三大核心職責:
- 企業數據安全(不丟失、不泄露)。
- 企業數據是每個現代IT企業的生命線,作為Linux運維人員,不但不能丟失任何數據,同時,也不能向外部人員泄露公司的任何有用數據 。讀者可以搜索“脫庫事件”以了解當下社會上的企業數據安全信息 。
- 企業業務7*24小時運行(永不停機)。
- 互聯網企業甚至是傳統企業(例如,銀行和電信),除了數據安全外,還需要業務有持續運行的能力,這對Linux運維人員提出了更高的要求 , 也是運維人員高薪的原因 。
- 如表0-1所列舉的是企業網站和應用的可用性的衡量標準 。
- 表0-1 企業網站和應用的可用性的衡量標準
- 可用標準描述簡稱可用性級別全年停機時間基本可用性2個999%87.6小時較高可用性3個999.9%8.8小時很高可用性4個999.99%53分鐘極高可用性5個999.999%5分鐘
- 其中,一般中小企業的業務持續可用性級別至少應該是99.9%,中大型企業應達到99.99% , 甚至99.999% 。
- 企業業務服務效率高(用戶體驗好)。
注意: 運維人員工作基本原則:簡單,易用,高效,穩定,安全 。
如果在達到上述三大核心原則的情況下 , 還能對網站架構不斷地進行優化和調整,從而達到節省服務器數量、IDC和CDN帶寬 , 甚至能夠使用云計算、容器服務,以及開發自動化平臺等提高工作效率、節省企業人力成本,那這樣的運維工程師簡直堪稱完美 , 拿到高薪自然也是水到渠成 。
0.2.2 運維人員工作的主戰場--服務器 0.2.2.1 什么是服務器? 服務器是提供計算和存儲服務的設備(如圖0-3所示),由于服務器需要響應服務請求,并進行處理 , 因此一般來說,服務器應具備承擔服務并且保障服務的能力 。服務器的構成包括處理器、硬盤、內存、系統總線等,這與通用的計算機構架類似,但是由于需要提供高性能高可靠的服務,因此 , 在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面要求較高 。

文章插圖
圖0-3 Dell R730 2U和R620 1U互聯網主流服務器外觀
上述對于服務器的介紹比較復雜,一句話概括:服務器就是一臺特殊的計算機,配置更高,設備更貴更好,主要用在企業的后臺,為用戶提供各種業務服務 。
服務器的功能:搭建網站(互聯網企業常見應用)等應用服務所使用的機器,相對于其他臺式機電腦、筆記本電腦來說,使用服務器更加穩定可靠 , 硬件有7*24小時的持續運行能力 。
0.2.2.2 服務器的尺寸 就像筆記本電腦的顯示器按照屏幕大小分為14英寸、15.6英寸等一樣,服務器也是有尺寸的 , 這個尺寸一般用來描述服務器的高度,即(U)(如圖0-4所示) 。

文章插圖
圖0-4 Dell 4U服務器的背面
服務器的尺寸是按U計算的 。1U服務器表示服務器的高度是4.45cm(1.75英寸) 。
如圖0-5所示,服務器的內部結構和臺式電腦大同小異,基本零部件與臺式電腦一樣必須要有,例如:CPU處理器、內存、硬盤,所不同的是,服務器可以容納的CPU處理器數量更多,風扇也更多 , 可插拔的數量也可以多很多,在后文為大家詳細講解服務器的內部組件 。

文章插圖
圖0-5 Dell 2U服務器的內部結構
關于服務器,如有不了解或者存在疑問的地方,可以咨詢相關的服務器銷售人員 , 他們一定會很樂意回答 。
0.2.3 服務器按外形分類 0.2.3.1 機架式服務器 機架式服務器的外形看起來不像計算機,而像“抽屜”(如圖0-6所示) , 有1U(1U=1.75英寸=44.45毫米)、2U、4U等規格 。機架式服務器一般安裝在標準的19英寸機柜里面,是工作中使用最多的服務器類型 。

文章插圖
圖0-6 2U機架式服務器外形
0.2.3.2 刀片服務器 刀片服務器的外觀類似一個箱子里擺放整齊的書(如圖0-7所示) 。
所謂刀片服務器(準確地說應叫刀片式服務器),是指在標準高度的機架式機箱內插裝多個卡式服務器單元,以實現高可用行和高密度 。每一塊“刀片”實際上就是一塊系統主板 。它們可以通過“板載”硬盤啟動自己的操作系統,如Windows8/10、Linux等,類似于一個個獨立的服務器 。在這種模式下 , 每一塊母板運行自己的系統,服務于指定的不同用戶群,相互之間沒有關聯,因此相對于機架式服務器和機柜式服務器,單片母板的性能較低 。不過,管理員可以使用系統軟件將這些母板集合成一個服務器集群 。在集群模式下,所有的母板都可以連接起來,從而提供高速的網絡環境,并且它們會共享資源,為相同的用戶群服務 。在集群中插入新的“刀片”即可提高整體性能 。而由于每塊“刀片”都是熱插拔的 , 所以,系統可以輕松地進行替換 , 并且將維護時間減少到最小 。

文章插圖
圖0-7 刀片式服務器
0.2.3.3 塔式服務器--更強壯的計算機 塔式服務器(Tower Server)應該是最容易理解的一種服務器結構類型,因為它的外形及結構都跟立式PC差不多(如圖0-8所示) 。當然 , 由于服務器的主板擴展性較強,插槽也多出了若干個,所以外觀會比普通主板大一些,因此塔式服務器的主機機箱也比標準的ATX機箱更大,一般都會預留足夠的內部空間以便日后進行硬盤和電源的冗余擴展 。但這種類型服務器也有不少局限性 , 比如,在需要采用多臺服務器同時工作以滿足較高的服務器應用需求時,由于某個體比較大,占用空間多,也不方便管理,所以會顯得很不適合 。

文章插圖
圖0-8 塔式服務器的外部結構
0.3 互聯網公司的服務器品牌 國內互聯網公司使用的服務器品牌很多,從筆者及同行和學員從事的互聯網公司來看,DELL品牌的服務器是最多的,也是性價比較高的 , 下面把筆者比較了解的品牌整理一個簡表,見表0-2.
表0-2 服務器品牌簡表
服務器品牌
說明
DELL戴爾服務器
互聯網公司應用最廣
HP惠普服務器
部分互聯網公司應用
IBM服務器
較高端的服務器,有些傳統大型企業會用,百度也在使用IBM服務器
浪潮
國產服務器 , 傳統企業、學校用
華為
國產服務器
聯想
國產服務器,用戶較廣、雜
需要說明的是,現在越來越多的企業直接購買云服務器了 , 因此,服務器硬件也逐漸的落寞 。隨著云的發展,中小企業直接購買硬件的機會越來越少了,各類硬件工程師的崗位和前景越來越不明朗了,建議這部分人群加速轉行到Linux運維或者Python開發領域(在這兩個領域,他們之前用到的技術都可以疊加到Linux運維商 。
0.4 服務器品牌詳解及對應型號 0.4.1 Dell服務器 如表0-3所示的是Dell服務器生產與使用的時間,以及對應的U數 , 讀者可以參考 。
表0-3 Dell服務器生產與使用的時間及對應的U數
主流應用時間段
1U的主流型號
2U的主流型號
2010年以前
1850、1950
2850、1950
2010~2013年
R410、R610
R710
2014~2016年
R420/430 R620/630
R720/730
2017-2018年
R440 R640
R740
提示:以Dell機架式服務器為例,R2X0到R6X0基本都是1U的,R7X0或R8X0是2U的,R9X0是4U的 。其中 , "X"表示1-3這幾個數字 , 個別可以有4 。下面推薦一些查詢DELL服務器配置的方式:
- DELL服務器的配置官網:www.dell.com/zh-cn/work/… 。
- 中關村在線:server.zol.com.cn/ 。
- 咨詢服務器的銷售人員 。
- 圖0-9至圖0-12以Dell R720 2U 服務器為例說明了服務器外部結構 。

文章插圖
圖0-9 Dell R720服務器常用接口說明

文章插圖
圖0-10 Dell R720液晶屏幕顯示IP地址

文章插圖
圖0-11 Dell R720正面圖

文章插圖
圖0-12 Dell R720正面加上蓋子后的圖
0.4.2 IBM服務器 IBM服務器的型號及對應的U數見表0-4.
表0-4 IBM服務器型號及對應的U數
服務器尺寸
服務器型號
1U
3550/M3 3550/M5
2U
3650/M3/M4/M5
4U
3850
8U
3950
IBM服務器質量好,但價格貴,互聯網公司不太常用,僅作了解即可 。
目前來看,“IOE”代表了全球三個領域里最好的品牌,即IBM服務器、Oracle(甲骨文數據庫)和Emc(存儲廠商設備),但互聯網公司從2010年起就在提倡去IOE,代表企業為阿里巴巴集團,企業去IOE的本質是企業變大以后,購買IOE的成本開銷會成倍增加,而且IOE的設備都是黑盒運行,并不能為企業完全掌控,受限于廠商 。
0.5 服務器(電腦)核心零部件介紹【計算機硬件基本結構和工作原理 計算機硬件系統包括運算器】 圖0-13為拆開蓋子后的Dell服務器內部結構圖,讀者可以通過此圖了解下Dell服務器的內部結構信息,其中對相關區域做了簡單標記 。

文章插圖
圖0-13 Dell服務器的內部結構圖
0.5.1 電源 電源相當于人體的心臟,需保障電力供應,如果要買服務器,請選擇質量好的電源 。
在生產中,若是單個服務器負責核心業務,那么最好使用雙電源 , 分別接機房A、B線路 。如果服務器是集群中的一臺(若干機器做一件事),那么可以不用雙電源 。除此之外,運維工作就不用過多考慮電源的其他問題了 。
電源的代表圖片見圖0-14和圖0-15.

文章插圖
圖0-14 Dell服務器可插拔電源的“苗條”和“富態”兩種外形

文章插圖
圖0-15 臺式電腦和筆記本電腦的電源
0.5.2 CPU處理器 CPU處理器相當于人體的大腦,負責整個計算機的運算和控制,是影響服務器性能效率的最核心部件(如圖0-16所示) 。
CPU常見的種類分為精簡指令集和復雜指令集兩類,具體說明如下 。
精簡指令集的CPU設計代表有SUN公司的SPARC系列和ARM系列等,這類CPU的設計特點是指令集精簡,每個指令執行的時間很短,操作很簡單、效率較高 。

文章插圖
圖0-16 CPU外形示例
復雜指令集的設計代表有大家熟知的Intel志強系列(XEON)(應用廣泛)和AMD系列(應用不多)等,。這類CPU的設計特點是指令數量多、指令集復雜,且執行的時間較長,但能處理的事物更多、更豐富 。
Intel、AMD被稱為x86架構的CPU,主要用于PC或DELL等常見品牌的系列服務器上 。
服務器CPU的顆數,我們稱為路數 。例:DELL R630雙路1U服務器、DELL R720雙路2U服務器、DELL R830四路2U服務器 。
CPU一般通過頻率吉赫茲(GHz)表示性能的好壞 , 頻率越高速度越快,簡單的說,CPU頻率就是用來表示CPU每秒鐘工作次數的,例如筆者所用電腦的CPU是:Intel(R) Core(TM) I7-6700HQ CPU @ 2.60GHz (8 CPUs),~2.6Hz 。
企業級常見的物理服務器配置包括如下兩種 。
- 一般企業里的服務器,CPU個(顆)數為24顆,單個(顆)CPU是四核 。內存總量一般是16256GB(32GB、64GB較常見) 。
- 用于虛擬化的宿主機(例如,應用vmware(虛擬化軟件)、KVM的主機),CPU顆數可達4-8顆,內存總量一般48GB128GB,常規企業可以同時啟動610個虛擬機,甚至更多,主要是根據業務需求決定虛擬機的配置大小 。

文章插圖
圖0-17 服務器CPU風扇
CPU長時間運行會發熱,因此需要有降溫的設備,即CPU風扇或散熱片(如圖0-17和圖0-18所示),散熱片主要是金屬銅或者鋁制的,目的是將熱量快速傳導出去 。
在企業級系統運維中,選擇CPU硬件配置,以及監測和優化服務器系統CPU性能,是運維人員的常見工作之一 。CPU的優化是一個復雜的工作,需要長期的實踐和反復觀察,由于這部分內容難度很大且復雜,筆者在后期出版的系列高級技術圖書中會加重筆墨,讀者可以重點關注 。

文章插圖
圖0-18 服務器CPU上附帶的散熱片以及翻開的CPU圖片示意圖
0.5.3 內存 內存(RAM)是CPU和磁盤之間的緩沖設備(如圖0-19所示),是臨時存儲器(用于存放數據),若斷電,數據就會丟失 。

文章插圖
圖0-19 服務器內存展示
程序運行的時候,一般會被調度到內存中執行,服務器關閉或程序關閉之后,數據自動從內存中釋放掉 。
0.5.3.1 程序和進程的基本概念 這里簡單介紹下程序和進程的區別 , 具體見表0-5.
表0-5 程序、進程、守護進程間的區別
例稱
實際名稱
實際含義說明
影片
程序
C/Python/Java,代碼文件
放片
進程
正在運行的各類程序(放在內存里執行)
沒完沒了地放片
守護進程
持續保持運行著的程序
0.5.3.2 企業案例:提升用戶體驗的網站解決方案 (1)門戶(大網站)極端案例:大并發寫入案例(搶紅包、微博)
遇到高并發、大數據量“寫”數據的極端情況時,系統會將數據先寫到內存中,在數據積累了一定的量后,再定時或者定量地寫到磁盤中以減輕磁盤的壓力,減少磁盤I/0(Input/Output,磁盤的輸入/輸出),最終再將數據加載到內存中以對外提供訪問,目的還是減輕對磁盤的訪問壓力,相關流程如圖0-20所示 。
高并發數據存儲方式

文章插圖
圖0-20 企業高并發業務寫入流程圖
這種狀況的特點具體如下 。
- 優點是寫數據到內存時,性能高,速度快(適用于微博 , 微信,SNS(社交網),秒殺等場景) 。
- 缺點是可能會丟失一部分在內存中還沒有來得及存入磁盤的數據 。
- 解決數據丟失的方法具體如下 。
- 在服務器主板上安裝蓄電池,在斷電后宕機前瞬間將內存數據回寫到磁盤 。
- UPS(一組蓄電池)不間斷供電(IDC數據中心機房一般都會用UPS持續供電) 。UPS(Uninterruptible Power System/Uninterruptible Power Supply),即不間斷電源 , 是將蓄電池(多為鉛酸免維護蓄電池)與主機相連接,通過主機逆變器等模塊電路將直流電轉換成市電的系統設備 。
- 選雙路電的機房,使用雙電源、分別接不同路的電,以及服務器放到不同的機柜中,將企業業務放置到不同的地區(異地) 。
- 柴油發電機+池罐,機房一般會與附近的加油站簽訂緊急供油協議 。
對于并發訪問(可簡單理解為同時訪問數量)不是很大、數據量也不是特別大的網站 , 若是業務讀多寫少,則會先將數據寫入到磁盤中,然后通過程序把寫到磁盤的數據讀入到內存中,再對外通過讀取內存提供訪問服務(如果0-21所示) 。絕大多數企業的業務邏輯還是讀請求(例如:瀏覽頁面)多于寫請求(例如:寫文章、發朋友圈) 。
低并發數據存儲方式

文章插圖
圖0-21 中小型企業訪問量低的讀寫流程示意
注意: 用于99%的網站以及企業業務都是以讀取為主,寫入為輔的,讀寫比例一般可能大于10:1,所以并發寫入一般都不是大問題 。這里提到的把數據寫入內存一般是由Memcached或Redis等高效的內存級別軟件來實現的,各類關系型數據庫一般也都提供了讀寫緩存的功能 。
0.5.3.3 企業Linux面試題:計算機操作系統中緩沖區(buffer)和緩存區(cache)什么區別? 對于新手,可參考如下說明來理解或解答 。
(1)緩沖區(buffer)
將數據寫入內存 , 這個數據的內存空間在Linux系統里一般被稱為緩沖區(buffer),例如,寫入到內存緩沖區,即寫緩沖 。
為了提高寫操作性能,數據在寫入最終介質或下一層級介質之前會合并放入緩沖區中 。這樣會增加數據持久寫的延時,因為第一次寫入緩沖區后 , 在向下寫入數據之前,還要等待后續的寫入,以便湊夠數據或者定時寫入到永久存儲介質中 。
(2)緩存區(cache)
從內存里讀取數據,這個存數據的內存空間在Linux系統里一般稱為緩存區(cache),例如 , 從內存緩存區讀取 , 即讀緩存 。
操作系統用緩存緩存提高文件系統的讀性能和內存分配性能,應用程序使用緩存也是為了提升讀訪問效率 。將經常訪問的操作結果保存在緩存中可備隨時使用 , 而非總是執行讀磁盤以獲取數據等開銷較高的操作 。
記住一句話:緩存無處不在 , 無論是電腦硬件、操作系統 , 還是企業網站集群及其他業務系統!
0.5.4 磁盤 0.5.4.1 磁盤基礎知識 磁盤 是永久存放數據的存儲器(如圖0-22、圖0-23和圖0-24所示),不過,磁盤上也是有緩存的(芯片) 。

文章插圖
圖0-22 有不同接口類型的硬盤圖

文章插圖
圖0-23 企業級硬盤外觀與硬盤架子及SSD硬盤外觀

文章插圖
圖0-24 企業級硬盤從服務器插拔瞬間
常用的磁盤(硬盤)都是3.5英寸的,常規的機械硬盤,讀?。ㄐ閱懿桓擼┬閱鼙饒詿娌詈芏?nbsp;, 所以,在企業中,我們才會將大量的數據緩存到內存中,寫入到緩沖區中,這是當今互聯網網網站必備的解決網站訪問速度慢的方案 。
磁盤的接口包括IDE、SCSI、SAS、SATA等種類,其中IDE、SCSI已退出歷史舞臺 。
磁盤的類型又分為機械磁盤和SSD固態硬盤兩種 。
性能與價格排序(從高到低):SSD(固態硬盤)>SAS>SATA 。
0.5.4.2 磁盤的相關的單位 現在生產的單塊磁盤容量越來越大 , 體積卻越來越小 , 速度也越來越快 , 其中,常見的有300GB、600GB、1TB、3TB、4TB等規格 。
注意:對于工業級(企業級)硬盤計算:以1000為單位進行換算 , 即1TB=1000GB 。有關數據單位的換算 , 見0.7.3節 。
0.5.4.3 計算機與服務器各硬件I/0對比 I/O即input/output 輸入/輸出,一般翻譯為讀寫 。衡量磁盤讀寫速度的單位是iops,即 input/output per second(每秒的輸入輸出) 。
1s=1000ms(毫秒)=1000 000us(微秒)=1000 000 000ns(納秒)
通過圖0-25不難發現,CPU速度最快,其次是內存,最慢的就是硬盤和網卡了 , 圖0-25可以幫助讀者理解不同設備的性能差距,將來做運維工作的時候,可從速度慢、瓶頸大的進行改進和轉化 。
0.5.4.4 小結

文章插圖
圖0-25 計算機各級設備I/O性能基本對比
- 企業級硬盤適合7*24小時持續使用,一般較貴,和筆記本電腦以及家用臺式機電腦的硬盤有區別(工業級和家用) 。
- 對于企業高并發網站來講,系統都會盡量讓用戶從內存中讀取數據,而不是硬盤 。
- 企業運維和架構師做網站優化 , 以及服務器、軟件優化的核心本質,幾乎都是在調整硬盤和內存之間的使用比例 。
- 圖0-26所示的是緩存在服務器各硬件之間的速度和大小對比另類維度圖解,從上到下由高速到低速,容量從小到大 。

文章插圖
