天天看點

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

Linux/Unix技術叢書 點選檢視第一章 點選檢視第二章

跟老男孩學Linux運維:

核心基礎篇(上)(第2版)

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎
老男孩 著

第0章 計算機硬體與組成基礎

0.1 計算機硬體分類

1.家用台式電腦介紹

家用台式電腦主要分為主機和顯示器兩部分(如圖0-1所示),一般用于家庭娛樂(例如,聽音樂、打遊戲、看電影等),優點是可以配置獨立顯示卡、聲霸卡、顯示器等裝置,是以配置會更高一些,娛樂時更讓人享受;缺點就是裝置的體積和重量都太大,占地方且移動不友善,其在國内一二線城市已經逐漸退出曆史舞台了,被簡便、小巧并且同樣可以擁有高配置的筆記本電腦所取代。

2.筆記本電腦介紹

筆記本電腦以簡便、輕巧、攜帶友善等優點被更多人選擇使用(如圖0-2所示),其早期多用于辦公,現在已經逐漸走進千家萬戶,成為國内計算機使用者的主流選擇。與早期的産品不同,現在的筆記本電腦的部件配置也可以很高,并且價格早已下降到普通使用者可以接受的程度了。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

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所列舉的是企業網站和應用的可用性的衡量标準。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

其中,一般中小企業的業務持續可用性級别至少應該是99.9%,中大型企業應達到99.99%甚至是99.999%。

  • 企業業務服務效率高(使用者體驗好)。

    一切的企業工作最終都是為了向使用者提供高效、舒心的服務,如果網站打開的速度很慢,使用者體驗很差,那麼這樣的企業是沒有任何生命力的,是以Linux運維人員需要不斷地優化網站業務,使得使用者能夠進行高效的通路,這種能力是決定Linux運維人員是否能拿高薪的必備條件。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

0.2.2 運維人員工作的主戰場—伺服器

1.什麼是伺服器?

伺服器是提供計算和存儲服務的裝置(如圖0-3所示)。由于伺服器需要響應服務請求,并進行處理,是以一般來說,伺服器應具備承擔服務及保障服務的能力。伺服器的構成包括處理器、硬碟、記憶體、系統總線等,這與通用的計算機架構類似,但是由于需要提供高性能高可靠的服務,是以,在處理能力、穩定性、可靠性、安全性、可擴充性、可管理性等方面要求較高。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

上述對于伺服器的介紹比較複雜,一句話概括:伺服器就是一台特殊的計算機,配置更高,裝置更貴更好,主要用在企業的背景,為使用者提供各種業務服務。

伺服器的功能:搭建網站(網際網路企業常見應用)等應用服務所使用的機器,相對于其他台式電腦、筆記本電腦來說,使用伺服器更加穩定可靠,其硬體有7×24小時的持續運作能力。

2.伺服器的尺寸

就像筆記本電腦的顯示器按照螢幕大小可分為14英寸、15.6英寸等一樣,伺服器也是有尺寸的,這個尺寸一般用于描述伺服器的高度,即(U)(如圖0-4所示)。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

伺服器的尺寸是按U計算的。1U伺服器表示伺服器的高度是4.45cm(1.75英寸)。

如圖0-5所示,伺服器的内部結構與台式電腦大同小異,基本零部件與台式電腦一樣必須要有,例如,CPU處理器、記憶體、磁盤,所不同的是,伺服器可以容納的CPU處理器的數量更多,風扇也更多,可插拔的硬碟數量也可以多很多,後文将為大家詳細講解伺服器的内部元件。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

關于伺服器,如有不了解或者存在疑問的地方,可以咨詢相關的伺服器銷售人員,他們一定會很樂意回答。

0.2.3 伺服器按外形分類

1.機架式伺服器

機架式伺服器的外形看起來不像計算機,而更像“抽屜”(如圖0-6所示),有1U(1U=1.75英寸=44.45mm)、2U、4U等規格。機架式伺服器一般安放在标準的19英寸機櫃裡面,是工作中使用最多的伺服器類型。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

2.刀片伺服器

刀片伺服器的外觀類似于一個箱子裡擺放整齊的書(如圖0-7所示)。

所謂刀片伺服器(準确地說應該叫作刀片式伺服器),是指在标準高度的機架式機箱内插裝多個卡式伺服器單元,以實作高可用性和高密度。每一塊“刀片”實際上就是一塊系統主機闆。它們可以通過“闆載”硬碟啟動自己的作業系統,如Windows 8/10、Linux等,類似于一個個獨立的伺服器。在這種模式下,每一塊主機闆均會運作自己的系統,服務于指定的不同使用者群,互相之間沒有關聯,是以相對于機架式伺服器和機櫃式伺服器,單片主機闆的性能較低。不過,管理者可以使用系統軟體将這些主機闆集合成一個伺服器叢集。在叢集模式下,所有的主機闆都可以連接配接起來,進而提供高速的網絡環境,并且它們還會共享資源,為相同的使用者群服務。在叢集中插入新的“刀片”即可提高整體性能。而由于每塊“刀片”都是熱插拔的,是以,系統可以輕松地進行替換,并且将維護時間減少到最小。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

