Linux實戰教學筆記02:電腦系統硬體核心知識

来源:http://www.cnblogs.com/chensiqiqi/archive/2016/12/23/6216075.html
-Advertisement-
Play Games

標簽(空格分隔):Linux實戰教學筆記 陳思齊 第1章 互聯網企業常見伺服器介紹 1.1 互聯網公司伺服器品牌 DELL(大多數公司,常用) HP IBM(百度在用) 浪潮 聯想 航天聯志 常見伺服器品牌 ![屏幕快照 2016 12 23 下午12.54.16.png 537kB][1] 1.1 ...


標簽(空格分隔):Linux實戰教學筆記-陳思齊


第1章 互聯網企業常見伺服器介紹

1.1 互聯網公司伺服器品牌

- DELL(大多數公司,常用)
- HP
- IBM(百度在用)

  • 浪潮
  • 聯想
  • 航天聯志

常見伺服器品牌
屏幕快照 2016-12-23 下午12.54.16.png-537kB

1.1.1 Dell伺服器品牌

屏幕快照 2016-12-23 下午12.56.09.png-230.7kB

屏幕快照 2016-12-23 下午1.26.31.png-691.9kB
加上蓋子
屏幕快照 2016-12-23 下午1.27.30.png-383.1kB

  • DELL R620
    屏幕快照 2016-12-23 下午1.28.00.png-425.6kB

    1.1.2 IBM品牌

    1U 3550/m3 3550/m5
    2U 3650
    4U 3850
    8U 3950
    僅作瞭解,質量好,但價格貴,互聯網公司不太常用
    IOE(IBM oracle emc)

1.1.3 HP 品牌

DL380G7/G8(2u)

1.2 伺服器主要零部件

1.2.1 電源

相當於人體的心臟,保障電源供應,要選擇質量好的電源。生產中一般單個伺服器核心業務最好使用雙電源AB線路。如果集群(一堆機器做一件事情)的情況可以不用雙電源。

屏幕快照 2016-12-23 下午2.02.15.png-1913.1kB

1.2.2CPU 處理器

相當於人體的大腦,負責電腦的運算和控制,是伺服器性能效率的最核心部件。 常見品牌:Intel,AMD

屏幕快照 2016-12-23 下午2.05.04.png-1333.1kB

  • 一般的企業里的伺服器,CPU顆數2-4顆,單顆CPU是4核。記憶體總量一般是16-256G(32G,64G)
  • 做虛擬化的宿主機(eg:安裝vmware的主機),CPU顆數4-8顆,記憶體總量一般是48-128G,6-10個虛擬機。

屏幕快照 2016-12-23 下午2.10.32.png-791.7kB

1.2.3 記憶體

CPU和磁碟之間的緩衝設備,是臨時存儲器(存放數據),斷電數據丟失。 一般程式運行的時候會被調度到記憶體中執行,伺服器關閉或程式關閉之後,數據自動從記憶體中釋放掉。

  • 片===硬碟===程式
  • 播放片===被運行起來的程式===進程
  • 沒完沒了播放片==(住院)==一直在運行的程式===守護進程

程式:c/php/java,代碼文件,靜態的,放在磁碟里的數據。
進程:正在運行著的程式,進程運行就是系統把程式放在記憶體里執行
守護進程(daemon):持續保持運行著的程式。

程式和進程的區別:

  • 電影放在磁碟里就是程式
  • 看片放到記憶體里就相當於進程
  • 電腦重啟,記憶體的數據會釋放掉

從開發角度對守護進程的解釋:

運行或者執行任何服務都脫離不開電腦的底層協議TCP/IP協議,而想要操作TCP/IP協議就需要用到電腦的底層語言C語言,但是C語言用起來很麻煩,通常要實現一個很小的功能都需要寫上好幾十甚至上百行代碼,太繁瑣。於是就有人想到,將一些可以實現某個功能的C語言代碼封裝起來,然後起一個新的名詞,那麼用這個新的名詞來告訴電腦自動執行封裝的那麼一大堆C代碼,這樣就方便多了。於是,慢慢的這類型的新辭彙多了以後,漸漸組成了現在我們常見的編程語言,比如:java,python,C#。而我們知道如果我們利用xshell來遠程伺服器的時候,需要通過ssh協議並訪問伺服器的22埠。之所以,能夠聯通,是因為伺服器端始終有一個叫做sshd服務的進程在監聽著22埠,這個服務就是通過python等類似語言繼續封裝出來的程式,由於它不斷的在伺服器的後臺運行,始終守護且監聽著伺服器的22埠,所以我們就叫它們為守護進程。

