數(shù)據(jù)中心的故障類型眾多,但故障所導(dǎo)致的結(jié)果卻大同小異。即數(shù)據(jù)中心中的設(shè)備、鏈路或server發(fā)生故障,無(wú)法對(duì)外提供正常服務(wù)。緩解這些問(wèn)題最簡(jiǎn)單的方式就是冗余設(shè)計(jì),可以通過(guò)對(duì)設(shè)備、鏈路、Server提供備份,從而將故障對(duì)用戶業(yè)務(wù)的影響降低到最小。但是,一味的增加冗余設(shè)計(jì)是否就可以達(dá)到緩解故障影響的目的?有人可能會(huì)將網(wǎng)絡(luò)可用性與冗余性等同起來(lái)。
事實(shí)上,冗余性只是整個(gè)可用性架構(gòu)中的一個(gè)方面。一味的強(qiáng)調(diào)冗余性有可能會(huì)降低可用性,減小冗余所帶來(lái)的優(yōu)點(diǎn),因?yàn)槿哂嘈栽趲?lái)好處的同時(shí)也會(huì)帶來(lái)一些如下缺點(diǎn):
w網(wǎng)絡(luò)復(fù)雜度增加
w網(wǎng)絡(luò)支撐負(fù)擔(dān)加重
w配置和管理難度增加
因此,數(shù)據(jù)中心的高可用設(shè)計(jì)是一個(gè)綜合的概念。在選用高可靠設(shè)備組件、提高網(wǎng)絡(luò)的冗余性的同時(shí),還需要加強(qiáng)網(wǎng)絡(luò)構(gòu)架及協(xié)議部署的優(yōu)化,從而實(shí)現(xiàn)真正的高可用。設(shè)計(jì)一個(gè)高可用的數(shù)據(jù)中心網(wǎng)絡(luò),可參考類似OSI七層模型,在各個(gè)層面保證高可用,最終實(shí)現(xiàn)數(shù)據(jù)中心基礎(chǔ)網(wǎng)絡(luò)系統(tǒng)的高可用,如圖1所示。
圖1數(shù)據(jù)中心高可用系統(tǒng)設(shè)計(jì)層次模型
網(wǎng)絡(luò)架構(gòu)高可用設(shè)計(jì)
企業(yè)在進(jìn)行數(shù)據(jù)中心架構(gòu)規(guī)劃設(shè)計(jì)時(shí),一般需要按照模塊化、層次化原則進(jìn)行,避免在后續(xù)規(guī)模越來(lái)越大的情況再進(jìn)行大規(guī)模的整改,造成時(shí)間與投資浪費(fèi)。
模塊化設(shè)計(jì)
模塊化設(shè)計(jì)是指在對(duì)一定范圍內(nèi)的不同功能或相同功能不同性能、不同規(guī)格的應(yīng)用進(jìn)行功能分析的基礎(chǔ)上,劃分并設(shè)計(jì)出一系列功能模塊,模塊之間松耦合,力求在滿足業(yè)務(wù)應(yīng)用要求的基礎(chǔ)上使網(wǎng)絡(luò)穩(wěn)定可靠、易于擴(kuò)展、結(jié)構(gòu)簡(jiǎn)單、易于維護(hù)。
層次化設(shè)計(jì)
包括網(wǎng)絡(luò)架構(gòu)分層和應(yīng)用系統(tǒng)分層兩個(gè)方面。在當(dāng)前網(wǎng)絡(luò)及安全設(shè)備虛擬化不斷完善的情況下,應(yīng)用系統(tǒng)分層可完全通過(guò)設(shè)備配置來(lái)實(shí)現(xiàn)邏輯分層,不影響網(wǎng)絡(luò)的物理拓?fù)?。?duì)于網(wǎng)絡(luò)架構(gòu)層次化設(shè)計(jì),選擇三層架構(gòu)還是二層架構(gòu)是不少企業(yè)進(jìn)行數(shù)據(jù)中心網(wǎng)絡(luò)建設(shè)時(shí)面臨的難題。
從可靠性的角度來(lái)看,三層架構(gòu)和二層架構(gòu)均可以實(shí)現(xiàn)數(shù)據(jù)中心網(wǎng)絡(luò)的高可用。近年來(lái)隨著云計(jì)算的逐漸興起,二層扁平化網(wǎng)絡(luò)架構(gòu)更適合云計(jì)算網(wǎng)絡(luò)模型,可以滿足大規(guī)模服務(wù)器虛擬化集群、虛擬機(jī)靈活遷移的部署。二層架構(gòu)和三層架構(gòu)兩者之間沒(méi)有絕對(duì)的優(yōu)劣之分,企業(yè)用戶可根據(jù)自身的業(yè)務(wù)特點(diǎn)進(jìn)行選擇。也可以先二層,后續(xù)針對(duì)某些特定的功能分區(qū)采用三層組網(wǎng)。
設(shè)備層高可用設(shè)計(jì)
設(shè)備可靠是系統(tǒng)可靠的最基本保證,數(shù)據(jù)中心核心交換區(qū)設(shè)備的可靠穩(wěn)定尤為重要。盡管可以通過(guò)架構(gòu)、策略、配置等的調(diào)整和優(yōu)化等多種手段降低核心設(shè)備的故障幾率以及影響范圍,但若要解決最根本的設(shè)備本身的軟硬件故障,則必須選用數(shù)據(jù)中心級(jí)的網(wǎng)絡(luò)設(shè)備。
關(guān)于數(shù)據(jù)中心級(jí)設(shè)備,業(yè)界還沒(méi)有標(biāo)準(zhǔn)的定義,但從目前主流網(wǎng)絡(luò)設(shè)備供應(yīng)商提供的數(shù)據(jù)中心解決方案產(chǎn)品可以看出,數(shù)據(jù)中心級(jí)交換機(jī)應(yīng)具備以下特征:
1)控制平面與轉(zhuǎn)發(fā)平面物理分離
控制平面與轉(zhuǎn)發(fā)平面硬件物理分離,引擎切換時(shí)不影響轉(zhuǎn)發(fā),可實(shí)現(xiàn)零丟包。同時(shí)控制平面與轉(zhuǎn)發(fā)平面均提供獨(dú)立的冗余架構(gòu),實(shí)現(xiàn)控制與轉(zhuǎn)發(fā)兩級(jí)冗余,保證更高的可靠性。
2)關(guān)鍵部件更強(qiáng)的冗余能力
除了引擎和交換網(wǎng)板的冗余外,此類設(shè)備的電源一般均可以配置多塊,實(shí)現(xiàn)N+M的冗余,保證電源的可靠性更高;另外風(fēng)扇的冗余也由原來(lái)的風(fēng)扇級(jí)冗余,提高到了風(fēng)扇框冗余,每個(gè)獨(dú)立的風(fēng)扇框內(nèi)多個(gè)風(fēng)扇冗余。
3)虛擬化能力
數(shù)據(jù)中心的復(fù)雜度越來(lái)越高,需要管理的設(shè)備也越來(lái)越多,設(shè)備的虛擬化可將同一層面(核心、匯聚、接入)的多臺(tái)設(shè)備虛擬化為一臺(tái),進(jìn)行設(shè)備的橫向整合,簡(jiǎn)化設(shè)備的配置和管理。
4)突發(fā)大流量的緩沖能力
基于CLOS架構(gòu)的數(shù)據(jù)中心級(jí)設(shè)備對(duì)端口的緩存容量進(jìn)行擴(kuò)容,并采用了新一代的分布式緩存機(jī)制,將原有的出方向緩存移至入方向,在同樣的端口緩存容量條件下,這種分布式的緩存機(jī)制可以更好的緩存多對(duì)一的擁塞模型,能夠更好的吸收數(shù)據(jù)中心的突發(fā)大流量。
鏈路層(L2)高可用設(shè)計(jì)
通過(guò)以H3CIRF2為代表的虛擬化技術(shù),在不改變傳統(tǒng)設(shè)計(jì)的網(wǎng)絡(luò)物理拓?fù)洹⒈WC現(xiàn)有布線方式的前提下,實(shí)現(xiàn)網(wǎng)絡(luò)各層的橫向整合,即將交換網(wǎng)絡(luò)每一層的兩臺(tái)、多臺(tái)物理設(shè)備形成一個(gè)統(tǒng)一的交換架構(gòu),減少了邏輯的設(shè)備數(shù)量,同時(shí)實(shí)現(xiàn)跨設(shè)備的鏈路捆綁,消除環(huán)路的同時(shí)保證鏈路的高可用。
協(xié)議層(L3)高可用設(shè)計(jì)
數(shù)據(jù)中心網(wǎng)絡(luò)的協(xié)議層高可用設(shè)計(jì)可以從以下兩個(gè)方面考慮:
1)快速檢測(cè)與切換
為了減小設(shè)備故障對(duì)數(shù)據(jù)中心業(yè)務(wù)的影響、提高網(wǎng)絡(luò)的可用性,設(shè)備需要能夠盡快檢測(cè)到與相鄰設(shè)備間的通信故障,以便能夠及時(shí)采取措施,從而保證業(yè)務(wù)繼續(xù)進(jìn)行。通常情況下,路由協(xié)議中的Hello報(bào)文機(jī)制檢測(cè)到故障所需的時(shí)間為秒級(jí),在這時(shí)間內(nèi)會(huì)導(dǎo)致數(shù)據(jù)中心內(nèi)部Gbps速率級(jí)高速數(shù)據(jù)傳輸?shù)拇罅繑?shù)據(jù)丟失。
BFD(BidirectionalForwardingDetection,雙向轉(zhuǎn)發(fā)檢測(cè))在此背景之下產(chǎn)生。它是一套全網(wǎng)統(tǒng)一的檢測(cè)機(jī)制,用于快速檢測(cè)、監(jiān)控網(wǎng)絡(luò)中鏈路或者IP路由的轉(zhuǎn)發(fā)連通狀況,保證鄰居之間能夠快速檢測(cè)到通信故障,50ms內(nèi)建立起備用通道恢復(fù)通信。BFD檢測(cè)可部署在廣域/域城出口模塊,如圖9所示。數(shù)據(jù)中心核心層與外聯(lián)模塊(廣域區(qū)、城域區(qū))之前運(yùn)行 OSPF動(dòng)態(tài)路由協(xié)議,并在核心層交換機(jī)上配置BFD與OSPF路由聯(lián)動(dòng)。廣域、城域路由設(shè)備或鏈路出現(xiàn)故障時(shí),核心交換機(jī)快速感知,并通告OSPF進(jìn)行快速收斂,縮短數(shù)據(jù)中心外聯(lián)數(shù)據(jù)故障恢復(fù)時(shí)間。
2)不間斷轉(zhuǎn)發(fā)
在部署了動(dòng)態(tài)路由協(xié)議的數(shù)據(jù)中心網(wǎng)絡(luò)中,若設(shè)備進(jìn)行主備切換時(shí),將會(huì)導(dǎo)致它與鄰居關(guān)系出現(xiàn)震蕩。這種鄰居關(guān)系的震蕩將最終導(dǎo)致路由協(xié)議的震蕩與重新計(jì)算收斂,使得主備切換路由器在一段時(shí)間內(nèi)出現(xiàn)路由黑洞或者導(dǎo)致鄰居將數(shù)據(jù)業(yè)務(wù)進(jìn)行旁路,進(jìn)而會(huì)導(dǎo)致業(yè)務(wù)出現(xiàn)暫時(shí)中斷。
為了實(shí)現(xiàn)不間斷轉(zhuǎn)發(fā),設(shè)備本身需要支持?jǐn)?shù)據(jù)轉(zhuǎn)發(fā)與控制分離,支持雙主控設(shè)計(jì);同時(shí)需要部分保存協(xié)議的狀態(tài)(控制平面),并借助鄰居設(shè)備的幫助,實(shí)現(xiàn)發(fā)生主備切換時(shí)控制平面的會(huì)話連接不重置、轉(zhuǎn)發(fā)不中斷的目的。其相應(yīng)的技術(shù)為路由協(xié)議的GracefulRestart(平滑重啟)擴(kuò)展,簡(jiǎn)稱GR。
GR 機(jī)制的核心在于:當(dāng)某設(shè)備的路由協(xié)議重啟時(shí),能夠通知周邊設(shè)備在一定時(shí)間內(nèi)將到該設(shè)備的鄰居關(guān)系和路由保持穩(wěn)定。該設(shè)備路由協(xié)議重啟完畢后,周邊設(shè)備協(xié)助其進(jìn)行路由信息同步,使其各種路由信息在盡量短的時(shí)間內(nèi)恢復(fù)到重啟前的狀態(tài)。在整個(gè)協(xié)議重啟過(guò)程中,網(wǎng)絡(luò)路由和轉(zhuǎn)發(fā)保持高度穩(wěn)定,報(bào)文轉(zhuǎn)發(fā)路徑也沒(méi)有任何改變,整個(gè)系統(tǒng)可以不間斷地轉(zhuǎn)發(fā)IP報(bào)文。
應(yīng)用層(L4~L7)高可用設(shè)計(jì)
在數(shù)據(jù)中心網(wǎng)絡(luò)層面實(shí)現(xiàn)L4~L7層的高可用,可采用負(fù)載均衡的方案。L4~L7層負(fù)載均衡一方面可以提高服務(wù)器的響應(yīng)能力和鏈路的帶寬利用率,另一方面可以保證單臺(tái)服務(wù)器或單條鏈路出現(xiàn)故障后,業(yè)務(wù)數(shù)據(jù)無(wú)縫分?jǐn)偟狡渌?wù)器和鏈路,從而實(shí)現(xiàn)數(shù)據(jù)中心的高可用。
1)鏈路負(fù)載均衡(LLB)
鏈路負(fù)載均衡常部署在數(shù)據(jù)中心的廣域接入?yún)^(qū)和互聯(lián)網(wǎng)接入?yún)^(qū),通過(guò)靜態(tài)表項(xiàng)匹配及動(dòng)態(tài)鏈路檢測(cè),對(duì)多條鏈路狀態(tài)進(jìn)行實(shí)時(shí)的探測(cè)和監(jiān)控,確保流量以最合理及快速的方式分發(fā)到不同鏈路上,實(shí)現(xiàn)業(yè)務(wù)的高效傳輸。
對(duì)于數(shù)據(jù)中心廣域接入?yún)^(qū),由于廣域網(wǎng)出口流量仍然是企業(yè)內(nèi)網(wǎng)數(shù)據(jù)流,在L4層一般可通過(guò)IP報(bào)文的五元組特征區(qū)分出不同的業(yè)務(wù)流,因此可直接在路由器上通過(guò)分層CAR、跨端口的流量轉(zhuǎn)發(fā)實(shí)現(xiàn)負(fù)載分擔(dān)、關(guān)鍵業(yè)務(wù)帶寬保證、廣域鏈路捆綁。無(wú)需專門的LB設(shè)備。
2)服務(wù)器負(fù)載均衡(SLB)
目前大多數(shù)應(yīng)用系統(tǒng)都采用了BS架構(gòu),企業(yè)數(shù)據(jù)中心的WEB服務(wù)器需要承接來(lái)自內(nèi)網(wǎng)和外網(wǎng)眾多用戶的連接請(qǐng)求,因此單臺(tái)服務(wù)器的性能和可靠性可能都無(wú)法滿足,為實(shí)現(xiàn)更多的用戶接入數(shù)和服務(wù)器冗余,可在WEB服務(wù)器部署負(fù)載均衡。服務(wù)器的負(fù)載均衡部署可采用以下兩種方式實(shí)現(xiàn):
服務(wù)器集群軟件
服務(wù)器集群軟件(如MSCS)一般要求服務(wù)器群在同一VLAN內(nèi),其它無(wú)特殊要求在此不做詳細(xì)介紹。
服務(wù)器負(fù)載均衡(SLB)設(shè)備
SLB設(shè)備提供VSIP(虛擬服務(wù)IP),用戶訪問(wèn)VSIP請(qǐng)求服務(wù)后,LB設(shè)備根據(jù)調(diào)度算法分發(fā)請(qǐng)求到各個(gè)實(shí)服務(wù)。
總結(jié)
數(shù)據(jù)集中意味著風(fēng)險(xiǎn)的集中、響應(yīng)的集中、復(fù)雜度的集中、投資的集中……,高可用設(shè)計(jì)與部署是企業(yè)數(shù)據(jù)中心建設(shè)的永恒話題。“勿在浮沙筑高臺(tái)”,網(wǎng)絡(luò)作為數(shù)據(jù)中心IT基礎(chǔ)承載平臺(tái),是IT系統(tǒng)高可用的基本保證。數(shù)據(jù)中心網(wǎng)絡(luò)要實(shí)現(xiàn)高可用,技術(shù)并不能解決所有問(wèn)題,還需要完善的運(yùn)維流程、規(guī)章制度、管理體制等多方面的配合。結(jié)合企業(yè)業(yè)務(wù)的發(fā)展趨勢(shì),不斷的總結(jié)與積累,是一個(gè)長(zhǎng)期的、循序漸進(jìn)的過(guò)程。