3.塔式伺服器—更強壯的計算機

塔式伺服器(Tower Server)應該是最容易了解的一種伺服器結構類型,因為它的外形及結構都與立式PC差不多(如圖0-7所示)。當然,由于伺服器的主機闆的擴充性較強,插槽也多出了若幹個,是以外觀會比普通主機闆大一些,是以塔式伺服器的主機機箱也比标準的ATX機箱要大,一般都會預留足夠的内部空間以便日後進行硬碟和電源的備援擴充。但這種類型的伺服器具有不少局限性,比如,在需要多台伺服器同時工作以滿足較高的伺服器應用需求時,由于其個體比較大,占用空間比較多,也不友善管理,是以會顯得很不适合。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

0.3 網際網路公司的伺服器品牌

國内網際網路公司使用的伺服器品牌比較多,從筆者及同行和學員從事的網際網路公司來看,DELL品牌的伺服器是最多的,也是成本效益較高的,下面筆者将比較了解的品牌整理成一個簡表,見表0-2。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

需要說明的是,現在越來越多的企業直接購買雲服務了,是以,伺服器硬體也逐漸落寞。随着雲伺服器的發展,中小企業直接購買硬體的機會也越來越少,各類硬體工程師的崗位和前景越來越不明朗,建議這部分人員加速轉行到Linux運維或者Python開發的領域(在這兩個領域上,他們之前用到的技術都可以疊加到Linux運維上)。

0.4 伺服器品牌詳解及對應型号

1. Dell伺服器

如表0-3所示的是Dell伺服器生産與使用的時間,以及對應的U數,讀者可以參考。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

下面推薦一些查詢DELL伺服器配置的方式。

圖0-9~圖0-12以Dell R720 2U伺服器為例說明了伺服器的外部結構。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

2. IBM伺服器

IBM伺服器的型号及對應的U數見表0-4。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

IBM伺服器品質好,但價格貴,網際網路公司不太常用,僅作了解即可。

目前來看,“IOE”代表了全球三個領域裡最好的品牌,即IBM伺服器、Oracle(甲骨文資料庫)和Emc(存儲廠商裝置),但網際網路公司從2010年起就在提倡去IOE,代表企業為阿裡巴巴集團,企業去IOE的本質是企業變大以後,購買IOE的成本開銷會成倍增加,而且IOE的裝置都是黑盒運作,并不能為企業完全掌控,受限于廠商。

0.5 伺服器(計算機)核心零部件介紹

圖0-13為拆開蓋子後的Dell伺服器内部結構圖,讀者可以通過此圖了解Dell伺服器的内部結構資訊,其中對相關區域做了簡單标記。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

0.5.1 電源

電源相當于人體的心髒,需保障電力供應,如果要買伺服器,請選擇品質好的電源。

在生産中,若是單個伺服器負責核心業務,那麼最好使用雙電源,分别接機房A、B線路。如果伺服器是叢集中的一台(若幹機器做一件事),那麼可以不用雙電源。除此之外,運維工作就不用再過多考慮電源的其他問題了。

電源的代表示例如圖0-14和圖0-15所示。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

0.5.2 CPU處理器

CPU處理器相當于人體的大腦,負責整個計算機的運算和控制,是影響伺服器性能效率的最核心部件(如圖0-16所示)。

CPU常見的種類分為精簡指令集和複雜指令集兩類,具體說明如下。

精簡指令集的CPU設計代表有SUN公司的SPARC系列和ARM系列等,這類CPU的設計特點是指令集精簡,每個指令執行的時間很短,操作很簡單、效率較高。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

複雜指令集的設計代表有大家熟知的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.60Hz (8CPUs),~2.6GHz。

企業級常見的實體伺服器配置包括如下兩種。

  • 一般企業裡的伺服器,CPU個(顆)數為2~4顆,單個(顆)CPU是四核。記憶體總量一般是16~256GB(32GB、64GB比較常見)。
  • 用于虛拟化的主控端(例如,應用VMware(虛拟化軟體)、KVM的主機),CPU顆數可達4~8顆,記憶體總量一般是48~128GB,正常企業可以同時啟動6~10個虛拟機,甚至更多,主要是根據業務需求決定虛拟機的配置大小。

CPU長時間運作會發熱,是以需要配置降溫的裝置,即CPU風扇或散熱片(如圖0-17和圖0-18所示),散熱片主要是用金屬銅或者鋁制作的,目的是将熱量快速傳導出去。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎
帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

在企業級系統運維中,選擇CPU硬體配置,以及監測和優化伺服器系統的CPU性能,是運維人員的常見工作之一。CPU的優化是一項複雜的工作,需要長期的實踐和反複觀察,由于這部分内容的難度很大且複雜,筆者在後期出版的系列進階技術圖書中會加重筆墨,讀者可以重點關注。