1.2.4 磁碟

磁碟就是永久存放數據的存儲器,磁碟上也是有緩存的(晶元)。
常用的磁碟(硬碟)都是3.5英寸的(ide,sas,sata),常規的機械硬碟,讀取(性能不高)性能比記憶體差很多,所以,在企業工作中,我們才會把大量的數據緩存到記憶體,寫入到緩衝區,這是當今互聯網網站的解決網站訪問速度慢的方案

磁碟介面或類型:IDE,SCSI,SAS,SATA,SSD(電子的),IDE,SCSI退出歷史舞臺。
性能與價格:SSD(固態)>SAS>SATA

磁碟的大小
1byte=8bit 1K=1024byte 1M=1024K
1G=1024M 1T=1024G 1PB=1024T
位元組(byte):8個二進位位為一個位元組(B)
市面上賣硬碟的都是按1000計算,號稱500G硬碟=5001000B1000KB*1000MB

1.2.5【磁碟原理案例】

企業案例:提升用戶體驗的網站解決方案 看具體需求,然後選擇方案

1,門戶(大網站)極端案例
大併發寫入案例(搶紅包,微博)
高併發,大數據量,寫數據會把數據寫到記憶體,積累一定的量後,然後再定時或者定量的寫到磁碟(減少磁碟IO Input/Output 磁碟讀寫),最終還是會把數據載入到記憶體中再對外提供訪問。
屏幕快照 2016-12-23 下午4.46.42.png-491.7kB

特點
a,優點:寫數據到記憶體,性能高速度塊(微博,微信,SNS,秒殺)
b,缺點:可能會丟失一部分在記憶體中還沒有來得及存入磁碟的數據。
解決數據不丟的方法:
a,伺服器主板上安裝蓄電池,在斷電瞬間把記憶體數據回寫磁碟
b,UPS(一組蓄電池)不間斷供電(持續供電10分鐘,IDC數據IPS 1小時)。UPS (Uninterruptible Power
System/Uninterruptible Power
Supply),即不間斷電源,是將蓄電池(多為鉛酸免維護蓄電池)與主機相連接,通過主機逆變器等模塊電路將直流電轉換成市電的系統設備。
c,選雙路電的機房,使用雙電源,分別接不同路的電,伺服器要放到不同的機櫃,地區。

2,中小企業案例

對於併發不是很大,數據也不是特別大的網站,讀多寫少的業務,會先把數據寫入到磁碟,然後再通過程式把寫到磁碟的數據讀入到記憶體里,再對外通過讀記憶體提供訪問服務。
屏幕快照 2016-12-23 下午4.55.37.png-286kB

屏幕快照 2016-12-23 下午4.58.51.png-572.3kB

小結:
門戶極端案例:高併發,大數據
先把數據寫到記憶體,然後再定時或定量寫到磁碟,最終還是會載入到記憶體
特點
a,高併發寫入性能高
b,可能會丟失一部分在記憶體中還沒來得及存入磁碟的數據
中小企業案例:
併發時很大的網站會先把數據存到磁碟,然後再通過程式把數據讀入到記憶體里,在對外提供訪問服務
溫馨提示
網站優化的核心就是想辦法把數據放入記憶體提供服務,或者讓用戶寫數據寫到記憶體(這樣最快)

3,企業面試題:buffer和cache什麼區別?
看視頻===>buffering把視頻數據緩存到磁碟===>寫數據到磁碟上或者寫數據到記憶體中
cache===>從磁碟或者記憶體讀取數據
簡單解答:
寫入數據到記憶體里,這個數據的記憶體空間稱為緩衝區(buffer),寫入緩衝區。
存讀取數據,這個存數據的記憶體空間稱為緩存區(cache),讀取緩存區。
由於99%的網站都是以讀取為主,寫入為輔,讀寫比例至少10:1,所以併發寫入一般不是問題。

提醒: 這裡提到的記憶體和磁碟,是由多台機器組成的集群架構環境memcached(純記憶體)/redis(記憶體加磁碟)

