隨筆-計算機網絡,從網絡到架構,從傳統到未來

2007年底我學的CCNA,說實話,那時候學的不是很好,後面重新學了一遍。2010年畢業後我參加工作,做的一直是甲方,一直在管理信息中心,因此技術細節上,比如什麼比特流,效驗碼什麼的我瞭解得不是很清楚,因此我這篇文字主要是想從一宏觀的角度隨便聊聊。

數據中心最重要的是什麼?

傳統的一個數據中心,路由器,交換機,服務器這些是必須的。當然,現在也是必須的。網絡是路,路通不通才是最重要的,因此因此網絡要的一定是穩定,穩定,再穩定。要通很簡單,路由器交換機一路串起來就好了。但是這麼做這一串上隨便壞了個設備網絡就不通了,怎麼辦?

設備壞了怎麼辦?

冗餘。因此冗餘是網絡的第二個特點。冗餘分很多種,路由冗餘,交換冗餘,電源冗餘,控制器冗餘,風扇冗餘等等等等。甚至CPU,內存的利用率也是冗餘。路由器交換機CPU佔用率維持在5%以下,內存利用率維持在10%以下最好。最經典的核心層架構,倆路由倆交換,框起來,中間打個叉,就是一種冗餘架構。
總結一下,網絡是路,最重要的是通,爲了通,因此用了冗餘。
那些什麼OSPF、VLAN什麼的就按下不表了。

數據中心裏面最多的設備——服務器

說一下服務器,服務器幹什麼的大家應該也知道。網頁服務器,域名服務器,文件服務器等等等等。傳統來說,買一臺服務器,裝一個業務,一個服務器一個業務,一個服務器多個業務,種種。一個業務獨佔整個服務器的硬盤(存儲)、CPU、內存,等等。然後一堆服務器放在一起,說,這個是我們的數據中心。
這麼幹賣設備的廠家最開心了。
爲什麼?比如有一天網頁服務器壞了。銷售人員說:哎呀,原來的服務器太差了,要買好一點的。爲了確保大家訪問速度都好,CPU、內存、硬盤都要加大,爲了防止一臺服務器壞了,再買一臺備份一下。看,一口氣就賣出去多少設備了。然後我們爲了服務器的穩定,各種服務器配置都很高,利用率都不高,電費花了不少。
安全這個東西,從硬件到軟件,從網絡到終端都有的。這個回頭說。
那麼現在這個傳統的數據中心建起來了,網絡能通,有冗餘,網絡之上像煙囪似的豎着一個個服務器,跑着各種業務。
2012年前這個架構很常見。現在隨着軟件定義網絡的出現,架構慢慢出現了更改。

改變架構——服務器虛擬化

我們從上往下說。
一個服務器跑一個業務,浪費不浪費呀。浪費,那一個服務器跑多個業務不就可以了?確實可以,但是這臺服務器掛了,所有業務都掛了。把雞蛋都放在一個籃子裏的風險很大的。那買好幾臺服務器,每一臺都配置好幾個一模一樣的業務,做冗餘(集羣)行嗎?行,但是這樣配置非常複雜,增加減少一個業務,需要在每臺機子上都做一遍,累死。
所以服務器虛擬化橫空出世了。有人說,服務器虛擬化是不是vMWare的Workstation?在Windows上裝個軟件就好了。對,Workstation是虛擬化,但是在數據中心裏面這樣很Low,我們要換一種方式。傳統來說,服務器到手,先裝Windows或者Linux什麼的,然後上面就安裝什麼中間件啊,業務軟件啊,一臺服務器跑一種業務。當然,一臺服務器也可以跑多個業務,比如DNS、WEB、FTP、視頻監控流媒體轉發等等等,但是這樣子就很可能一臺服務器好幾個公司(廠商)的技術員在維護,出了小BUG你推我我推你的,不利於權責的界定和劃分,這個權責的劃分很重要,從我的工作經驗來說,三分技術,七分管理,出事了不怕,最怕的是不知道叫誰來解決,到最後只能自己上。所以說,最好一個業務一臺服務器,或者說,一臺服務器最好就一個公司(廠商)在維護。
現在我們買了服務器,就不是安裝Windows、Linux了,而是先裝一個Hypervisior,這臺服務器就叫做宿主機了。這個Hypervisior也是一個操作系統,但是這個玩意是輕量級的操作系統,基本上是由Linux改造出來的,通過Hypervisior接管底層的硬件資源,然後供我們管理員分配,切一塊CPU資源,切一塊內存資源,切一塊硬盤資源,拼在一起就是一臺小的虛擬服務器了,也就是Virtual Machine,簡稱VM。然後我們用一臺服務器,也就是宿主機就可以虛擬出很多VM了。這個就是服務器虛擬化,計算資源池化。我們現在有一個小水池了,計算資源池。

宿主機崩了怎麼辦?——面向未來,存儲虛擬化

那這個宿主機崩了咋辦。冗餘。對,又提到冗餘了。還是買很多服務器,讓它們和原來的宿主機並在一起,小水池就變大水池了。其實也不用買很多服務器。一般來說,買個5-8臺服務器,可以虛擬出百來臺VM,夠用了,反正我的數據中心裏面7臺宿主機跑了100多臺VM。那麼,這樣子每臺VM會不會卡呀?不會,因爲CPU、內存什麼的服務器會動態分配,哪臺VM不需要那麼多內存了扣一點,補給其他需要的VM。資源利用最大化了。如果宿主機崩了咋辦?沒事,運行在崩掉服務器上的虛擬化會自動跑到其他機子上去的。這就涉及到虛擬化技術裏面還有一個叫漂移的技術,假設我們有5臺宿主機,其中1臺崩了,那在這臺宿主機上的VM會自動在其他宿主機上重新建立並開啓,神奇吧?有人會問,宿主機都崩了,數據不會丟嗎?一般來說,我們的宿主機集羣會用到一個叫共享存儲的東西,也就是一個磁盤陣列,存放宿主機集羣裏面VM的數據。那如果共享存儲崩了怎麼辦?前面不是說到了冗餘麼?再來一個磁盤陣列併入唄。這個就說到存儲資源的虛擬化了。我們現在又要建一個池,存儲資源池。
後面再說吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章