0.5.3 記憶體

記憶體(RAM)是CPU和磁盤之間的緩沖裝置(如圖0-19所示),是臨時存儲器(用于存放資料)。若斷電,資料就會丢失。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

程式運作的時候,一般會被排程到記憶體中執行,伺服器關閉或程式關閉之後,資料将自動從記憶體中釋放掉。

1.程式和程序的基本概念

這裡簡單介紹程式和程序的差別,具體見表0-5。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

2.企業案例:提升使用者體驗的網站解決方案

(1)門戶(大網站)極端案例:大并發寫入案例(搶紅包、微網誌)

遇到高并發、大資料量“寫”資料的極端情況時,系統會将資料先寫到記憶體中,在資料積累了一定的量後,再定時或者定量地寫到磁盤中以減輕磁盤的壓力,減少磁盤I/O(Input/Output,磁盤的輸入/輸出),最終再将資料加載到記憶體中以對外提供通路,目的還是為了減輕對磁盤的通路壓力,相關流程如圖0-20所示。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

這種狀況的特點具體如下。

  • 優點是寫資料到記憶體時,性能高、速度快(适用于微網誌、微信、SNS(社交網)、秒殺等場景)。
  • 缺點是可能會丢失一部分在記憶體中還沒有來得及存入磁盤的資料。

解決資料丢失的方法具體如下。

  • 在伺服器主機闆上安裝蓄電池,在斷電後當機前瞬間将記憶體資料回寫到磁盤。
  • UPS(一組蓄電池)不間斷供電(IDC資料中心機房一般都會用UPS持續供電)。UPS(Uninterruptible Power System/Uninterruptible Power Supply),即不間斷電源,是将蓄電池(多為鉛酸免維護蓄電池)與主機相連接配接,通過主機逆變器等子產品電路将直流電轉換成市電的系統裝置。
  • 選雙路電的機房,使用雙電源、分别接不同路的電,以及将伺服器放到不同的機櫃中,将企業業務放置到不同的地區(異地)。
  • 柴油發電機+油罐,機房一般會與附近的加油站簽訂緊急供油協定。

(2)中小型企業案例

對于并發通路(可簡單了解為同時通路的數量)不是很大、資料量也不是特别大的網站,若是業務讀多寫少,則會先将資料寫入磁盤中,然後通過程式将寫到磁盤的資料讀到記憶體中,再對外通過讀取記憶體提供通路服務(如圖0-21所示)。絕大多數企業的業務邏輯還是讀請求(例如,浏覽頁面)多于寫請求(例如,寫文章、發朋友圈)。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

3.企業Linux面試題:計算機作業系統中,緩沖區和緩存區有什麼差別?

對于新手,可參考如下說明來了解或解答。

(1)緩沖區

将資料寫入記憶體,這個資料的記憶體空間在Linux系統裡一般稱為緩沖區(buffer),例如,寫入到記憶體緩沖區,即寫緩沖。

為了提高寫操作性能,資料在寫入最終媒體或下一層級媒體之前會合并放入緩沖區中。這樣會增加資料持久寫的延時,因為第一次寫入緩沖區後,在向下寫入資料之前,還要等待後續的寫入,以便湊夠資料或者定時寫入到永久存儲媒體中。

(2)緩存區

從記憶體中讀取資料,這個存資料的記憶體空間在Linux系統裡一般稱為緩存區(cache),例如,從記憶體緩存區讀取,即讀緩存。

作業系統利用緩存提高檔案系統的讀性能和記憶體的配置設定性能,應用程式使用緩存也是為了提高讀通路效率。将經常通路的操作結果儲存在緩存中可備随時使用,而非總是執行讀磁盤以擷取資料等開銷較高的操作。

記住一句話:緩存無處不在,無論是電腦硬體、作業系統,還是企業網站叢集及其他業務系統!

0.5.4 磁盤

1.磁盤的基礎知識

磁盤就是永久存放資料的存儲器(如圖0-22、圖0-23和圖0-24所示),不過,磁盤上也是有緩存的(晶片)。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

常用的磁盤(硬碟)都是3.5英寸的,正常的機械硬碟,讀取(性能不高)性能相比記憶體差很多,是以,在企業中,我們才會将大量的資料緩存到記憶體中,寫入到緩沖區中,這是當今網際網路網站必備的解決網站通路速度慢的方案。

磁盤的接口包括IDE、SCSI、SAS、SATA等種類,其中IDE、SCSI已退出曆史舞台。

磁盤的類型又分為機械磁盤和SSD(固态硬碟)兩種。

性能與價格排序(從高到低):SSD(固态硬碟)>SAS> SATA。

2.磁盤的相關機關

