文章出處

標簽(空格分隔):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的特點?


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()