屏幕快照 2016-12-23 下午5.15.21.png-1278.9kB

2.1 企業級伺服器應用

1,常規正式工作場景(線上的生產環境)主選SAS(結合SATA和15000轉/分,機械磁碟轉數高的性能好)
2,比較核心的業務SAS
生產環境===>已經對外提供服務的環境
3,不對外提供訪問的伺服器,例如,線下的數據備份,可選SATA(7200-10000轉/分)
SATA特點:容量大,價格便宜,但是速度比較慢。
4,高併發訪問,小數據量,可以選擇SSD

問:既然SSD最好,那是不是都選SSD?

淘寶網企業案例:

伺服器會把sata和ssd結合起來用,熱點存儲,程式動態調度。

  • 開發團隊發明瞭一套演算法,把那些訪問很集中的一些東西放在那個SSD盤上,因為SSD提供很好的讀性能,我們就讓這些80%左右的這種讀從SSD上產生,剩下的圖片我們把它放在傳統那種SAS或者更低廉的一些SATA盤上,這樣我們整個節點的性能非常好,單機可以支撐三千到四千IO,這是我們系統沒有任何顯示出訪問慢,或者其他不好的表現。
  • 因為每台機器的成本又降得非常低,如果可以,比如說追求一個大的存儲,我可以用全SSD,但是我SSD的成本相對要高很多,我可以用比較廉價的SAS或者SATA來存一些訪問頻度不是很高的,用SSD存訪問頻度高的文件,這樣整體上的性能就協調的非常好,成本也非常低。整體上可以這麼說,我們通過這樣一年的優化,在原來硬體基礎上投資50%實現了性能是原來兩倍的一個架構。現在我們總體的這種TCO是原來的1/4左右。

熱點存儲的思路非常好,在學習磁碟組成和原理的內容時,有關熱點數據的內容,必須要仔細體會。現如今看來,對很多中小型公司還是很新穎的存儲方式。順便說下,大公司無論做什麼都要考慮性價比問題,而不光是要把問題解決,因為,設備的奇數太大,做一點點就會節省非常多的成本。阿裡,聯想的大規模雲計算其實歸根結底都在解決性價比問題,否則,就無法推向市場,真正的應用到商業市場中。

2.2 緩存

記住一句話:緩存無處不在,電腦硬體,網站集群!
屏幕快照 2016-12-23 下午5.42.52.png-358.9kB
這裡做個瞭解即可
屏幕快照 2016-12-23 下午5.43.25.png-786kB

ns 納秒 1s = 10^9 ns
us 微妙 1s = 10^6 us
ms 毫秒 1s = 1000ms

2.3 DELL陣列卡(RAID卡)

基本作用
你有很多土地。
單獨管理不方便。
整合,然後管理。

  • 網站數據量很大的時候,單塊盤裝不下了,購買多塊盤,又不想單個盤存放數據,就需要工具把所有的盤整合成一個大磁碟,再在這個大磁碟上在分區(虛擬磁碟)方數據
  • 另外一大功能,多塊盤放在一起可以有冗餘(備份)。
    RAID有很多種整合方式,RAID 0 1 5 10
    有RAID卡後,一般磁碟就會插到RAID卡上,而不是直接插到主板上了
    屏幕快照 2016-12-23 下午5.53.44.png-1414.8kB
    互聯網公司伺服器一般都會購買RAID卡(主板自帶,獨立RAID卡),RAID卡上也是有緩存的。
  • 冗餘從好到壞:raid1,raid10,raid5,raid0
  • 性能從好到壞:raid0,raid10,raid5,raid1
  • 成本從低到高:raid0,raid5,raid1,raid10

不同RAID級別的企業應用舉例:
根據數據的存儲和訪問的需求,去匹配對應的RAID級別。====>適用於互聯網公司

  • 單台伺服器,很重要,盤不多,系統盤raid1
  • 資料庫/存儲伺服器,主庫raid10,從庫raid5/raid0(為了維護成本,raid10)
  • web伺服器,如果沒有太多數據的話,raid5,raid0(單盤)
  • 有多台,監控/應用伺服器,raid0,raid5.

2.3.1 raid0,1,5,10 簡要特點描述

  • Raid 0:追求極致的數據傳輸速度的磁碟存儲解決方案(最快)