現在生産的單塊磁盤的容量越來越大,體積卻越來越小,速度也越來越快,其中,常見的磁盤有300GB、600GB、1TB、3TB、4TB等規格。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

3.計算機與伺服器的各硬體I/O對比

I/O(Input/Output)即輸入/輸出,一般翻譯為讀寫。衡量磁盤讀寫速度的機關是iops,即input/output per second(每秒的輸入輸出)。

通過圖0-25不難發現,CPU的速度最快,其次是記憶體,最慢的就是硬碟和網卡了。圖0-25可以幫助讀者了解不同裝置的性能差距,未來做運維工作的時候,可從速度慢、瓶頸大的裝置進行改進和轉化。

4.小結

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎
  • 企業級硬碟适合7×24小時持續使用,一般較貴,與筆記本電腦以及家用台式電腦的硬碟有差別(工業級和家用)。
  • 對于企業高并發網站來講,系統都會盡量讓使用者從記憶體中讀取資料,而不是硬碟。
  • 企業運維和架構師做網站優化,以及伺服器、軟體優化的核心本質,幾乎都是在調整磁盤和記憶體之間的使用比例。

    圖0-26所示的是緩存在伺服器各硬體上的速度和大小對比另類次元圖解,從上到下由高速到低速,容量從小到大。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

0.5.5 Raid卡(陣列卡)

當企業的網站(業務)資料量很大,單塊盤裝不下了的時候,若購買多塊硬碟存放資料,則需要利用工具(Raid)将所有硬碟整合成一個大磁盤,再在這個大磁盤上分區(劃分隔斷、虛拟磁盤)存放資料,但是硬碟多了勢必會有損壞,可資料是不能丢的。是以,Raid還具備另一大功能,就是多塊硬碟放置在一起可以配置備援(備份),即使若幹硬碟有損壞,資料也不會丢失,又因為業務對多塊硬碟存儲的資料通路效率也有需求,是以,Raid分成了不同的級别。比如,Raid0、Raid1、Raid10、Raid5等,更多具體劃分情況将在本書後文詳細說明。

那麼,什麼是Raid呢?它其實是一種技術,稱為磁盤備援陣列,Raid的實作有軟Raid(即軟體實作)和硬Raid(即硬體實作),二者的主要差別就是,硬體Raid的實作性能、備援都更好、更高。不過,在企業真正的重要伺服器裡,Raid幾乎是不被采用的,請讀者注意這點。

1. Raid卡(陣列卡)的好處

  • 可以将所有硬碟整合到一起(擴充容量)。
  • 可以使得資料更加安全(資料備援)。
  • 可以獲得更高的效率(讀寫性能)。

如果有Raid卡,則一般會将磁盤連接配接到Raid卡上,而不是直接插到主機闆上,Raid卡最終将插到主機闆對應的插槽裡。

與Raid卡相關的内容如圖0-27和圖0-28所示。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

前面已經提到過,Raid分軟Raid和硬Raid,其中,硬Raid卡又分兩種,具體如下:

  • 伺服器闆載Raid卡,缺點是隻支援Raid0或Raid1級别。
  • 獨立Raid卡,支援更多功能。

2. Raid的多種整合方式(Raid級别)

Raid級别有很多種,常見的Raid級别有Raid0、Raid1、Raid5、Raid10。

網際網路公司的伺服器一般都會購買獨立Raid卡,Raid卡上也是有緩存的,具體說明如下:

  • 備援從好到壞:Raid1、Raid10、Raid5、Raid0
  • 性能從好到壞:Raid0、Raid10、Raid5、Raid1
  • 成本從低到高:Raid0、Raid5、Raid1、Raid10
帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

0.5.6 光驅

光驅作為一個裝置也已經幾乎退出曆史舞台了,幾乎所有的影視劇、音樂等也都不再使用光驅發行。

在企業應用中,光驅主要用于為伺服器裝系統,不過,出于為公司省錢考慮,可在購買伺服器時淘汰光驅,換成下面的高效安裝方式。

  • 用U盤做鏡像來安裝系統。
  • 還可以使用更高端的網絡安裝(ftp、http),無人值守批量安裝系統(pxe+ kickstart)。

參考文檔:

http://blog.oldboyedu.com/autoinstall-kickstart/ http://blog.oldboyedu.com/autoinstall-cobbler/

以下課程裡提供了無人值守安裝的面授課程和視訊課程,讀者有需要可以進入www.oldboyedu.com 咨詢。

0.5.7 遠端管理卡

遠端管理卡是伺服器特有的遠端管理部件,在家用電腦及筆記本電腦上是不存在的,如圖0-29所示。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

遠端控制卡的作用是通過網絡遠端(異地)開關伺服器,并可以檢視伺服器開關的過程等資訊,早期(2010年以前),伺服器托管在IDC機房,如果出現問題,運維人員必須親自到機房或者請機房中的人管理,有了管理卡之後,運維人員管理伺服器的效率就大大提高了。

