數(shù)據(jù)中心網(wǎng)絡架構(gòu)的HA測試
高可用性需求是數(shù)據(jù)中心最重要的需求之一,由于數(shù)據(jù)中心承載著網(wǎng)絡中的重要業(yè)務數(shù)據(jù),所以業(yè)務的高可用性(即業(yè)務的連續(xù)性)受到極大關注。不同等級的數(shù)據(jù)中心對網(wǎng)絡的高可用性有著不同的要求,但設備和鏈路的冗余設計是最基本最普遍的要求,而區(qū)別主要在于網(wǎng)絡故障對業(yè)務恢復的快慢影響。對數(shù)據(jù)中心而言,高可用性涉及到網(wǎng)絡、服務器、存儲、電力、制冷等多個方面的因素,本文主要闡述數(shù)據(jù)中心網(wǎng)絡架構(gòu)的高可用需求以及典型測試案例。
1 數(shù)據(jù)中心HA設計需求
1.1 數(shù)據(jù)中心HA設計的重要性
網(wǎng)絡中節(jié)點和鏈路的故障總是無法完全避免的,所以提升網(wǎng)絡可用性的重要方法之一是整體架構(gòu)的冗余設計,通過設備或鏈路失效時的備份接管,盡量減少系統(tǒng)的故障恢復時間。
表1是不同等級的可用性與總故障時間(以一年為時間段)的對應關系表:
表1 不同等級可用性與一年內(nèi)的總故障時間的對應關系
為什么數(shù)據(jù)中心網(wǎng)絡的可靠性如此重要呢?簡單來說,有以下幾個方面原因:
1、業(yè)務的多樣性和高度集中性
無論是從機房規(guī)模、業(yè)務種類,還是架構(gòu)復雜性方面,今天的數(shù)據(jù)中心都在快速擴展。高性能服務器、虛擬化和高速以太網(wǎng)等新技術都著眼于將多種流量類型,如數(shù)據(jù)、存儲、視頻和語音等匯聚在單一的網(wǎng)絡架構(gòu)中。業(yè)務的高度集中使得網(wǎng)絡故障的影響和損失擴大,從而也提高了對網(wǎng)絡可靠性的需求。
2、超大型數(shù)據(jù)中心對高可靠性的需求
超大型數(shù)據(jù)中心,尤其是一些重載型數(shù)據(jù)中心,其對網(wǎng)絡的利用率及鏈路帶寬的使用具有很高的比率。按一條60%利用率的10GE鏈路來看,即使中斷0.1秒也會丟失600M左右的數(shù)據(jù)。如果按照5個9的標準計算,一年累計中斷5.256分鐘即315.36秒,一條10GE鏈路將丟失大約1.892T的數(shù)據(jù)。越是關鍵的位置,網(wǎng)絡故障的影響將越加嚴重,固然對HA的能力要求越高。
3、高速鏈路帶來的丟包風險
同樣重要的是,現(xiàn)在數(shù)據(jù)中心邊緣端口正變得越來越快。正如服務器中的千兆以太網(wǎng)接口推動了交換機的萬兆以太網(wǎng)的部署一樣,服務器萬兆接口的普及也將推動數(shù)據(jù)中心核心網(wǎng)對40GE和100GE以太網(wǎng)的迫切需求。帶寬的增長自然會對核心網(wǎng)帶來更大的HA風險。40GE或100GE的鏈路故障帶來的損失更加嚴重,如果鏈路承載了關鍵業(yè)務的重要數(shù)據(jù),這樣的損失將是不可接受的。用戶對可用性的要求隨著設備性能的提高,只會越來越苛刻。
4、云計算對基礎設施高可靠性需求的提高
目前云計算正逐漸成為一種現(xiàn)實,而且越來越多的私有云和公共云的部署使用都已經(jīng)充分證明了其存在的意義。基礎設施即服務(IaaS)的吸引力也在不斷增加。有多種能力可以增強IaaS云的可用性,例如實時遷移、動態(tài)資源調(diào)度和自動重啟等。虛擬機的實時遷移產(chǎn)生了額外的網(wǎng)絡流量,這對于已經(jīng)處于高負荷狀態(tài)的網(wǎng)絡提出了額外的需求,所以實際的結(jié)果可能導致性能或可用性的進一步惡化。網(wǎng)絡延時和丟包會導致虛擬機遷移的失敗,在實時遷移過程中測量虛擬機的停機時間,以及大規(guī)模虛擬機遷移的成功率等都是數(shù)據(jù)中心HA的新關注要點。
1.2 全局測試與數(shù)據(jù)中心HA
隨著數(shù)據(jù)中心網(wǎng)絡的不斷變化和發(fā)展,一個關鍵的問題是:怎樣才能盡可能的了解真實網(wǎng)絡的HA故障切換指標?這種情況下,全局性的測試方法有助于確保實現(xiàn)復雜的相關功能和多設備的組合運用。“全局測試”不僅可以測試單個數(shù)據(jù)中心組件,而且可以測量整個數(shù)據(jù)中心的能力,并產(chǎn)生有意義的結(jié)果。全局測試還可以涵蓋TCP/IP的所有層次,并且可以測量通過數(shù)據(jù)中心網(wǎng)絡任意路徑的流量。在一個數(shù)據(jù)中心環(huán)境中,全局的HA測試意味著不僅是只對單個網(wǎng)絡組件的HA性能進行測試,還要確保每一個組件與數(shù)據(jù)中心其它新舊組件配合起來協(xié)同運作的可靠性和整體的HA能力。
全局測試的特點是基于真實應用的流量模擬來衡量網(wǎng)絡的整體指標,通過對流量特征的構(gòu)造模擬,精確統(tǒng)計網(wǎng)絡的功能、性能和HA各項指標?;跍y試結(jié)論分析評估網(wǎng)絡整體架構(gòu)的合理性、擴展性等,為網(wǎng)絡優(yōu)化提供數(shù)據(jù)參考。通過采用全局性的整體方案驗證和性能測量方法,能夠使這種復雜系統(tǒng)的測試評估更加簡化。
2 全局的HA測試方法
2.1 流量模擬
數(shù)據(jù)中心的業(yè)務流量主要分為服務器之間的內(nèi)部流量和用戶端與服務器之間的外部流量,也稱為“東西向”流量和“南北向”流量。對應RFC規(guī)范中定義的測試流量類型則是“非網(wǎng)格型”和“部分網(wǎng)格型”,兩者的組合可以看作“全網(wǎng)格型”.由于轉(zhuǎn)發(fā)路徑和設備的處理方式不同,HA測試中需要同時關注這兩類流量的故障恢復情況。如圖1所示。
圖1 數(shù)據(jù)中心流量模擬
2.2 故障事件模擬
通過模擬網(wǎng)絡失效來計算HA指標,可以簡單的將失效歸類為鏈路故障、板卡故障、設備故障、多設備故障和站點故障。這些故障事件發(fā)生的概率依次降低,所以HA測試的關注點主要集中在鏈路、板卡和設備故障上,這也是數(shù)據(jù)中心網(wǎng)絡HA設計的最基本要求。常用的操作方式為接口的Up/Down 、線卡的拔出/插入、機框的加電/斷電等,特殊情況下也可以通過測試儀或被測設備的系統(tǒng)軟件功能來模擬HA事件。
2.3 HA測試量化統(tǒng)計
通過HA測試,不僅可以驗證被測系統(tǒng)在某些異常情況下是否可以保證功能的可用性,同時也可以通過精確統(tǒng)計得到業(yè)務流量中斷的量化指標。通過測試儀器構(gòu)造一定速率的數(shù)據(jù)報文經(jīng)過被測系統(tǒng)轉(zhuǎn)發(fā),模擬某些故障情況下的報文丟失并統(tǒng)計出數(shù)量,從而計算出流量的中斷時間,來衡量被測系統(tǒng)的HA性能指標。計算公式如下:
故障失效恢復時間=(發(fā)包端口發(fā)包數(shù)-收包端口收包數(shù))÷ 鏈路轉(zhuǎn)發(fā)速率
也可以通過L4-L7層測試儀模擬上層業(yè)務交互來更直觀的了解被測系統(tǒng)在各類異常情況下對業(yè)務的影響。如圖2所示。
圖2 BPS測試儀顯示TCP新建連接抖動情況
對于通過測試儀發(fā)起或參與的模擬網(wǎng)絡事件的測試項,還可以通過測試儀自身提供的高精度采樣功能來更加精確統(tǒng)計設備或網(wǎng)絡的性能。例如,在通過測試儀發(fā)送路由表項來測試設備的路由學習性能時,可以通過如圖3所示的高精度采樣功能來統(tǒng)計時間。
圖3 TestCenter測試儀顯示的高精度采樣功能
3 數(shù)據(jù)中心HA測試案例
3.1 IRF典型組網(wǎng)HA測試
圖4 數(shù)據(jù)中心IRF典型組網(wǎng)
如圖4所示,這是典型的數(shù)據(jù)中心網(wǎng)絡(接入5120+核心12500)兩層拓撲結(jié)構(gòu),核心層兩臺S12500采用IRF模式,可以簡化網(wǎng)絡邏輯結(jié)構(gòu),提高設備利用效率并簡化網(wǎng)絡管理。接入層采用5120EI交換機做二層雙上行接入,接入層鏈路為跨機筐鏈路聚合。出口設備采用SR6600路由器與12500交換機運行OSPF或BGP路由協(xié)議,12500與SR6600之間都為雙上行三層等價鏈路。其中,SR6600模擬了廣域網(wǎng)出口設備,但在真實場景中使用高端交換機較多。5120EI和SR6600分別連接兩個應用層測試儀(構(gòu)造具有狀態(tài)特征的UDP和TCP流量)端口。通過對設備故障和鏈路故障的模擬,可以直觀得到組網(wǎng)中應用層業(yè)務的收斂時間、IRF和LACP的HA切換時間等。
需要精確統(tǒng)計時,可以用測試儀以標準報文大小模擬跨S5120EI和SR6600的南北向普通三層數(shù)據(jù)流,并以Full Mesh方式進行測試。記錄異常情況下全局系統(tǒng)的丟包數(shù)量從而計算HA中斷切換時間,重復測試3次記錄平均數(shù)據(jù),如表2所示。這些數(shù)據(jù)對于評估網(wǎng)絡整體的HA能力,優(yōu)化應用層業(yè)務部署都有重要意義。
普通流量丟包情況(帶寬500Mbps,128字節(jié),422297 FPS)
表2 常見的IRF故障模擬和測試數(shù)據(jù)
通過測試數(shù)據(jù)可以很直觀的了解到整個網(wǎng)絡架構(gòu)中各種應用在不同類型的故障情況下HA收斂的好壞指標。比如表2所示,鏈路中斷的HA收斂時間好于設備重啟的,設備重啟與交換機主控故障的HA時間相近,交換矩陣故障中斷時間最長等等。在了解到這些異常情況對網(wǎng)絡的影響程度后,便可以有針對性的通過網(wǎng)絡設計和優(yōu)化配置加以改進,從而增加整個網(wǎng)絡架構(gòu)的HA能力。
3.2 路由典型組網(wǎng)HA測試
圖5 數(shù)據(jù)中心路由性能HA測試組網(wǎng)
圖5的測試組網(wǎng)也模擬了典型的數(shù)據(jù)中心網(wǎng)絡。接入層交換機使用兩臺真實設備,在大規(guī)格測試項中會使用測試儀模擬更多的接入交換機。核心設備之間采用普通的三層路由結(jié)構(gòu),機房或站點間的出口設備“MAN Core”采用一臺高端交換機模擬,MAN Core通過多條等價三層鏈路與內(nèi)部核心Core1和Core2連接。
初始情況下,測試儀端口1(與Access1相連)發(fā)向端口2(與Access2相連)的東西向流量是不通的。在測試儀端口2上發(fā)布路由后,等待各設備都學習到路由后才會收到報文。記錄測試儀從發(fā)布路由到測試儀收到流量的時間差,這個差值就是全網(wǎng)路由學習時間。由于采用傳統(tǒng)的測量流量圖記錄時間的方法誤差較大,可以采用TestCenter3.7版本中的高精度采樣功能來計算學習時間。如圖6所示。
圖6 TestCenter高精度采樣
為了測試的方便與準確,采用了TestCenter軟件中的command sequence功能執(zhí)行流量、路由及采樣觸發(fā)的操作:
撤銷路由->停止流量發(fā)送等待10s->清除所有計數(shù)->等待5s->開始發(fā)送流量->等待5s->開始高精度采樣->等待5s->發(fā)布ospf路由->觸發(fā)高精度采樣。
command sequence執(zhí)行完成后,等待高精度采樣進行10s,然后點擊端口高精度采樣視圖下的show chart:
紅線為開始出發(fā)發(fā)布路由的時間,藍色線為流量曲線,測量兩個時間的時間差便可得到路由在網(wǎng)絡中的學習時間。
Access2相連的測試儀上發(fā)布、撤銷一條路由,在Access1設備上學習到的時間,我們分別使用OSPF和BGP兩種路由協(xié)議測試10次的結(jié)果如下:
BGP :
撤銷平均值:8.06ms;發(fā)布平均值:1.57s
OSPF:
撤銷平均值:7.88s;發(fā)布平均值:1.29s
測試結(jié)果表明BGP路由的撤消收斂時間明顯優(yōu)于OSPF.為了降低網(wǎng)絡故障對業(yè)務的影響,提高數(shù)據(jù)中心內(nèi)部的HA性能,采用什么樣的路由協(xié)議一直被很多用戶所關注。對于路由協(xié)議的運用,有一些傳統(tǒng)的使用模式,比如在數(shù)據(jù)中心內(nèi)部OSPF是被大家廣泛認可、使用較多的路由協(xié)議。而BGP是廣域網(wǎng)上幾乎絕對的域間路由協(xié)議,但它只用于廣域鏈路的觀念正在慢慢地被改變?;谏鲜龅臏y試結(jié)果,越來越多的用戶也會逐漸認可并開始實踐采用BGP作為站點內(nèi)部路由協(xié)議的解決方案。
4 結(jié)束語
通過全局的組網(wǎng)HA測試,我們可以模擬數(shù)據(jù)中心真實的應用場景和業(yè)務類型,直觀和精確的了解不同類型的故障下HA的收斂情況。也可以了解不同技術和協(xié)議在特定組網(wǎng)中的HA性能對比情況,根據(jù)其特點和優(yōu)劣勢來做出選擇,從而更好的設計和優(yōu)化用戶的真實環(huán)境。