M-LAG技术详解
M-LAG簡介
定義
M-LAG(Multichassis Link Aggregation Group)即跨設備鏈路聚合組,是一種實現跨設備鏈路聚合的機制,如圖1所示,將SwitchA和SwitchB通過peer-link鏈路連接并以同一個狀態和Switch進行鏈路聚合協商,從而把鏈路可靠性從單板級提高到了設備級。
圖1?M-LAG示意圖
?
目的
M-LAG作為一種跨設備鏈路聚合的技術,除了具備增加帶寬、提高鏈路可靠性、負載分擔的優勢外,還具備以下優勢:
-
更高的可靠性
把鏈路可靠性從單板級提高到了設備級。
-
簡化組網及配置
可以將M-LAG理解為一種橫向虛擬化技術,將雙歸接入的兩臺設備在邏輯上虛擬成一臺設備。M-LAG本身提供了一個沒有環路的二層拓撲同時實現冗余備份,極大的簡化了組網及配置。
-
獨立升級
兩臺設備可以分別進行升級,保證有一臺設備正常工作即可,對正在運行的業務幾乎沒有影響。
M-LAG的基本概念
如圖1所示,用戶側設備Switch(可以是交換機或主機)通過M-LAG機制與另外兩臺設備(SwitchA和SwitchB)進行跨設備鏈路聚合,共同組成一個雙活系統。這樣可以實現SwitchA和SwitchB共同進行流量轉發的功能,保證網絡的可靠性。
圖1?M-LAG基本拓撲
?
下面介紹下M-LAG涉及的相關概念,如表1所示。
| DFS Group | 動態交換服務組DFS Group(Dynamic Fabric Service Group),主要用于部署M-LAG設備之間的配對,M-LAG雙歸設備之間的接口狀態,表項等信息同步需要依賴DFS Group協議進行同步。 |
| DFS主設備 | 部署M-LAG且狀態為主的設備,通常也稱為M-LAG主設備。 |
| DFS備設備 | 部署M-LAG且狀態為備的設備,通常也稱為M-LAG備設備。 說明:DFS Group的角色區分為主和備,正常情況下,主設備和備設備同時進行業務流量的轉發,轉發行為沒有區別,僅在故障場景下,主備設備的行為會有差別。 |
| 雙主檢測鏈路 | 雙主檢測鏈路,又稱為心跳鏈路,是一條三層互通鏈路,用于M-LAG主備設備間發送雙主檢測報文。 說明:正常情況下,雙主檢測鏈路不會參與M-LAG的任何轉發行為,只在故障場景下,用于檢查是否出現雙主的情況。雙主檢測鏈路可以通過外部網絡承載(比如,如果M-LAG上行接入IP網絡,那么兩臺雙歸設備通過IP網絡可以互通,那么互通的鏈路就可以作為雙主檢測鏈路)。也可以單獨配置一條三層可達的鏈路來作為雙主檢測鏈路(比如通過管理口)。 |
| peer-link接口 | peer-link鏈路兩端直連的接口均為peer-link接口。 |
| peer-link鏈路 | peer-link鏈路是一條直連鏈路且必須做鏈路聚合,用于交換協商報文及傳輸部分流量。接口配置為peer-link接口后,該接口上不能再配置其它業務。 為了增加peer-link鏈路的可靠性,推薦采用多條鏈路做鏈路聚合。 |
| HB DFS主設備 | 通過心跳鏈路來協商的狀態為主的設備。 說明:通過心跳鏈路報文來協商的設備HB DFS主備狀態在正常情況下,對M-LAG的轉發行為不會產生影響,僅用于二次故障恢復場景下,在原DFS主設備或備設備故障恢復且peer-link鏈路仍然故障時,觸發HB DFS狀態為備的設備上相應端口Error-Down,避免M-LAG設備在雙主情況下出現的流量異常。 |
| HB DFS備設備 | 通過心跳鏈路來協商的狀態為備的設備。 說明:通過心跳鏈路報文來協商的設備HB DFS主備狀態在正常情況下,對M-LAG的轉發行為不會產生影響,僅用于二次故障恢復場景下,在原DFS主設備或備設備故障恢復且peer-link鏈路仍然故障時,觸發HB DFS狀態為備的設備上相應端口Error-Down,避免M-LAG設備在雙主情況下出現的流量異常。 |
| M-LAG成員接口 | M-LAG主備設備上連接用戶側主機(或交換設備)的Eth-Trunk接口。 為了增加可靠性,推薦鏈路聚合配置為LACP模式。 M-LAG成員接口角色也區分主和備,與對端同步成員口信息時,狀態由Down先變為Up的M-LAG成員接口成為主M-LAG成員口,對端對應的M-LAG成員口為備。 說明:僅在M-LAG接入組播場景下,M-LAG成員接口的主備角色存在轉發行為差異。 |
?
M-LAG協議交互原理
基于M-LAG組成的雙活系統提供了設備級的可靠性,那么M-LAG是如何建立的?如圖 M-LAG的建立所示,M-LAG的建立過程有如下幾個步驟:
圖1?M-LAG的建立
?
DFS Group配對
當設備完成M-LAG配置后,設備首先通過peer-link鏈路發送DFS Group的Hello報文。當設備收到對端的Hello報文后,會判斷報文中攜帶的DFS Group編號是否和本端相同,如果兩臺設備的DFS Group編號相同,則兩臺設備DFS Group配對成功。
DFS Group協商主備
配對成功后,兩臺設備會向對端發送DFS Group的設備信息報文,設備根據報文中攜帶的DFS Group優先級以及系統MAC地址確定出DFS Group的主備狀態。
以SwitchB為例,當SwitchB收到SwitchA發送的報文時,SwitchB會查看并記錄對端信息,然后比較DFS Group的優先級,如果SwitchA的DFS Group優先級高于本端的DFS Group優先級,則確定SwitchA為DFS主設備,SwitchB為DFS備設備。如果SwitchA和SwitchB的DFS Group優先級相同,比較兩臺設備的MAC地址,確定MAC地址小的一端為DFS主設備。
DFS Group的角色區分為主和備,正常情況下,主設備和備設備同時進行業務流量的轉發,轉發行為沒有區別,僅在故障場景下,主備設備的行為會有差別。
M-LAG成員接口協商主備
在DFS Group協商出主備狀態后,M-LAG的兩臺設備會通過peer-link鏈路發送M-LAG設備信息報文,報文中攜帶了M-LAG成員接口的配置信息。在成員口信息同步完成后,確定M-LAG成員接口的主備狀態。
與對端同步成員口信息時,狀態由Down先變為Up的M-LAG成員接口成為主M-LAG成員口,對端對應的M-LAG成員口為備,且主備狀態默認不回切,即:當M-LAG成員接口狀態為主的設備故障恢復后,先前由備狀態升級為主狀態的接口仍保持主狀態,恢復故障的M-LAG成員接口狀態為備,此處與DFS Group協商主備狀態不一致。
雙主檢測
協商出M-LAG主備后,兩臺設備之間會通過雙主檢測鏈路每1s發送一個M-LAG雙主檢測報文,15s為一個周期,若三個周期內兩臺設備均能夠收到對端發送的雙主檢測報文,雙活系統即開始正常的工作;若三個周期內未收到雙主檢測報文則心跳超時。一旦設備感知到peer-link故障,設備會按照每100ms發送三個雙主檢測鏈路報文,加速檢測。
在DFS Group配對失敗或者peer-link故障場景下,雙主檢測鏈路用于檢查是否出現雙主的情況。雙主檢測鏈路可以通過外部網絡承載(比如,如果M-LAG上行接入IP網絡,那么兩臺雙歸設備通過IP網絡可以互通,那么互通的鏈路就可以作為雙主檢測鏈路)。也可以單獨配置一條三層可達的鏈路來作為雙主檢測鏈路(比如通過管理口)。
雙主檢測鏈路通過管理網口互通,DFS Group綁定的管理網口IP地址要保證可以相互通信,管理網口下綁定VPN實例,保證雙主檢測報文與業務流量隔離。
雙主檢測鏈路通過業務網絡互通,DFS Group綁定的IP地址要保證可以三層互通。如果peer-link接口之間建立路由鄰居關系,則業務網絡雙主檢測報文會直接通過最優路由經peer-link鏈路傳輸。一旦peer-link故障,路由收斂期間,雙主檢測報文通過次優路徑傳輸到對端,雙主檢測時間會慢0.5秒或者1秒的時間。
M-LAG同步信息
正常工作后,兩臺設備之間會通過peer-link鏈路發送M-LAG同步報文實時同步對端的信息,M-LAG同步報文中主要包括MAC表項、ARP以及STP等,并發送M-LAG成員端口的狀態,這樣任意一臺設備故障都不會影響流量的轉發,保證正常的業務不會中斷。
用戶可以通過display fei m-lag synchronization packet statistics查看支持的具體報文類型。
M-LAG應用場景
M-LAG特性主要應用于將服務器或交換機雙歸接入普通以太網絡、TRILL(Transparent Interconnection of Lots of Links)、VXLAN(Virtual eXtensible Local Area Network)和IP網絡。一方面可以起到負載分擔流量的作用,另一方面可以起到備份保護的作用。由于M-LAG支持多級互聯,M-LAG的組網可以分為單級M-LAG和多級M-LAG。
單級M-LAG場景
- 交換機的雙歸接入
如圖1所示,為了保證可靠性,交換機在接入網絡時需要考慮鏈路的冗余備份,采用部署MSTP等破環協議的方式可以實現,但是這種方式下鏈路的利用率很低,浪費大量的帶寬資源。為了實現冗余備份同時提高鏈路的利用率,在SwitchA與SwitchB之間部署M-LAG,實現Switch的雙歸接入。這樣SwitchA與SwitchB形成負載分擔,共同進行流量轉發,當其中一臺設備發生故障時,流量可以快速切換到另一臺設備,保證業務的正常運行。
圖1?交換機雙歸接入應用組網圖
-
?
- 服務器的雙歸接入
如圖2所示,為了保證可靠性,服務器一般采用鏈路聚合的方式接入網絡,如果服務器接入的設備故障將導致業務的中斷。為了避免這個問題的發生,服務器可以采用跨設備鏈路聚合的方式接入網絡,在SwitchA與SwitchB之間部署M-LAG,實現服務器的雙歸接入。SwitchA與SwitchB形成負載分擔,共同進行流量轉發,當其中一臺設備發生故障時,流量可以快速切換到另一臺設備,保證業務的正常運行。
服務器雙歸接入時的配置和一般的鏈路聚合配置沒有差異,必須保證服務器側和交換機側的鏈路聚合模式一致,推薦兩端均配置為LACP模式。
圖2?服務器雙歸接入應用組網圖
-
?
多級M-LAG場景
如圖3所示,SwitchA和SwitchB之間部署M-LAG后,在SwitchC和SwitchD之間部署M-LAG并與下層的M-LAG進行級聯,這樣不僅可以簡化組網,而且在保證可靠性的同時可以擴展雙歸接入服務器的數量。多級M-LAG互聯必須基于V-STP方式進行配置。
圖3?多級M-LAG互聯應用組網圖
?
總結
- 上一篇: 电商互动消息如何进行架构演进?
- 下一篇: lds链接脚本