遠端管理卡分為伺服器自帶遠端管理卡和獨立遠端管理卡兩類。伺服器自帶的遠端管理卡,可以關機、開機,但是看不到開關伺服器的過程。是以,建議為伺服器配備獨立的遠端管理卡,成本上可能會多花人民币100元左右,但是好處是很明顯的,當伺服器出現問題時,不用打車或出差,也不用給機房人員打電話,而是可以利用管理卡快速檢視伺服器故障及恢複服務。

0.5.8 機房裡的伺服器

伺服器一般是存放在機房的機櫃裡面的,一定要為伺服器的各類線貼上規範标簽,标記出每根線的用途等必要資訊,如圖0-30和圖0-31所示。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

作為一名專業的Linux運維人員,不僅要熟悉Linux運維基礎,在工作中也需要更專業和規範,下面是關于運維人員專業性的一篇文章,希望能提供一些啟發:

http://blog.51cto.com/oldboy/2083789

0.5.9 主機闆(普通電腦)

主機闆實際上就是一塊電路闆,相當于人體的骨架,CPU、記憶體、磁盤、Raid卡等所有硬體裝置最終都要連接配接在主機闆上,才能正常工作。圖0-32展示的是普通台式電腦的主機闆示意。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

這裡主要介紹一下南橋晶片、北橋晶片和BIOS晶片。

南橋晶片(South Bridge)是主機闆晶片組的重要組成部分,一般位于主機闆上離CPU插槽較遠的下方、PCI插槽的附近。這種布局是考慮到它所連接配接的I/O總線較多,離處理器遠一點有利于布線。相對于北橋晶片來說,其資料處理量并不算大,是以南橋晶片一般都沒有覆寫散熱片。南橋晶片不與處理器直接相連,而是通過一定的方式(不同廠商的各種晶片組有所不同,例如,英特爾的英特爾Hub Architecture以及SIS的Multi-Threaded“妙渠”)與北橋晶片相連。

南橋晶片負責I/O總線之間的通信,如PCI總線、USB、LAN、ATA、SATA、音頻控制器、鍵盤控制器、實時時鐘控制器、進階電源管理等,這些技術相對來說一般比較穩定,是以在不同的晶片組中,它們的南橋晶片可能是一樣的,不同的隻是北橋晶片。南橋晶片的發展方向主要是內建更多的功能,例如網卡、Raid、IEEE 1394,甚至是Wi-Fi無線網絡等。圖0-32中,中間靠下的那個較大的晶片就是主機闆的南橋晶片。

北橋晶片(North Bridge)負責與CPU聯系,并且會控制記憶體、AGP資料在北橋内部傳輸,提供對CPU的類型和主頻、系統的前端總線頻率、記憶體的類型(SDRAM、DDR SDRAM以及RDRAM,等)和最大容量、AGP插槽、ECC糾錯等的支援,整合型晶片組的北橋晶片還內建了顯示核心。北橋晶片就是主機闆上離CPU最近的晶片,這主要是考慮到北橋晶片與處理器之間的通信最為密切,是以,為了提高通信性能而縮短了傳輸距離。因為北橋晶片的資料處理量非常大,發熱量也越來越高,是以現在的北橋晶片都覆寫着散熱片以加強散熱,有些主機闆的北橋晶片還會配合風扇進行散熱。

BIOS(Basic Input Output System)晶片(CMOS晶片)(如圖0-33所示)負責主機闆通電後各部件的自檢、設定和儲存,一切正常後才能啟動作業系統。其記錄了電腦最基本的資訊,是軟體與硬體打交道的最基礎的橋梁,沒有它,電腦就不能正常工作。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

常見的三種BIOS分别為Award、AMI、Phoenix。

0.6 計算機和伺服器的主要構成圖解

一台計算機是由許許多多的零部件組成的,隻有這些零部件組合在一起協調地工作,才能稱之為計算機(如圖0-34所示)。計算機發展到現在,雖然零部件都發生了很大的變化,但其工作原理卻沒有改變,其中包括主機闆、CPU、記憶體、硬碟、顯示卡、聲霸卡等,其基本工作原理如圖0-35所示。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

首先,使用者通過滑鼠、鍵盤等輸入裝置,将文字、圖形等傳給計算機,通過CPU(複制控制和計算)進行處理,需要永久存儲的資料将會存儲到硬碟裡,需要持久執行的程式将會排程到記憶體(RAM)裡運作,需要顯示的資訊将會通過顯示器等裝置顯示給使用者。

圖0-36所示的是計算機硬體裝置的三角形圖解,可為讀者了解計算機裝置提供參考。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

上文有關電腦硬體的介紹純屬掃盲用的,讀者了解一些硬體基礎就夠用了,下面将詳細講解伺服器的核心部件組成及相關的知識點,這對于想了解企業Linux運維工作核心的讀者來說就是關鍵的知識了。

0.7 計算機系統基礎

0.7.1 馮·諾依曼計算機

