mlag 堆叠_S-MLAG解决方案介绍
1摘要
本文介紹了互聯(lián)網(wǎng)接入層可靠性設(shè)計(jì)的發(fā)展和實(shí)現(xiàn)。隨著互聯(lián)網(wǎng)業(yè)務(wù)的快速的擴(kuò)張和網(wǎng)絡(luò)架構(gòu)的發(fā)展,接入層可靠性也經(jīng)歷了從分到合,又從合到分的發(fā)展歷程。本文講述這一過(guò)程的同時(shí)也會(huì)詳細(xì)闡述去堆疊技術(shù)的原理和實(shí)現(xiàn)方式。
2服務(wù)器接入發(fā)展
隨著互聯(lián)網(wǎng)的爆發(fā)式增長(zhǎng),數(shù)據(jù)中心的規(guī)模也越來(lái)越大,數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)有傳統(tǒng)的二層架構(gòu),過(guò)渡成為了OSPF和BGP的全三層架構(gòu),理論上BGP三層架構(gòu)組網(wǎng)中可以承載100000+的服務(wù)器。
圖1服務(wù)器接入發(fā)展
隨著互聯(lián)網(wǎng)數(shù)據(jù)中心架構(gòu)的發(fā)展,服務(wù)器接入的發(fā)展也經(jīng)歷了三個(gè)階段,這三個(gè)階段分別為:
圖2服務(wù)器接入的發(fā)展階段
第一階段,接入層的交換機(jī)不支持虛擬化,接入交換機(jī)獨(dú)立運(yùn)行,服務(wù)器網(wǎng)卡工作在主備模式,主用設(shè)備故障時(shí)網(wǎng)卡會(huì)發(fā)生切換,交換機(jī)表項(xiàng)依靠數(shù)據(jù)流量進(jìn)行刷新。
第二階段,接入層交換機(jī)支持IRF等虛擬化技術(shù),支持將多臺(tái)設(shè)備虛擬化為一臺(tái),支持與服務(wù)器進(jìn)行鏈路聚合,從而在提高可用性的同時(shí)實(shí)現(xiàn)鏈路雙活,提高鏈路利用率。
第三階段,由于IRF等虛擬化技術(shù)實(shí)現(xiàn)門檻較高,同時(shí)也存在控制層面唯一,升級(jí)困難等問(wèn)題。在M-LAG和S-MLAG的技術(shù)出現(xiàn)后,實(shí)現(xiàn)了在接入層交換機(jī)控制層面分離的情況下實(shí)現(xiàn)了接入層鏈路雙活接入,同時(shí)S-MLAG實(shí)現(xiàn)相對(duì)非常簡(jiǎn)單,已經(jīng)被互聯(lián)網(wǎng)用戶所接受。S-MLAG又稱之為“去堆疊”,接下來(lái)的文章向大家詳細(xì)闡述S-MLAG技術(shù)的原理和實(shí)現(xiàn)。
3去堆疊技術(shù)實(shí)現(xiàn)原理
鏈路聚合模式分為靜態(tài)聚合和動(dòng)態(tài)聚合,與服務(wù)器聚合的對(duì)應(yīng)模式如下:
在靜態(tài)聚合模式中可以很簡(jiǎn)單實(shí)現(xiàn)跨設(shè)備鏈路聚合,只要接口UP同時(shí)關(guān)鍵配置一致時(shí)接口就可以處于聚合選中,但是靜態(tài)聚合缺乏LACP報(bào)文對(duì)鏈路的監(jiān)控和與鄰居的協(xié)商機(jī)制,在聚合模式選擇中通常選擇動(dòng)態(tài)聚合模式,服務(wù)器linux操作系統(tǒng)稱為mod5。為了在去堆疊方案中實(shí)現(xiàn)跨設(shè)備鏈路聚合,需要解決兩個(gè)問(wèn)題:
3.1在動(dòng)態(tài)鏈路聚合中,如何讓服務(wù)器認(rèn)為連接對(duì)端的接入交換機(jī)是同一個(gè)網(wǎng)絡(luò)設(shè)備?
圖3 LACPDU報(bào)文
圖3為L(zhǎng)ACPDU報(bào)文,在動(dòng)態(tài)聚合中當(dāng)Partner_System_Priority和Partner_System一致時(shí),則認(rèn)為對(duì)端設(shè)備為同一個(gè)設(shè)備。同時(shí)本端的不同端口接收LACPDU報(bào)文中要求Pantner_Port不一致Partner_key一致時(shí)則可以聚合成功。
圖4 S-MLAG配置實(shí)現(xiàn)
S-MLAG配置實(shí)現(xiàn)如下:
配置LACP的系統(tǒng)MAC地址:lacp system-mac mac-address(xxxx-xxxx-xxxx)
配置LACP的系統(tǒng)優(yōu)先級(jí):lacp system-priority priority(0-65535)
配置LACP的系統(tǒng)編號(hào)lacp system-number number(1-3)
配置聚合接口加入S-MLAG組port s-mlag group group-id(1~1024)
3.2在堆疊方案中兩臺(tái)設(shè)備虛擬為一臺(tái),控制層面只有一個(gè),兩臺(tái)設(shè)備的表項(xiàng)依靠LIPC進(jìn)行同步,M-LAG方案中依靠M-LAGPDU進(jìn)行同步,在S-MLAG方案中兩臺(tái)設(shè)備控制層面完全獨(dú)立,路由、ARP、MAC表項(xiàng)是如何同步的呢?
1.接入層交換機(jī)將主機(jī)的ARP路由轉(zhuǎn)換成為直連路由,并引入到BGP路由完成路由同步,到達(dá)服務(wù)器的流量由32位主機(jī)路由來(lái)引導(dǎo)。
圖5 ARP生成直連路由引入OSPF\BGP路由協(xié)議中
如圖5所示,將ARP生成的直連路由引入到OSPF\BGP路由中,從而達(dá)到全網(wǎng)設(shè)備主機(jī)路由的同步。
2.服務(wù)器在發(fā)送ARP請(qǐng)求和應(yīng)答需要在聚合的所有成員接口網(wǎng)卡進(jìn)行發(fā)送與接收,又叫做“ARP雙發(fā)”。實(shí)現(xiàn)去堆疊設(shè)備的ARP和MAC表項(xiàng)同步。按照流量HASH原理,ARP報(bào)文會(huì)按照算法選擇BOND成員網(wǎng)卡中的一個(gè)進(jìn)行發(fā)送,這樣去堆疊的兩臺(tái)設(shè)備ARP表項(xiàng)就不會(huì)同步。這時(shí)候需要修改服務(wù)器操作系統(tǒng)內(nèi)核,在發(fā)送ARP報(bào)文時(shí)在所有BOND的成員網(wǎng)卡發(fā)送。
圖6 ARP雙發(fā)
在服務(wù)器上看聚合接口狀態(tài)是兩個(gè)物理網(wǎng)卡聚合在一起的邏輯接口,單條物理線路的UP/DOWN邏輯的接口狀態(tài)并沒有變化,并不能觸發(fā)服務(wù)器發(fā)送免費(fèi)ARP的更新,如果沒有32位主機(jī)路由的牽引可能會(huì)造成流量負(fù)載不均衡。所以需要服務(wù)器的OS內(nèi)核進(jìn)一步優(yōu)化,當(dāng)服務(wù)器成員接口發(fā)生UP/DOWN時(shí),發(fā)送免費(fèi)ARP進(jìn)行更新。
3.兩臺(tái)接入交換機(jī)連接服務(wù)器的三層網(wǎng)關(guān)接口MAC地址更改為相同的MAC地址,避免兩臺(tái)設(shè)備發(fā)送不同的MAC地址造成服務(wù)器側(cè)ARP表項(xiàng)反復(fù)切換。
3.3為了保障故障快速切換,在網(wǎng)絡(luò)設(shè)備的配置上還需要做如下優(yōu)化配置:
1.接入設(shè)備開啟BUM隔離、本地ARP代理,避免在相同TOR接入服務(wù)器相互學(xué)習(xí)到真實(shí)MAC的ARP,因?yàn)樵诜?wù)器某一服務(wù)器網(wǎng)卡DOWN之后,該TOR的其他服務(wù)器訪問(wèn)該服務(wù)器還使用真實(shí)MAC封裝,就會(huì)導(dǎo)致訪問(wèn)異常。這時(shí)需要TOR交換機(jī)開啟BUM流量隔離,接入交換機(jī)網(wǎng)關(guān)開啟本地ARP代理功能,在同一TOR下服務(wù)器的二層流量也需通過(guò)三層轉(zhuǎn)發(fā)。
2.開啟TOR上行接口監(jiān)控。如果TOR的上聯(lián)接口全部DOWN時(shí),下行接入服務(wù)器無(wú)法感知到,服務(wù)器會(huì)繼續(xù)向故障TOR發(fā)送數(shù)據(jù)。這時(shí)需要配置monitor-link監(jiān)控上行線路,當(dāng)上行接口全部故障時(shí),關(guān)閉下行接口,同時(shí)上行接口UP時(shí),下行接口也需要延遲UP。因?yàn)樯闲薪涌诘腂GP等路由協(xié)議收斂速度遠(yuǎn)遠(yuǎn)大于下行接口鏈路聚合收斂速度,所以需要在上行接口UP時(shí),下行接口延遲UP。
3.開啟ARP主動(dòng)探測(cè)。去堆疊方案中去往服務(wù)器的流量都是由32位主機(jī)路由進(jìn)行引導(dǎo),如果出現(xiàn)靜默主機(jī)無(wú)法生成ARP主機(jī)路由的情況,在此種情況下可以通過(guò)交換機(jī)主動(dòng)探測(cè)ARP功能進(jìn)行優(yōu)化。
4堆疊與去堆疊技術(shù)對(duì)比
在去堆疊方案中將兩個(gè)控制層面完全獨(dú)立的交換機(jī)上面實(shí)現(xiàn)了服務(wù)器的雙活接入,下面表1是S-MALG、M-LAG和堆疊的三種接入方案的詳細(xì)對(duì)比:
表1 S-MALG、M-LAG和堆疊的三種接入方案的對(duì)比
去堆疊具有良好的兼容性,可以實(shí)現(xiàn)不同廠家設(shè)備的異構(gòu),這是M-LAG和堆疊無(wú)法做到的。M-LAG和堆疊在底層實(shí)現(xiàn)十分復(fù)雜,需要進(jìn)行大量表項(xiàng)和狀態(tài)同步工作,去堆疊對(duì)交換機(jī)LACP協(xié)議進(jìn)行簡(jiǎn)單的改動(dòng)就可以實(shí)現(xiàn),三層表項(xiàng)通過(guò)現(xiàn)有路由協(xié)議同步,二層表項(xiàng)通過(guò)服務(wù)器“ARP雙發(fā)”實(shí)現(xiàn)。
去堆疊也有其劣勢(shì),為了實(shí)現(xiàn)“ARP雙發(fā)”需要修改操作系統(tǒng)內(nèi)核代碼,對(duì)維護(hù)和開發(fā)人員要求都非常高,互聯(lián)網(wǎng)使用的操作系統(tǒng)比較單一都是Linux操作系統(tǒng),操作系統(tǒng)版本統(tǒng)一,容易完成修改和適配。設(shè)備發(fā)生故障收斂時(shí)相對(duì)于堆疊收斂還是有一定差距的,同時(shí)S-MLAG方案的適配場(chǎng)景相對(duì)單一,必須是全三層組網(wǎng),接入的二層隔離也限制了組播等一些應(yīng)用。
5去堆疊技術(shù)總結(jié)
S-MLAG解決方案在不更改現(xiàn)有服務(wù)器接入模式的情況下,經(jīng)過(guò)對(duì)交換機(jī)LACP協(xié)議簡(jiǎn)單的修改完成跨設(shè)備動(dòng)態(tài)鏈路聚合,但是S-MLAG解決方案也有一定的局限性,需要對(duì)操作系統(tǒng)內(nèi)核ARP部分進(jìn)行修改,門檻要求較高。在特定組網(wǎng)中經(jīng)過(guò)對(duì)協(xié)議的簡(jiǎn)單改造解決復(fù)雜的問(wèn)題,S-MLAG解決方案為我們對(duì)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)提供了另外一種思路。
總結(jié)
以上是生活随笔為你收集整理的mlag 堆叠_S-MLAG解决方案介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java8 函数式对齐约定————Ecl
- 下一篇: c语言拔河分组回溯算法,【阅读下面的文字