速度最快,但安全性最低,一塊磁碟出了問題,所有的數據都會損壞且無法修複

  • Raid 1:追求極致的數據安全的磁碟存儲解決方案(最安全)

安全性最高,但磁碟利用率最低,只有50%。

  • Raid 5:追求數據安全和存儲成本兼顧的磁碟存儲解決方案(比Raid10成本低)

數據讀取比較快,但是寫入速度一般。磁碟利用率高於Raid1

  • Raid 10:追求數據傳輸和數據安全兼顧的磁碟存儲解決方案(比Raid5性能高)

Raid10是Raid0和Raid1的組合體。Raid1這裡就是一個冗餘的備份陣列,而Raid0則負責數據的讀寫陣列。擁有極高的讀寫效率和數據安全保護。但是磁碟利用率低,價格比較貴。

2.4光碟機

當下主要作用裝系統
企業應用:
建議淘汰光碟機,為老闆省錢
U盤安裝系統,網路安裝(ftp,http),無人值守批量安裝系統(pxe+kickstart)

2.5 主板

屏幕快照 2016-12-23 下午6.06.29.png-2574.1kB

2.5.1 機房機櫃里的伺服器擺放

標簽===>標記出每根線的用途
屏幕快照 2016-12-23 下午6.08.14.png-1894.7kB

屏幕快照 2016-12-23 下午6.08.56.png-1658.3kB

專業佈線:什麼是專業的,請看圖

屏幕快照 2016-12-23 下午6.10.07.png-2593.3kB

2.6 小結:

企業面試題
1,你用過的伺服器型號有哪些?配置如何?
2,程式和進程(守護進程)的區別?
3,提升用戶體驗的網站解決方案
4,buffer與cache的區別?
5,描述Raid0 1的特點?




您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Took me a while to suffer from the first successful souce code installation of mysql-5.6.34. Just put it here and share it with u. Env.OS:Red Hat Ente ...
  • 在最開始階段,我們進行初始數據的收集工作,根據不同的業務場景,可能會涉及到的一些技術領域:分散日誌收集技術,諸如Scribe、Flume為代表的開源日誌收集系統;數據消息傳遞相關的技術,各種開源的消息隊列MQ,諸如ActiveMQ、RocketMQ、Kafka等;各種爬蟲技術、網頁解析技術;資料庫數 ...
  • ClearTrace 能幹啥 當我們的資料庫伺服器在某段業務高峰年期間,周期性出現如CPU接近 100%、記憶體耗盡、IO量大等問題時候,作為維護人員這時候壓力很大,在做一般性排除後仍然沒有找到原因。當我們需要進一步深入到語句分析層面找問題根源時,ClearTrace這款工具正好可以幫上忙。 通過該工 ...
  • 前幾天,一臺Oracle資料庫(Oracle Database 10g Release 10.2.0.4.0 - 64bit Production)監控出現"PMON failed to acquire latch, see PMON dump"錯誤,連接資料庫出現短暫異常,告警日誌中具體錯誤如下所... ...
  • 因為項目原因, mysql用了兩年了, 但是一直都未曾去總結過. 最近也是領導讓總結項目, 才想起把mysql的使用小結一下. 一、 Create 1. 單條插入, sql格式: insert into (列名) values(列值); 對於自增的 Id, 是不需要寫的, 資料庫會自動生成, 但是如 ...
  • mysql資料庫出現2003-Can't connect to mysql server on localhost (10061)問題 解決辦法:查看wampserver伺服器是否啟動,如果沒有啟動啟動伺服器。 ...
  • 標簽(空格分隔): Linux實戰教學筆記 陳思齊 第1章 Linux簡介 1.1 什麼是操作系統? 簡單講: 操作系統就是一個人與電腦硬體的中介。 操作系統,英文名稱Operating System,簡稱OS,是電腦系統中必不可少的基礎系統軟體,它是應用程式運行以及用戶操作必備的基礎環境支撐, ...
  • 本文由ilanniweb提供友情贊助,首發於爛泥行天下 想要獲得更多的文章,可以關註我的微信ilanniweb 其實這篇文章很早就想寫了,但是一直沒有時間。剛好今天下午稍微空了點,就把這篇文章整理出來。 有關phpmyadmin的文章,在百度一搜,能搜出來很多。這篇文章我就介紹下,如何通過phpmy... ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...