提到計算機,就不得不提及在計算機的發展史上做出傑出貢獻的著名應用數學家馮·諾依曼(Von Neumann),是他帶領專家提出了一個全新的存儲程式的通用電子計算機方案。這個方案規定了新機器由5個部分組成:運算器、邏輯控制裝置、存儲器、輸入和輸出(如圖0-37所示)。并描述了這5個部分的職能和互相關系。這個方案與早期的ENIAC相比,有兩個重大改進:一是采用二進制;二是提出了“存儲程式”的設計思想,即用記憶資料的同一裝置存儲執行運算的指令,使程式的執行可以自動地從一條指令進入下一條指令。這個概念被譽為計算機史上的一個裡程碑。計算機的存儲程式和程式控制原理是以稱為馮·諾依曼原理,按照上述原理設計制造的計算機稱為馮·諾依曼機。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

簡單概括就是,馮·諾依曼計算機結構包含3條重要的設計思想,具體如下。

  • 計算機應由運算器、控制器、存儲器、輸入裝置和輸出裝置5大部分組成。
  • 以二進制的形式表示資料和指令。
  • 程式預先存入存儲器中,計算機在工作中能夠自動地從存儲器中取出程式指令并加以執行。

0.7.2 計算機系統的基本工作原理

1.計算機的指令系統

指令是指能被計算機識别并執行的二進制代碼,它規定了計算機能夠完成的某一種操作。一條指令通常由如下兩個部分組成:

  • 操作碼:它用于指明該指令要完成的操作,如存數、取數等。操作碼的位數決定了一個機器指令的條數。當使用定長度操作碼格式時,若操作碼位數為n,則指令條數可有2n條。
  • 操作數:它是指操作對象的内容或者所在的單元格位址。在大多數情況下,操作數是位址碼,位址碼有0~3位。從位址代碼得到的僅是資料所在的位址,既可以是源操作數的存放位址,也可以是操作結果的存放位址。

2.計算機的工作原理

計算機的工作過程實際上是快速地執行指令的過程。計算機在工作時,共有兩種資訊在流動,一種是資料流,另一種是控制流。

資料流是指原始資料、中間結果、結果資料、源程式等。控制流是由控制器對指令進行分析、解釋後向各部件發出的控制指令,用于指揮各部件之間協調地工作。

下面通過指令的執行過程來認識計算機的基本工作原理吧!計算機的指令執行過程可分為如下幾個步驟。

1)取指令。從記憶體儲器中取出指令送到指令寄存器。

2)分析指令。對指令寄存器中存放的指令進行分析,由譯碼器對操作碼進行譯碼,将指令的操作碼轉換成相應的控制電信号,并由位址碼确定操作數的位址。

3)執行指令。它是由操作控制線路發出的完成該操作所需要的一系列控制資訊,以完成該指令所需要的操作。

4)為執行下一條指令做準備。形成下一條指令的位址,指令計數器指向存放下一條指令的位址,最後控制單元将執行結果寫入記憶體。

上述步驟執行完畢後,也就完成了一條指令,一條指令的執行過程稱為一個“機器周期”。指令的執行過程如圖0-38所示。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

計算機在運作時,CPU從記憶體讀取一條指令到CPU内執行,指令執行完畢,再從記憶體讀取下一條指令到CPU執行。CPU不斷地讀取指令、分析指令、執行指令,再讀取下一條指令,這就是程式的執行過程。

總之,計算機的工作就是執行程式,即自動連續地執行一系列指令,而程式開發人員的工作就是編制程式,使計算機持續地工作。

0.7.3 計算機資料記錄機關

由于計算機是通過電位記錄資訊的,是以僅能識别0和1這兩個數字,故而在計算機内部,資料都是以二進制的形式存儲和運算的,下面就來介紹計算機資料的常用計量機關。

1.位(bit)

計算機存儲資料的最小機關為位(bit),中文稱為比特,一個二進制位隻能表示0或1兩種狀态,若要表示更多的資訊,則要将多個位組合成一個整體,一般以8位二進制組成一個基本機關。由于比特這個機關太小了,是以用比特作為機關的情況比較少,網絡帶寬速率一般用Mbit/s來表示,正常的下載下傳速度就是1Mbit/s=128KBytes/s,這就是購買了1MB的帶寬,而實際下載下傳速度為128 KBytes/s的原因。

2.位元組(Byte)

位元組是計算機資料處理的基本機關。位元組(Byte)簡記為B,規定1位元組為8位,即1B=8bit。每位元組由8位二進制組成。一般情況下,一個ASCII碼占用1位元組,一個漢字占用2~4位元組。

3.資料的換算關系

1Byte=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB,1PB=1024TB,1EB=1024PB,1ZB=1024EB

0.7.4 計算機常用計數制

