每一家互聯網公司的本質就是一個軟件公司,所以每一家互聯網企業最重要的就是數據中心。可以說數據中心承載著互聯網企業的產品、業務、理念和夢想。而在數據中心建設過程中,除了開源軟件系統的集群、定制、利用、優化,更多面臨的是資源、網絡、運維管理等方面的問題。下面我們來一一探討。
一、機房的類型
互聯網所有業務應用都承載在數據中心中,因此互聯網數據中心不僅需要快速安全的網絡,還有對服務器監管、流量監控等網絡管理方面的需求,而且要有高度可靠的、安全的機房網絡環境。
租用機房
這個方式是最為普遍。形式上來說,運營商如聯通、電信建設完機房后,大型客戶會自己直接洽談業務,自己親自運維。特點是柜子多、運營商鏈路單一、鏈路帶寬大。但對于中小型客戶,資源租用(機柜、帶寬、IP地址)比較零散,運維管理壓力大,所以運營商就會將一部分機柜租給第三方運營商,由第三方負責資源劃分、管理、運維及銷售。由于第三方運營商身份的特殊性,往往會找一些傳輸機房,將其他運營商的鏈路拉通。所以第三方有個天然優勢就是多運營商鏈路,服務好,價格雖高了一點,但鏈路種類多,質量好,所以很多互聯網公司初期均會選擇第三方運營商的租用服務。
合建及自建機房
建設機房流程上很麻煩,投入較大。部分第三方運營商會和運營商合作合建機房,也有和企業合作合建機房,也有實力比較強的企業選擇自建機房。對于租用機房來說,電不是大問題。因為運營商會限制一個機柜的供電量。一般為10A~13A。但對于合建或自建機房來說,決定一個機房能使用多大規模的因素除了柜子更重要的就是電。例如某銀行建設完大型機房園區后,發現機房電量不夠,導致1/3的機柜空置;某企業預期20萬臺Server機房,也因為供電問題降為8萬臺。所以整個行業都開始重視數據中心的功耗問題。一方面考慮設備的綠色節能問題,設備用電越少,可使用的設備數量就越多。另一方面也要考慮數據中心冷熱風道的散熱問題,所以現在數據中心級別的交換機產品推薦為前后通風設備。從設備級別的可靠性來說,也要考慮設備的風扇模塊、電源模塊是否冗余,是否支持熱插拔(因為除模塊外,設備硬件故障率最高的地方就在風扇和電源模塊)。
而對于網絡建設來說,除了租用公有云服務,無論是租用、合建、還是自建機房,均需要互聯網企業自己搭建網絡基礎架構。每一個互聯網企業,無論大小,都會經歷以下四個模式數據中心的一種或多種。
二、數據中心的四種建設模式
1.早期的數據中心
在互聯網企業中,筆者見到過最"精簡"的網絡架構如圖1所示:一臺核心網管/出口設備,上行連接防火墻(若沒有防火墻則直接連接至運營商)、下行單鏈路連接百兆二層接入交換機;百兆接入二層交換機單鏈路連接至服務器。服務器網關則部署在核心交換機上,整網二層網絡環境,核心至運營商之間靜態路由即可。防火墻若不啟用NAT功能則為二層模式部署,若啟用NAT功能則三層模式部署。
這種單設備單鏈路的架構唯一的優點就是便宜。缺點卻非常明顯:單點故障、設備可用性低、資源規劃不清。
如圖2所示,優化后的數據中心為考慮設備、鏈路的冗余性,采用了雙鏈路上行、核心設備冗余備份,協議方面使用STP/MST+VRRP/HSRP。至于內外網是否分離問題,從性價比考慮,很多互聯網企業都會選擇內外網物理合一、邏輯分離。但對于從內網流量數據、外網安全隔離的角度看,游戲型的互聯網企業一般會選擇內外網物理分離的架構。
以我們現在的技術和思路來看,圖2的架構實際已經是大二層網絡環境,但無法滿足現在云計算大二層網絡環境中的鏈路利用率、故障收斂及運維管理等方面的需求。而這種架構由于網絡硬件發展問題,會有設備硬件表項、端口速率、網絡收斂比等諸多限制。
2.模塊化、區域化數據中心
模塊化、區域化數據中心具有高可用、高可靠、高可控、分布式安全部署、易擴展、易管理等好處。從設計角度看很簡單,就是業務功能區域劃分POD。區域核心設備實際在整張網絡架構中屬于匯聚層設備(如圖3所示)。
這種模型從設計出發,無論是設備表項問題、安全區域防護、還是運維排障(因為三層物理架構下的大二層網絡排障是一件極其痛苦的事,很多時候的業務故障只能通過MAC逐步排查實現),所以綜合考慮各區域網關最好的是部署在匯聚層。核心設備與匯聚設備之間為IP互通,架構上簡單的或者是安全防護較高(各區域部署 HA防火墻)的情況下,可采用VRRP/HSRP+靜態路由的方式,如果不存在上述條件,還是建議采用OSPF協議部署。當然,像騰訊、百度的服務器網關均部署在接入交換機,整網均為OSPF協議部署。好處是IP層網絡通過ECMP的方式,可消除早期STP/MST的鏈路耗損問題,但帶來的問題是會過多的消耗IP地址,也會很難過渡到云就緒網絡數據中心,不過這點在現在可通過SDN+Overlay數據中心模型解決。
3.云計算數據中心
說起云計算,就要先說說虛擬主機(下文簡稱"虛機")。虛機最大的優點就是提高物理服務器資源和帶寬資源的利用率。中國最早大規模部署虛機的互聯網企業就是淘寶,淘寶之所以虛機用的規模最大,實際上也是因為其電商的業務性質導致,畢竟都是網頁、文字和圖片,服務器利用率很低。不過像百度這種搜索業務的數據中心,服務器利用率很高,且業務應用層面而言早已分布式部署,所以對虛機需求還不高。
從網絡建設角度看,實際上由于云計算的產生,傳統的設備硬件也好,還是傳統的交換路由協議也好,并不能很好的支撐池化后的服務器資源。所以為了支撐云計算,支撐服務器資源池化,作為基礎設施的網絡設備,從早期園區網設備級別發展到數據中心專業級網絡設備,從硬件的CLOS架構、大緩存、虛擬化、綠色節能、散熱風道、高密40GE/100GE、可變長信源流量調度,到軟件級別的IRF、MDC、VEPA、Trill、VEPA、FCoE、VXLAN、NVGRE、Openflow,再到操作系統的分布式/高可用架構、SCM、LIPC、DBM、ISSU、進程級GR等等,從硬件架構、操作系統、交換協議、軟件特性均做了重大升級。而網絡架構也會根據網絡和軟件的不同理念發展為云就緒網絡數據中心和SDN+Overlay數據中心兩種。
云就緒網絡數據中心
云就緒網絡數據中心的核心發展理念是:虛機的MAC封裝傳遞由網絡設備負責。所以為了保證虛機之間或與網關通信的MAC傳遞,整張網絡為大二層網絡環境(如圖4所示)。
所以如圖5所示,云就緒網絡數據中心從網絡層面是一套完整的云計算網絡解決方案。但是,隨著硬件技術的不斷升級、云計算的網絡規模不斷擴大,對核心網關設備要求越來越高,包括各種表項的要求,刷新率的要求,以及很多生產數據中心需要面對從三層IP網絡到大二層網絡的過渡瓶頸,所以綜上考慮,云就緒網絡更適合中小型,較為傳統的云計算數據中心。
SDN+Overlay數據中心
為了解決云就緒網絡數據中心的問題,SDN+Overlay數據中心的核心理念是:虛機的MAC封裝由虛機自行完成,網絡作為通道只要IP可達即可。簡單來說,就是虛機自行將MAC已標簽形式封裝進IP報文內進行傳遞,可以理解為虛機之間自行實現Tunnel的技術,網絡則作為IP通道的大三層,網關在接入交換機上即可。
VXLAN 是目前主流的Overlay技術,但它也只是封裝技術,而控制則是通過網關設備--SDN的Contrller(控制器)解決,從而在未來云就緒數據中心條件不滿足的情況下,支撐云計算網絡的搭建。但目前由于VXLAN需要面對來自數據中心中應用STP和VLAN帶來的限制問題(STP對與端口和網絡鏈路的浪費和VLAN的數量限制)以及對于多用戶組環境的需要和ToR交換機上的流表數量不足的問題,而Openflow也需要面對版本不兼容和不穩定的問題,所以"SDN+Overlay"數據中心還未正式規模商用。
三、解決互聯網訪問瓶頸的三種方法
1.多運營商鏈路機房
如果說跨運營商流量的丟包和延遲是在穿透骨干網時發生的,那么就讓流量不穿過骨干網的互聯通道就好了。最普遍的做法就是做多線機房。在主營IDC架設多運營商鏈路,擁有支撐多運營商用戶的訪問能力,避免單線IDC中的骨干網穿行流量。這種方式可以提高單個IDC多運營商用戶的訪問能力。但上文中也講過,對于中國地大物博的現狀,如果北京到廣州的某個鏈路質量不穩定的話,也會對該運營商用戶的業務訪問造成影響。所以對于小型互聯網公司,當只有一個機房的情況下,基本上推薦多運營商鏈路機房。
而對于中大型互聯網公司的多機房業務而言,主站業務為保證客戶的動態流量及CDN回源流量的訪問質量,都會采用多運營商鏈路機房,某些重要業務機房,也會采用雙線機房。
2.CDN
CDN 的全稱是Content Delivery Network(內容分發網絡)。其基本思路是盡可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網絡各處放置節點服務器所構成的,在現有的互聯網基礎之上的一層智能虛擬網絡。CDN系統能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。其目的是使用戶可就近取得所需內容,提高用戶訪問網站的響應速度。通俗理解就是網站加速,CPU均衡負載,可以解決跨運營商,跨地區,服務器負載能力過低,帶寬過少等帶來的網站打開速度慢等問題。
總體來說,CDN服務優缺點都很明顯。優點是CDN服務用于確保快速可靠地分發靜態內容。靜態內容包括HTML頁面文件、視頻文件、JS文件、CSS文件、 EXE文件、圖片文件(JPEG、GIF、PNG)等。雖然現在有SSL卸載及TCP加速等四至七層網絡加速技術,但對于動態流量比如實時的聊天、交易數據等等需要訪問主站數據庫的業務是無能為力的,所以動態內容必須是通過互聯網的IP網絡來傳輸。因此要想提供快速的網絡體驗,滿足當今用戶的要求,只能通過對互聯網流量的獨特視角來達到。比如上文中的多運營商鏈路機房,比如未來的SDN廣域網技術。目的是了解通過互聯網的最佳路由,充分利用這些最佳路由,加速通過互聯網協議的數據通訊。
3.分布式IDC
如前文所講,CDN可以完美解決互聯網用戶的靜態流量訪問,且現在已經實現SSL卸載及TCP加速(握手)等技術,但對于動態流量來說,CDN依然存在缺陷,這時就有了第三種方法--分布式IDC。
在城域網建設中,基礎鏈路可選擇運營商專線,也可選擇裸纖,通過千兆、萬兆、40GE長距模塊或波分設備實現鏈路擴容,在建設過程中也可考慮通過二層傳輸交換機使用VLAN、Trunk劃分邏輯通道,而IP層面城域網的路由協議一般選用OSPF協議,如果考慮未來建設廣域骨干網啟用BGP協議的話,城域網也可考慮選用ISIS協議。
而骨干網建設中,除了考慮物理專線、波分,在IP層面一般底層路由協議選用ISIS協議,當然OSPF協議也可以,但如果底層選用OSPF,則需考慮Area0的部署范圍。未來如果考慮企業自身的多業務專線,則會在BGP基礎上使用MPLS VPN或VPLS。如果骨干網規模很大,下一步將考慮MPLS TE。但目前互聯網公司中自建廣域骨干網的企業很少,使用MPLS TE的更少。在光纖資源稀缺的現狀下,全網的分布式IDC使用裸纖連接從成本考慮是不現實的。所以很多互聯網企業早期也會使用GRE VPN、IPsec VPN實現基于廣域網鏈路的三層互通。而在云計算如火如荼的今天,現在也有EVI、OTV等各廠商私有協議實現基于廣域網鏈路的二層互通。本文只是描述分布式數據中心建設的思路,而具體的城域網、骨干網詳細的網絡架構設計思路在此不再展開。
四、非互聯網企業的借鑒思路
本文闡述了互聯網企業其數據中心發展過程中內部、外部面臨的問題,并提出了解決的思路與建議。對于需要互聯網化轉型的其它行業企業而言,由于前期自身已建設好辦公網及數據中心,在轉型的時候需要考慮以下兩個方面:
一、大多數企業的數據中心初期建設時,主要為辦公和自有業務而建。互聯網化轉型時需要優化、改造其原有數據中心。而一步跨度到云計算數據中心比較有難度。所以從功能性考慮出發,在轉型過程中建議過渡到到模塊化、區域化數據中心(各層面的網絡設備均采用IRF虛擬化技術),如圖6所示,將原有業務及辦公業務通過匯聚層設備隔離,從安全性考慮在各個模塊中部署相應安全設備。數據中心模塊化、區域化后,互聯網業務模塊為保證業務訪問質量、網絡訪問安全性等方面,建議采用獨立出口區域。
二、如文章開篇時所講,互聯網企業的本質是軟件開發公司,所以軟件開發、自研能力很強。某些大型互聯網企業也會自研防DDOS攻擊的黑洞設備。而這樣的軟件開發、自研能力并不是一蹴而就的,需要長時間的摸索和累積。所以傳統企業面臨互聯網化轉型時,結合其自身軟件開發人員的綜合素質考慮,像負載均衡、防火墻、 IPS和CDN等方面,在商用設備達到性能和性價比瓶頸之前,在數據中心建設時推薦使用成熟穩定的商用產品。