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