用若幹數位(由數位表示)的組合去表示一個數,各個數位之間是什麼關系,即逢“幾”進位,這就是進位計數制的問題,也就是數制問題。數制,即進位計數制,是人們利用數字元号按進位原則進行資料大小計算的方法。通常是以十進制來進行計算的,另外,還有二進制、八進制和十六進制等。

在計算機的數制中,讀者需要掌握3個概念,即數位、基數和位權。下面簡單介紹一下這3個概念。

  • 數位:一個數制中表示基本數值大小的不同數字元号。例如,八進制有8個數位,即0、1、2、3、4、5、6、7。
  • 基數:一個數值所使用的數位的個數。例如,八進制的基數為8,二進制的基數為2。
  • 位權:一個數值中某一位上的1所表示數值的大小。例如,八進制的123,1的位權是64,2的位權是8,3的位權是1。

1.十進制(Decimal notation)

十進制的特點具體如下。

  • 包含10個數位:0、1、2、3、4、5、6、7、8、9。
  • 基數:10。
  • 逢十進一(加法運算),借一當十(減法運算)。

十進制轉換為十進制的計算式舉例說明如下。

例如,将一個整數123456轉換為十進制表示的計算式為:

123456=1×105+2×104+3×103+4×102+5×101+6×100

2.二進制(Binary notation)

二進制的特點具體如下。

  • 包含兩個數位:0、1。
  • 基數:2。
  • 逢二進一(加法運算),借一當二(減法運算)。

二進制轉換為十進制的計算式舉例說明如下。

例如,将一個二進制數1101轉換為十進制表示的計算式為:

1×20+0×21+1×22+1×23=13

3.八進制(Octal notation)

八進制的特點具體如下。

  • 包含8個數位:0、1、2、3、4、5、6、7。
  • 基數:8。
  • 逢八進一(加法運算),借一當八(減法運算)。

八進制轉換為十進制的計算式舉例說明如下。

例如,将一個八進制數123轉換為十進制表示的計算式為:

3×80+2×81+1×82=83

4.十六進制(Hexadecimal notation)

十六進制的特點具體如下。

  • 包含16個數位:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
  • 基數:16。
  • 逢十六進一(加法運算),借一當十六(減法運算)。

在16個數位中,A、B、C、D、E和F這6個數位分别代表十進制的10、11、12、13、14和15,這是國際上通用的表示法。

十六進制轉換為十進制的計算式舉例說明如下。

例如,将一個十六進制數5F3A轉換為十進制表示的計算式為:

10×160+3×161+16×162+5×163=24 634

二進制數與其他數之間的對應關系如表0-6所示。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

0.8  計算機中資料的表示

0.8.1  數值資料的表示

1.機器數和真值

計算機中使用的是二進制,是以隻有0和1這兩種值。一個數在計算機中的表示形式,稱為機器數。機器數所對應的原來的數值稱為真值,由于采用二進制必須将符号數字化,是以通常是利用機器數的最高位作為符号位的,但僅用來表示數符。若該位為0,則表示正數;若該位為1,則表示負數。機器數也有不同的表示方法,常用的機器數共有3種:原碼、補碼和反碼。

機器數的表示方法:用機器數的最高位代表符号(若為0,則代表正數;若為1,則代表負數),其數值位為真值數的絕對值。舉例用8位二進制數表示一個數,如圖0-39所示。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

在數的表示中,機器數與真值的差別是:真值帶符号如-0011100,機器數不帶數符,最高位為符号位,如10011100,其中最高位1代表符号位。

例如,真值數為-0111001,其對應的機器數為10111001,其中最高位為1,表示該數為負數。

2.原碼、反碼、補碼的表示

在計算機中,符号位和數值位都是用0和1來表示的,在對機器數進行處理時,必須考慮對符号位的處理,也就是對符号和數值的編碼方法。常見的編碼方法有原碼、反碼和補碼這3種方法。下面分别讨論這3種方法的使用。

(1)原碼的表示

一個數X的原碼表示為:符号位用0表示正,用1表示負;數值部分為X的絕對值的二進制形式。這裡将X的原碼表示記為[X]原。

例如,當X=+1100001時,則[X]原=01100001。

當X=-1110101時,則[X]原=11110101。

在原碼中,0有兩種表示方式,分别如下。

當X=+0000000時,[X]原=00000000。

當X=-0000000時,[X]原=10000000。

(2)反碼的表示

一個數X的反碼表示方法為:若X為正數,則其反碼與原碼相同;若X為負數,則在原碼的基礎上,符号位保持不變,數值位各位取反。這裡将X的反碼表示記為[X]反。

例如,當X=+1100001時,則[X]原=01100001,[X]反=01100001。

當X=-1100001時,則[X]原=11100001,[X]反=10011110。

在反碼表示中,0也有兩種表示形式,具體如下:

當X=+0時,則[X]反=00000000。

當X=-0時,則[X]反=10000000。

(3)補碼的表示

