標簽(空格分隔):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(百度在用)
- 浪潮
- 聯想
- 航天聯志
常見伺服器品牌
1.1.1 Dell伺服器品牌
- Dell伺服器官網鏈接,點擊即可
- 有疑問問銷售
- DELL R720
加上蓋子
DELL R620
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線路。如果集群(一堆機器做一件事情)的情況可以不用雙電源。
1.2.2CPU 處理器
相當於人體的大腦,負責電腦的運算和控制,是伺服器性能效率的最核心部件。 常見品牌:Intel,AMD
- 一般的企業里的伺服器,CPU顆數2-4顆,單顆CPU是4核。記憶體總量一般是16-256G(32G,64G)
- 做虛擬化的宿主機(eg:安裝vmware的主機),CPU顆數4-8顆,記憶體總量一般是48-128G,6-10個虛擬機。
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 磁碟讀寫),最終還是會把數據載入到記憶體中再對外提供訪問。
特點:
a,優點:寫數據到記憶體,性能高速度塊(微博,微信,SNS,秒殺)
b,缺點:可能會丟失一部分在記憶體中還沒有來得及存入磁碟的數據。
解決數據不丟的方法:
a,伺服器主板上安裝蓄電池,在斷電瞬間把記憶體數據回寫磁碟
b,UPS(一組蓄電池)不間斷供電(持續供電10分鐘,IDC數據IPS 1小時)。UPS (Uninterruptible Power
System/Uninterruptible Power
Supply),即不間斷電源,是將蓄電池(多為鉛酸免維護蓄電池)與主機相連接,通過主機逆變器等模塊電路將直流電轉換成市電的系統設備。
c,選雙路電的機房,使用雙電源,分別接不同路的電,伺服器要放到不同的機櫃,地區。
2,中小企業案例
對於併發不是很大,數據也不是特別大的網站,讀多寫少的業務,會先把數據寫入到磁碟,然後再通過程式把寫到磁碟的數據讀入到記憶體里,再對外通過讀記憶體提供訪問服務。
小結:
門戶極端案例:高併發,大數據
先把數據寫到記憶體,然後再定時或定量寫到磁碟,最終還是會載入到記憶體
特點:
a,高併發寫入性能高
b,可能會丟失一部分在記憶體中還沒來得及存入磁碟的數據
中小企業案例:
併發時很大的網站會先把數據存到磁碟,然後再通過程式把數據讀入到記憶體里,在對外提供訪問服務
溫馨提示:
網站優化的核心就是想辦法把數據放入記憶體提供服務,或者讓用戶寫數據寫到記憶體(這樣最快)
3,企業面試題:buffer和cache什麼區別?
看視頻===>buffering把視頻數據緩存到磁碟===>寫數據到磁碟上或者寫數據到記憶體中
cache===>從磁碟或者記憶體讀取數據
簡單解答:
寫入數據到記憶體里,這個數據的記憶體空間稱為緩衝區(buffer),寫入緩衝區。
從內存讀取數據,這個存數據的記憶體空間稱為緩存區(cache),讀取緩存區。
由於99%的網站都是以讀取為主,寫入為輔,讀寫比例至少10:1,所以併發寫入一般不是問題。
提醒: 這裡提到的記憶體和磁碟,是由多台機器組成的集群架構環境memcached(純記憶體)/redis(記憶體加磁碟)
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 緩存
記住一句話:緩存無處不在,電腦硬體,網站集群!
這裡做個瞭解即可
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卡上,而不是直接插到主板上了
互聯網公司伺服器一般都會購買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 主板
2.5.1 機房機櫃里的伺服器擺放
標簽===>標記出每根線的用途
專業佈線:什麼是專業的,請看圖
2.6 小結:
企業面試題
1,你用過的伺服器型號有哪些?配置如何?
2,程式和進程(守護進程)的區別?
3,提升用戶體驗的網站解決方案
4,buffer與cache的區別?
5,描述Raid0 1的特點?