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