一個數X的補碼表示方式為:當X為正數時,則X的補碼與X的原碼相同;當X為負數時,則X的補碼,其符号位與原碼相同,其數值位取反加1。這裡将X的補碼表示記為[X]補。

例如,當X=+1110001,則[X]原=01110001,[X]補=01110001。

當X=-1110001,則[X]原=11110001,[X]補=10001111。

0.8.2 非數值資料的表示

計算機中使用的資料有數值型資料和非數值型資料兩大類。數值資料用于表示數量意義;非數值資料又稱為符号資料,包括字母和符号等。計算機除了要處理數值資訊之外,還需要處理大量字元資訊。例如,将用進階語言編寫的程式輸入到計算機時,人與計算機通信時所用的語言就不再是一種純數字語言而是字元語言。由于計算機中隻能存儲二進制數,這就需要對字元進行編碼了,進而建立起字元資料與二進制串之間的對應關系,以便于計算機識别、存儲和處理。這裡介紹兩種符号資料的表示。

1.字元資料的表示

計算機中用得最多的符号資料就是字元,它是使用者和計算機之間的橋梁。使用者使用計算機的輸入裝置,通過鍵盤上的字元鍵向計算機内輸入指令和資料,計算機将處理後的結果以字元的形式輸出到螢幕或列印機等輸出裝置上。字元的編碼方案也有很多種,但使用最廣泛的是ASCII碼(American Standard Code for Information Interchange)。ASCII碼開始時是美國國家資訊交換标準字元碼,後來被采納為一種國際通用的資訊交換标準代碼。

ASCII碼由0~9這10個數符,52個大、小寫英文字母,32個符号及34個計算機通用控制符組成,共有128個元素。因為ASCII碼總共有128個元素,是以使用二進制編碼表示時需用7位。任意一個元素均由7位二進制數表示,從0000000到1111111共有128種編碼,可用來表示128個不同的字元。ASCII碼表的查表方式是:先查列(高三位),後查行(低四位),然後按從左到右的書寫順序完成,如B的ASCII碼為1000010。在ASCII碼進行存放時,由于它的編碼是7位,且因1位元組(8位)是計算機中常用的機關,故仍以1位元組來存放1個ASCII碼字元,每位元組中多餘的最高位取0。如表0-7所示為7位ASCII碼字元編碼表。

帶你讀《跟老男孩學Linux運維:核心基礎篇(上)(第2版)》之一:計算機硬體與組成基礎第0章 計算機硬體與組成基礎

由表0-7可知,ASCII碼字元可分為如下兩大類。

  • 列印字元:從鍵盤輸入并顯示的95個字元,如大小寫英文字母各26個,數字0~9這10個數字字元的高3位編碼(D6D5D4)為011,低4位為0000~1001。當去掉高3位時,低4位正好是二進制形式的0~9。
  • 不可列印字元:共33個,其編碼值為0~31(0000000~0011111)和(1111111),不對應任何可印刷字元。不可列印字元通常為控制符,用于計算機通信中的通信控制或對裝置的功能控制。如編碼值為127(1111111),是删除控制DEL碼,它用于删除光标之後的字元。

ASCII碼字元的碼值可用7位二進制代碼或2位十六進制代碼來表示。例如字母D的ASCII碼值為(1000100)2或84H,數字4的ASCII碼值為(0110100)2或34H等。

2.漢字的存儲介紹

英語是拼音文字,所有文字均由26個字母拼組而成,是以使用1位元組表示一個字元就足夠了。但漢字是象形文字,漢字的計算機處理技術比英文字元要複雜得多,一般用2位元組表示一個漢字。由于漢字有一萬多個,常用的也有六千多個,是以編碼采用2位元組的低7位共14位二進制來表示。

常用的、支援漢字的計算機字元編碼有UTF8、GB2312、GBK等。更多資訊請參考

https://baike.baidu.com/item/%E6%B1%89%E5%AD%97%E7%BC%96%E7%A0%81/7123465

0.9 計算機硬體基礎問題小結

1)你用過的伺服器型号有哪些?具體的配置有哪些?

2)程式、程序和守護程序有什麼差別?

3)提升使用者體驗的網站優化解決方案有哪些?

4)談談計算機中buffer與cache的簡單差別。

5)描述Raid 0、Raid1的主要特點。

6)描述電腦的主流硬體作用及其之間的關系(CPU、記憶體、磁盤)。

7)描述馮·諾依曼計算機的設計思想。

8)請描述計算機資料的多種機關與換算。

9)什麼是二進制,計算機是如何用二進制表示資料的。

10)為什麼買來的硬碟的實際大小比它标稱的大小小?

11)運維人員的三大核心工作職責是什麼?

0.10 本章相關資料

1)十進制如何轉換為二進制?

https://jingyan.baidu.com/article/597a0643614568312b5243c0.html

2)企業真實DELL伺服器硬體手把手拆卸介紹視訊

http://v.qq.com/page/g/x/y/g016789xvxy.html

繼續閱讀