1. 程式人生 > 實用技巧 >後浪:移動網際網路時代的資料中心設計

後浪:移動網際網路時代的資料中心設計

前言

隨著移動網際網路的蓬勃發展,今天的資料中心和10年前的資料中心大為不同,無論從IDC的機器規模,還是流量模型都發生了很大變化。《前浪:傳統資料中心的網路模型》已經為大家介紹了資料中心網路建設的基本要求、傳統web時代的網路架構;本文將從以下幾方面對移動網際網路時代的資料中心進行介紹。

01

移動網際網路時代的資料中心網路設計的目標是什麼?

02

移動網際網路時代資料中心的架構是怎樣的?

03

Clos架構為何選擇BGP作為路由協議?

04

資料中心中伺服器雙歸路接入是怎樣的?

作者| 個推高階運維工程師 山川

01

網際網路時代資料中心的設計目標

現代資料中心的演進都是由大型網際網路公司的需求驅動的,資料中心的核心需求主要包括三個維度:

a) 端到端(server to server)的通訊量

單體應用到微服務化的轉變,導致南北向流量減少,東西向流量增加。

b) 規模

現代資料中心一個機房可能就有數萬臺伺服器。

c) 彈性

傳統資料中心的設計都是假設網路是可靠的,而現代資料中心應用都是假設網路是不可靠的,總會因為各種原因導致網路或機器故障。彈性就是要保證發生故障時,受影響的範圍可控,故障後果可控。

現代資料中心網路必須滿足以上三方面基本需求。

注:多租戶網路需要額外考慮支援虛擬網路的快速部署和拆除。

02

現代資料中心網路架構

目前,大型網際網路公司採用一種稱為 Clos 的架構。Clos 架構最初是貝爾實驗室的 Charles Clos 在 1950s 為電話交換網設計的。Clos設計可以實現無阻塞架構(non-blocking architecture),保障上下行頻寬都充分利用。

1) Clos架構由來

傳統三層網路架構採用的“南北流量模型”,不適用於移動網際網路環境。2008年,一篇題為《A scalable, commodity data center network architecture》的文章,首先提出將Clos架構應用在網路架構中。2014年,在Juniper的白皮書中,也提到了Clos架構。這一次,Clos架構應用到了資料中心網路架構中來。這是Clos架構的第三次應用。由於這種網路架構來源於交換機內部的Switch Fabric,因此這種網路架構也被稱為Fabric網路架構。現在流行的Clos網路架構是一個二層的spine/leaf架構, spine交換機和leaf交換機之間是以full-mesh方式連線。

2) Clos架構中交換機的角色

Clos架構中交換機有兩種角色:leaf switch 和 spine switch。

leaf switch:相當於傳統三層架構中的接入交換機,作為TOR(Top Of Rack)直接連線物理伺服器。與接入交換機的區別在於,L2/L3網路的分界點現在是在leaf交換機上,leaf交換機之上則是三層網路。

spine switch:相當於核心交換機。spine和leaf交換機之間通過ECMP(Equal Cost Multi Path)動態選擇多條路徑。區別在於,spine交換機現在只是為leaf交換機提供一個彈性的L3路由網路,資料中心的南北流量可以選擇從spine交換機發出,也可以與leaf交換機並行的交換機(edge switch)先連線,再從WAN/Core router中出去。

3)Clos網路架構的特點

a) 連線的一致性(uniformity of connectivity):任意兩個伺服器之間都是 3 跳

b) 節點都是同構的(homogeneous):伺服器都是對等的,交換機/路由器也是

c) 全連線(full-mesh):故障時影響面小(gracefully with failures);總頻寬高 ,而且方便擴充套件,總頻寬只受限於 Spine 的介面數量

4)Clos架構和傳統三層網路對比

對比spine/leaf網路架構和傳統三層網路架構,可以看出傳統的三層網路架構是垂直的結構,而spine/leaf網路架構是扁平的結構。從結構看,spine/leaf架構更易於水平擴充套件。

5)移動互聯時代二層技術Vxlan

Vxlan(虛擬擴充套件區域網),是由IETF定義的NVO3(Network Virtualization over Layer 3)標準技術之一,採用L2 over L4(MAC-in-UDP)的報文封裝模式,將二層報文用三層協議進行封裝,可實現二層網路在三層範圍內進行擴充套件,同時滿足資料中心大二層虛擬遷移和多租戶的需求。

6)Clos和Vxlan結合的邏輯二層網路模型

路由轉發層面採用Clos組網模式,二層的虛擬機器漂移用Vxlan技術隔離二層的廣播域,兼具三層組網的靈活性,同時又避免了二層的環路和廣播風暴問題。

03

Clos架構中為何選擇BGP作為路由協議

運營商和資料中心場景對比

在 BGP 應用於資料中心之前,它主要服務於提供商網路。這導致的一個問題就是,資料中心不能執行 BGP,否則會和底層供應商的網路相沖突。網路管理和運維人員,應重點關注這一點。

運營商和資料中心網路場景對比

