天天看點

資料中心網絡裡的鍊路檢測技術漫談

2017年1月14日,ucloud雲北京b區的業務發生了中斷,中斷的原因是營運商施工原因導緻b區資料中心機房到北京核心彙聚點的兩對光纖同時被挖斷,導緻業務中斷。這讓人想起了2015年5月的支付寶業務中斷事件,也是營運商網絡光纖被施工挖斷導緻,當時是四條大對數光纜中斷。互連的光纖鍊路出現中斷這類突發事件,如果沒有一些備份和監控措施,就會導緻業務受到影響。實際上,在資料中心内外部,類似于這樣的鍊路故障問題時有發生,隻不過這兩個例子是影響比較大的。那麼,資料中心怎麼才能提前做好鍊路檢測工作,避免發生類似問題呢?

鍊路故障是資料中心遇到的一種非常常見的故障類型。如果在資料中心内部,很好辦,通過增加鍊路備份的方式,提升可靠性,一般分布在不同網絡裝置上,互相之間盡量隔離,這樣當一側鍊路出現故障時,業務及時切到另外一側來,這個鍊路可以是兩條也可以是多條,越多可靠性越高。最常見的方式是采用聚合的方式,其中有幾條或數條有問題時,業務也可以切換到正常鍊路上來。如果在資料中心外部,尤其是租用營運商的線路,這個外部環境并不是資料中心能夠控制的。如果在财力允許的情況下,可以租用多條鍊路。單條鍊路出故障,業務還可以走其它的鍊路。不過像ucloud和支付寶都是有備份鍊路的,支付寶甚至有四條鍊路,隻要有一條鍊路不斷,業務也不至于全斷。可惜的是四條全斷的事件還是發生了,這時能夠救資料中心的方式隻能是有異地資料中心或者災備資料中心,當正在運作的資料中心外部鍊路全部中斷時,業務可以及時遷移到其它資料中心,保持業務不受影響。這也是建立災備資料中心的重要性所在,如果說ucloud和支付寶提前有完整的異地災備系統,業務不至于中斷這麼久。平時在資料中心和災備資料中心之間有實時的備份流量,一旦主用資料中心發生故障,應用自動切換到災備資料中心上運作,切換過程非常短暫,對業務的影響微乎其微。

僅有各種鍊路的備份,資料中心的備份還不夠,最為關鍵的是要有能檢測到鍊路故障的手段,并根據這些檢測結果去自動執行應用業務的切換動作。首先,資料中心都有網管監控系統,當出現鍊路的down事件時,在網管中心就可以監測到,網管中心可以根據鍊路down的位置和數量,人工或自動的方式進行鍊路切換或者業務切換。人工的方式就是通過檢查鍊路down的故障位置,進行有針對性的業務切換,自動的方式就是通過鍊路down事件與系統提前設定好的動作關聯起來,根據不同位置的鍊路down有不同的應急預案,隻要系統自動執行即可恢複業務。其次,很多時候互連鍊路中間可以經過光傳輸裝置(主要在資料中心外部或者跨資料中心之間),這樣一端鍊路即使down了,另一側并不能感覺到,就需要部署一些檢測協定來感覺。常見的有聚合lacp協定、dldp協定、oam協定,lacp協定如果采用慢速的檢測,30秒才發送一個探測包,90秒逾時,是以切換速度是比較慢的,當然可以将這個配置為快速檢測,最快1秒發送一個探測包,3秒逾時,這樣能夠在幾秒鐘的時間裡完成鍊路切換。有的時候如果不是聚合備份關系,這時就要借助dldp協定,dldp協定本是檢測單光纖不通鍊路故障的,如果采用dldp,當協定逾時後迅速對端口做shutdown操作,這樣雲管理平台就可以感覺到端口down,采取修複動作。oam協定同樣是鍊路檢測協定,是實體鍊路層的協定,是以開銷更小,檢測速度更快,而且動作豐富,可以告警,可以down端口,可以和其它協定關聯。第三,要有災備的資料中心。如果是資料中心内部的down,業務影響範圍還不是特别廣,但如果是資料中心與外部互連的端口出現了down,嚴重時導緻整個資料中心無法運轉,這時就要啟用災備資料中心。将應用業務切換到災備資料中心,由災備資料中心接管業務。在主業務資料中心和災備資料中心之間要有實時的業務備份,同時還有一套共同的管理平台,確定在資料中心故障時,業務可以平滑切換到災備資料中心,這裡通常采用的還是路由切換的方式,通過調整路由将業務流量引入災備資料中心。要實作這個過程還是比較複雜的,要對多個資料中心的業務模型了如指掌,需要做業務遷移的時候,通過調整路由将業務切換到災備資料中心。第四,調整路由有時還是太慢了,也容易出錯,這時就出現了vxlan技術,vxlan技術将多個資料中心大二層打通,不同資料中心内部的虛拟機可以向其它資料中心自如遷移(所謂遷移指的是二層轉發)。這樣當一個資料中心故障時,所有的虛拟機業務可以全部遷移到災備資料中心,整個過程在業務層面都無感覺,切換速度快,調整簡單,而且很多時候這種遷移是系統自動完成,不需要人為參與的。

資料中心裡有很多鍊路檢測和切換的方法,目的就是應對突發的鍊路故障對業務的沖擊。當然,什麼事情都是過猶不及,對于核心的網絡裝置,往往含有的端口數百甚至上千,這麼多端口如果同時都做檢測,裝置會疲于處理各個端口上送的數量龐大的檢測封包,給裝置cpu造成負擔,是以鍊路檢測是否要部署,都部署到哪些端口上,具體采用哪些檢測協定和方法,都需要具體問題具體分析,按照每個資料中心自己的業務需求來部署,盡量以不增加裝置負擔,同時能夠達到檢測目的為好。

本文轉自d1net(轉載)

繼續閱讀