原創:廈門微思網絡
M-LAG(Multichassis Link Aggregation Group)提供一種跨設備鏈路聚合的技術。M-LAG通過將兩臺接入交換機以同一個狀態和用戶側設備或服務器進行跨設備的鏈路聚合,把鏈路的可靠性從單板級提升到設備級。同時,由于M-LAG設備可以單獨升級,保證了業務流量的穩定性,使得M-LAG技術在數據中心網絡廣泛應用。
點擊查看【相關學習】
高可用技術——M-LAG
【華為】VRRP原理與配置
【實驗】配置STP
為什么需要M-LAG
近幾年來,M-LAG作為一項虛擬化技術被廣泛使用,然而M-LAG技術的發展并非一蹴而就。
眾所周知,傳統的數據中心網絡采用設備和鏈路冗余保證高可靠性。因其鏈路利用率低和網絡維護成本高,數據中心交換機又提出了堆疊技術,將多臺交換機虛擬成一臺交換機,達到簡化網絡部署和降低網絡維護的目的。
為了滿足業務量增大和對網絡更高可靠性的要求,于是出現了M-LAG虛擬化技術,通過多臺設備間的鏈路聚合將鏈路的可靠性從單板級提高到設備級。
STP+VRRP技術
傳統的數據中心網絡采用STP+VRRP協議來保障鏈路冗余,滿足了基本的可靠性需求。
STP+VRRP技術示意圖
但STP+VRRP方案存在如下痛點,已無法滿足數據中心流量和規模的快速增長。
- STP的阻塞鏈路機制,導致二層鏈路利用率低。
- VRRP的主備備份功能,導致三層鏈路利用率低。
- Server僅支持以主備方式接入設備。
針對STP+VRRP方案的缺點,先后出現了堆疊和M-LAG虛擬化技術,用于滿足業務量增大和對網絡更高可靠性的要求。
堆疊和M-LAG虛擬化技術
堆疊和M-LAG實現跨設備鏈路聚合提高二層鏈路利用率,M-LAG的雙活網關技術提高了三層鏈路利用率,且服務器可以通過鏈路聚合實現雙活接入設備。
堆疊和M-LAG虛擬化技術示意圖
M-LAG和堆疊都可以解決傳統數據中心網絡的問題,但從業務穩定性考慮,通常選擇M-LAG。
堆疊和M-LAG作為廣泛運用于數據中心網絡接入層的兩種橫向虛擬化技術,他們都可實現終端的冗余接入,實現鏈路冗余備份,提高數據中心網絡的可靠性和可擴展性。然而,與堆疊技術相比,M-LAG存在更高的可靠性和獨立升級的優勢。
對比了堆疊和M-LAG的優劣。針對升級過程業務中斷時間要求高、對組網可靠性要求高的場景,我們推薦用戶使用M-LAG技術,用作數據中心網絡終端接入技術。
堆疊和M-LAG的對比
如何實現M-LAG組網
在M-LAG系統中,ServerA、DeviceA和DeviceB進行跨設備鏈路聚合。DeviceA和DeviceB通過動態交換服務組DFS Group(Dynamic Fabric Service Group)完成M-LAG設備之間的配對,當DeviceA和DeviceB配對成功后會協商出主備關系。在M-LAG正常工作后,DeviceA和DeviceB之間通過peer-link鏈路實時同步對端信息。而M-LAG的故障檢測則主要依賴于雙主檢測鏈路(DAD link,Dual-Active Detection link),設備通過雙主檢測鏈路定期互發心跳報文。
M-LAG組網示意圖
M-LAG組網詳細的實現流程包括以下五步:DFS Group配對、DFS Group協商主備、M-LAG成員口協商主備、雙主檢測和M-LAG信息同步。
M-LAG組網實現過程
M-LAG是如何工作的
M-LAG正常工作場景
- 已知單播流量轉發
當M-LAG正常工作時,自用戶側發往網絡側的已知單播流量(圖中綠色流量)由M-LAG主備設備形成逐流負載分擔,共同進行流量的轉發。反之,自網絡側發往用戶側的已知單播流量(圖中黃色流量)同樣由M-LAG主備設備形成逐流負載分擔,共同進行流量的轉發。
M-LAG已知單播流量轉發示意圖
- 組播、廣播和未知單播流量轉發
當M-LAG正常工作時,自用戶側發往網絡側的組播、廣播和未知單播流量(圖中黃色流量)在設備間泛洪擴散。對于可能造成的環路(圖中紅色),則利用M-LAG的單向隔離機制隔絕由peer-link發往M-LAG成員口的流量。反之,當網絡側發往用戶側的組播、廣播和未知單播流量(圖中綠色流量)在設備間泛洪擴散時,同樣利用單向隔離機制隔絕由peer-link發往M-LAG成員口的流量。
M-LAG組播、廣播和未知單播流量轉發示意圖
M-LAG故障工作場景
- 上行鏈路故障
M-LAG接入普通以太網場景,由于M-LAG主設備的上行鏈路故障,通過M-LAG主設備的流量均經過peer-link鏈路進行轉發。M-LAG接入三層網絡場景下,需要在M-LAG主備設備間配置三層逃生鏈路,使得到達M-LAG主設備的上行流量通過三層逃生鏈路到達M-LAG備設備。
當故障的上行鏈路恰好為雙主檢測鏈路,此時對于M-LAG正常工作沒有影響。一旦peer-link也發生故障,M-LAG出現雙主沖突,雙主檢測又無法進行,此時用戶側發往Master的流量會因為沒有上行口而被丟棄。針對這個問題我們可以用管理口作為雙主檢測鏈路;也可以配置Monitor-link功能,將M-LAG成員口和上行口關聯,一旦上行鏈路故障會聯動M-LAG成員口故障,這樣就防止了流量的丟失。
上行鏈路故障示意圖
- M-LAG成員口故障
當M-LAG成員口故障時,用戶側發往網絡側的流量(圖中綠色流量)由正常鏈路負載分擔轉發,網絡側不感知故障,流量依然發送給雙歸設備。由于M-LAG成員口故障,雙歸場景變為單歸場景,此時端口隔離機制放開。當M-LAG成員口故障設備收到從網絡側發往用戶側流量(圖中黃色流量),會通過peer-link將流量交給正常工作的M-LAG設備轉發到用戶側。
當M-LAG成員口故障恢復后,M-LAG成員口UP會觸發一次M-LAG系統的MAC表項同步,單歸場景恢復為雙歸場景,流量恢復負載分擔轉發。
M-LAG成員故障示意圖
- peer-link故障
M-LAG雙歸接入設備一旦感知peer-link鏈路狀態為Down,會立即通過DAD鏈路發起一次雙主檢測。如果在一定時間內未收到對端發布的雙主檢測報文,則認為對端設備故障。如果收到對端發送的雙主檢測報文,則認為peer-link故障。
Peer-link故障時,兩臺M-LAG設備不能同時轉發流量,若同時轉發流量會出現廣播風暴、MAC漂移等問題。因此M-LAG備設備會將除peer-link口、堆疊口和管理網口之外的所有物理接口Error-down。此時,流量都只會從M-LAG主設備轉發。
Peer-link故障恢復后,peer-link接口UP,M-LAG系統將重新協商。協商完成后,為保障M-LAG的端口隔離機制生效,除M-LAG成員口以外的其他口恢復UP狀態,而M-LAG成員口在4分鐘后恢復UP狀態。
peer-link故障示意圖
- M-LAG設備故障
M-LAG主設備故障,M-LAG備設備將升級為主,其設備側Eth-Trunk鏈路狀態仍為UP,流量轉發狀態不變,繼續轉發流量。M-LAG主設備側Eth-Trunk鏈路狀態變為Down,雙歸場景變為單歸場景。
如果是M-LAG備設備發生故障,M-LAG的主備狀態不會發生變化,M-LAG備設備側Eth-Trunk鏈路狀態變為Down。M-LAG主設備側Eth-Trunk鏈路狀態仍為UP,流量轉發狀態不變,繼續轉發流量,雙歸場景變為單歸場景。
M-LAG設備故障恢復時,peer-link先UP,DFS狀態重新協商,M-LAG成員口恢復UP,流量恢復負載分擔。M-LAG主設備恢復后設備狀態仍然為主,M-LAG備設備恢復后設備狀態仍然為備。
M-LAG設備故障示意圖
如何應用M-LAG技術
通過上文我們了解到M-LAG有負載分擔流量和備份保護的作用,那么下面我們介紹M-LAG的應用場景。
M-LAG主要應用于將服務器或交換機雙歸接入二層網絡、VXLAN網絡和三層網絡,以及多級M-LAG。
M-LAG雙歸接入二層網絡
M-LAG雙歸接入二層網絡時,需要將兩臺M-LAG設備模擬成同一個STP邏輯節點,達到與STP對接破環的目的。
我們可以通過手動配置雙歸設備為STP網絡根橋或配置VSTP協議,將M-LAG兩個設備模擬成一個STP節點。其中,VSTP協議的作用主要是在雙歸設備之間同步STP協議狀態,將兩臺設備以同一個狀態對外進行STP協商。
M-LAG雙歸接入二層網絡示意圖
M-LAG雙歸接入VXLAN網絡
M-LAG雙歸接入VXLAN網絡時,需要將兩臺M-LAG設備虛擬成一個VTEP。無論是手工建立隧道還是通過MP-BGP自動建立隧道,DeviceA和DeviceB均用這個虛擬的VTEP的IP和外界建立VXLAN隧道。
M-LAG雙歸接入VXLAN網絡示意圖
M-LAG雙歸接入三層網絡
M-LAG雙歸接入三層網絡時,M-LAG雙歸設備成為二層網絡和三層網絡的分界點,即承擔網關的作用。由于是兩臺設備做網關,他們對網絡側需要展示相同的網關IP和MAC。在DeviceA和DeviceB上配置相同IP地址和虛擬MAC地址,達到相同網關的目的。
M-LAG雙歸接入三層網絡示意圖
多級M-LAG
在網絡規模較大場景下,可以在Spine和Leaf同時部署M-LAG來保證鏈路可靠性。圖中灰色底紋中的兩臺設備組成M-LAG。
多級M-LAG應用場景,不能使用手動配置根橋的方式來進行STP破環,需要通過VSTP協議來同步M-LAG雙歸設備的STP協議狀態信息。
多級M-LAG網絡示意圖