資料中心:高密度連線

服務提供商:主要是區域間網路互聯,相對低密度連線

服務提供商的網路首先需考慮可靠性,其次才是(路由等)變化的快速通知。因此,BGP 傳送通知的實時性較弱。而在資料中心中,路由需要快速收斂。

另外,由於 BGP 自身的設計、行為,以及它作為路徑向量協議的特性,單個鏈路掛掉會導致節點之間傳送大量 BGP 訊息。BGP 從多個 ASN 收到一條 prefix(路由網段字首)之後,最終只會生成一條最優路徑。而在資料中心中,我們希望生成多條路徑。為適配資料中心而對 BGP 進行的改造,大家可以自行查閱FRC 7938文件。

BGP從運營商環境適配到資料中心的改動

資料中心的改動以及需要考慮的因素主要涉及到以下幾個方面:

各種路由協議

傳統 BGP 從 OSPF、IS-IS、EIGRP等內部路由協議(internal routing protocols)接收路由通告,用於控制企業內的路由。因此不少人誤以為要在資料中心中落地 BGP,還需要另一個協議。但實際上,在資料中心中 BGP 就是(特定的)內部路由協議,不需要再執行另一個協議了。

iBGP和eBGP

不少人在資料中心協議選擇中存在一個誤區,即認為在資料中心內部,就應該選擇內部閘道器協議(iBGP)。實際上,在資料中心中, eBPG 的使用最為廣泛,其主要原因是 eBGP 比 iBGP 更易理解和部署。iBGP 的最優路徑選擇演算法很複雜,而且存在一些限制,其使用、配置、管理相對比較複雜,而eBGP 的實現比 iBGP 簡單的多,可供我們選擇的路徑也比較多。

預設定時器導致的慢收斂

簡而言之,BGP 中的幾個定時器控制 peer 之間通訊的速度。對於 BGP,這些引數的預設值都是針對服務提供商環境進行優化的,其中穩定性的優先順序高於快速收斂。而資料中心則相反,快速收斂的優先順序更高。

當一個節點掛掉,或掛掉之後恢復時,有四個定時器影響 BGP 的收斂速度。我們對這些引數進行調優,可以使BGP 達到內部路由協議(例如 OSFP)的效能,推薦配置如下:

Advertisement Interval

Keepalive and Hold Timers

Connect Timer

Advertisement Interval

Advertisement Interval

在釋出路由通告的間隔內所產生的事件會被快取,等時間到了一起傳送。

預設:eBGP 是 30s,iBGP 是 0s。

對於密集連線型的資料中心來說,30s 顯然太長了,0s 比較合適。這會使得eBGP 的收斂速度達到 OSFP 這種 IGP 的水平。

Keepalive and Hold Timers

每個節點會向它的 peer 傳送心跳訊息。如果一段時間內(稱為 hold time)網路裝置沒收到 peer 的心跳,就會清除所有從這個 peer 收到的訊息。

預設:

Keepalive: 60s

Hold timer: 180s

這表示每分鐘發一個心跳,如果三分鐘之內一個心跳都沒收到,就認為 peer 掛了。資料中心中的三分鐘太長了,足以讓人“過完一生”。

典型配置

Keepalive: 3s

Hold timer: 9s

Connect Timer:節點和 peer 建立連線失敗後,再次嘗試建立連線之前需要等待的時長。

預設:60s。

資料中心預設 BGP 配置

很多 BGP 實現的預設配置都是針對服務提供商網路調優的,而不是針對資料中心。

建議:顯示配置用到的引數(即使某些配置和預設值相同),這樣配置一目瞭然,運維和排障都比較方便。

以下是 FRRouting BGP 的預設配置,我們認為是資料中心 BGP 的最優實踐,供大家參考。

Multipath enabled for eBGP and iBGP

Advertisement interval: 0s

Keepalive and Hold Timers: 3s and 9s

Logging adjacency changes enabled

資料中心伺服器接入技術概述

資料中心伺服器接入主要採用以下三種模式:

1)主備雙上聯模式

伺服器網絡卡bond模式配置mode 0 ,鏈路雙上聯主備模式,Tor層面採用兩臺獨立的交換機。

2)鏈路捆綁雙上聯

伺服器網絡卡bond模式配置mode 4 ,動態lacp協商,TOR交換機採用兩臺邏輯虛擬化部署,從裝置和鏈路層邏輯上都呈現為傳統二層模式,是當前用的較多的接入技術方案。

3)M-lag 技術

伺服器網絡卡bond模式配置mode 4 ,動態lacp協商,TOR交換機採用兩臺獨立部署,中間加心跳線,執行M-lag協議。這個是國內裝置廠家支援的通用技術。

結語

IDC網路是上層應用的基礎,穩定的網路建設才能為上層應用提供強大的支撐和保障。本文對IDC網路從PC時代到移動網際網路時代的演進過程進行了總結,希望能給大家的網路建設提供一定的思路。個推也將持續關注網路發展趨勢,不斷探索多種應用場景,與開發者一起分享最新實踐。