資料中心場景中的M-LAG組網
M-LAG簡介
定義
概念 |
說明 |
---|---|
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成員介面的主備角色存在轉發行為差異。 |
-
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的主備狀態。
優先順序高的或者MAC地址小的作為主。
-
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接入組播場景下,M-LAG成員介面的主備角色存在轉發行為差異。
-
雙主檢測
協商出M-LAG主備後,兩臺裝置之間會透過雙主檢測鏈路按 照1s的週期傳送M-LAG雙主檢測報文,一旦裝置感知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秒的時間。
6、 M-LAG同步資訊
正常工作後,兩臺裝置之間會透過peer-link鏈路傳送M-LAG同步報文實時同步對端的資訊,M-LAG同步報文中包括
M-LAG防環機制
從接入裝置或網路側到達M-LAG配對裝置的單播流量,會優先從本地轉發出去,peer-link鏈路 一般情況下不用來轉發資料流量。當流量透過peer-link鏈路廣播到對端M-LAG裝置,在peer-link鏈路與M-LAG成員口之間設定 單方向的流量隔離,即從peer-link口進來的流量不會再從M-LAG口轉發出去,所以不會形成環路,這就是M-LAG單向隔離機制。
單向隔離機制實現原理 M-LAG防環機制中的單向隔離僅對廣播流量等泛洪流量生效。
- Rule1:允許透過源埠為peer-link介面,目的埠為M-LAG成員口的 三層單播報文;
- Rule2:拒絕透過源埠為peer-link介面,目的埠為M-LAG成員口的所有報文;
A、基於根橋方式配置M-LAG
M-LAG主裝置和備裝置均作為STP網路中的根橋且配置相同的橋ID,將兩臺裝置模擬成同一個根橋,
stp root primary \\ 指定配置為生成樹的根橋裝置
stp bridge-address mac-address ,配置裝置參與生成樹計算的橋MAC。
配置DFS Group
dfs-group XXX \\ 建立DFS Group並進入DFS-Group檢視
source ip ip-addressXXXX peer peer-ip-addressXXX \\指定對端心跳IP, 雙主檢測鏈路,又稱為心跳鏈路,是一條三層互通鏈路,用於M-LAG主備裝置間傳送雙主檢測報文。
priority priority ,配置DFS Group的優先順序
配置peer-link
interface eth-trunk
trunk-id
\\進入Eth-Trunk介面檢視。
trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1- n >,增加成員介面
mode lacp-static \\ 配置Eth-Trunk的工作模式為靜態LACP模式
\\ 去使能介面的STP功能
peer-link peer-link-id \\ 配置介面為peer-link介面
配置M-LAG成員介面
令 interface eth-trunk trunk-i \\ 進入Eth-Trunk介面檢視
trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1- n \\ 增加成員介面
dfs-group dfs-group-id m-lag m-lag-id \ \配 置為M-LAG成員介面
B、基於V-STP方式配置M-LAG(推薦)
V-STP(Virtual Spanning Tree Protocol)是二層拓撲管理特性, 其核心思想是將兩臺裝置的STP協議虛擬成一臺裝置的STP協議,對外呈現為一臺裝置進行STP協議計算。
STP可以感知M-LAG主備協商狀態,M-LAG主備裝置配置了V-STP使能之後 ,在M-LAG主備協商成功後,兩臺裝置被虛擬化成一臺裝置進行埠角色計算和快速收斂計算。STP需要同步M-LAG主備的橋MAC資訊和例項優先順序資訊。M-LAG主備協商成功後, M-LAG備裝置使用M-LAG主裝置同步過來的橋MAC資訊和例項優先順序資訊進行STP計算和收發報文,保證虛擬化成一臺裝置後的STP計算引數。
當前,V-STP只能用於M-LAG組網,可以解決多級M-LAG互聯場景和組成M-LAG的裝置作為非根橋場景的需求。
配置V-STP功能時,需要保證組成M-LAG的兩臺裝置上STP/RSTP定時器配置一致,否則可能導致網路拓撲震盪。
-
執行命令
stp mode {
stp |
rstp },配置交換裝置的生成樹協議為STP或RSTP模式。
V-STP場景中,不支援MSTP模式, 但支援STP多程式(MSTP程式預設是MSTP模式,目前V-STP場景僅支援STP及RSTP模式,需要將MSTP程式配置為STP或RSTP模式,作為STP程式)。
執行命令 stp v-stp enable,使能STP進入跨裝置組合工作模式。
配置DFS Group
執行命令 dfs-group dfs-group-id
-
source ip ip-address [ vpn-instance vpn-instance-name ] [ peer peer-ip-address [ udp-port port-number ] ]
配置peer-link
- 執行命令 interface eth-trunk trunk-id,進入Eth-Trunk介面檢視。
- 執行命令 trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1- n>,增加成員介面。
- 執行命令 mode lacp-static,配置Eth-Trunk的工作模式為靜態LACP模式。
-
執行命令 peer-link peer-link-i
配置M-LAG成員介面
M-LAG故障場景流量轉發
上行鏈路故障
M-LAG接入普通乙太網場景,由於M-LAG主裝置的上行鏈路故障, 透過M-LAG主裝置的流量均經過peer-link鏈路進行轉發。
當故障的上行鏈路恰好為雙主檢測鏈路,此時對於M-LAG正常工作沒有影響。 一旦peer-link也發生故障,M-LAG出現雙主衝突,雙主檢測又無法進行,則會出現丟包現象。
下行鏈路故障
DFS Group主備狀態不會變化,但如果故障M-LAG成員口狀態為主,則備M-LAG成員口狀態由備升主,流量切換到該鏈路上進行轉發。發生故障的M-LAG成員口所在的鏈路狀態變為Down, 雙歸場景變為單歸場景。 故障M-LAG成員口的MAC地址指向peer-link介面。在故障M-LAG成員口恢復後,M-LAG成員口 狀態不再回切,由備升主的M-LAG成員口狀態仍為主,原主M-LAG成員口在故障恢復後狀態為備。
對於組播源在網路側,組播成員在接入側的組播流量,當M-LAG主裝置的M-LAG成員口故障時,透過M-LAG同步報文通知對端裝置進行組播表項重新整理,M-LAG主備裝置不再按照組播地址奇偶進行負載分擔,而是所有組播流量都由埠狀態Up的M-LAG備裝置進行轉發,反之亦然。
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,流量轉發狀態不變,繼續轉發流量,雙歸場景變為單歸場景。
peer-link故障
預設情況下,M-LAG應用在普通乙太網路、VXLAN網路或IP網路的雙歸接入, peer-link故障但雙主檢測心跳狀態正常時,會觸發M-LAG備裝置上 除邏輯埠、管理網口、peer-link介面和堆疊口以外的其他介面處於Error-Down狀態。M-LAG應用在TRILL網路的雙歸接入,peer-link故障但雙主檢測心跳狀態正常時,會觸發M-LAG備裝置上的M-LAG介面處於Error-Down狀態。
peer-link故障恢復時,處於Error Down狀態的 M-LAG介面預設將在240s後自動恢復為Up狀態,處於Error Down狀態的其它介面將立即自動恢復為Up狀態。
透過命令可以配置M-LAG場景下peer-link故障但雙主檢測心跳狀態正常時,觸發Error-Down的埠包括邏輯埠。如當M-LAG應用在VXLAN網路或IP網路的雙歸接入,peer-link故障但雙主檢測狀態正常時,會觸發M-LAG備裝置上VLANIF介面、VBDIF介面、LoopBack介面以及M-LAG成員口處於Error-Down狀態。
M-LAG二次故障(peer-link故障+M-LAG裝置故障)
當peer-link故障但雙主檢測心跳狀態正常會觸發DFS備裝置上某些埠處於Error-Down狀態,此時DFS狀態為主的裝置繼續工作。在該場景的基礎上,若DFS狀態為主的裝置由於斷電、 主控板損壞、整機故障重啟等其他故障導致主裝置不能工作時,由 中3所示,此時M-LAG主備裝置皆不能正常轉發流量。
- Peer-link鏈路故障: 若Peer-link鏈路故障但雙主檢測心跳鏈路狀態正常將會觸發DFS狀態為備的裝置上某些埠處於ERROR DOWN(埠Error-Down範圍可以參見 )狀態,DFS狀態為主的裝置繼續工作。
- DFS狀態為主的裝置故障:若DFS狀態為主的裝置在peer-link鏈路故障後由於斷電、 主控板損壞、整機故障重啟等其他故障導致不能工作時,此時M-LAG主備裝置皆不能轉發流量,業務中斷。
- 二次故障增強功能使能:在上述場景基礎下,若M-LAG已使能二次故障增強功能,則DFS狀態為備的裝置會藉助M-LAG雙主檢測機制感知到DFS主裝置故障(在一定週期內接收不到任何的M-LAG雙主檢測心跳報文)後,將升級為DFS主裝置並恢復裝置上處於ERROR DOWN狀態的埠為Up狀態,繼續轉發流量。
- 裝置故障恢復:若原DFS狀態為主的裝置故障恢復後但peer-link故障仍故障
- 若配置LACP M-LAG的系統ID在一定時間內切換為本裝置的LACP系統ID,則在LACP協商時接入側僅選擇上行鏈路中的一條鏈路為活動鏈路,實際流量轉發正常。
- 若配置LACP M-LAG的系統ID為預設情況,即系統ID不回切,M-LAG兩臺裝置均使用同一系統ID來與接入側裝置協商,鏈路均能被選中成為活動鏈路。該場景下,由於peer-link鏈路仍然故障,M-LAG兩端無法同步對端的優先順序、系統MAC等資訊,形成M-LAG兩臺裝置雙主的情況,可能導致組播流量異常。此時,如 所示,可以藉助心跳鏈路報文中攜帶必要的DFS Group協商主備的必要資訊(如DFS Group優先順序、系統MAC等)來協商M-LAG兩臺裝置的HB DFS主備資訊,觸發HB DFS狀態為備的裝置上某些埠處於ERROR DOWN(埠Error-Down範圍可以參見 )狀態,HB DFS狀態為主的裝置繼續工作。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31535697/viewspace-2770568/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料中心代理的常見使用場景
- 淺談線下場景中的資料分析思路
- 車聯網場景中的 MQTT 協議MQQT協議
- Redis中5種資料結構的使用場景介紹Redis資料結構
- 滴滴大資料在汽車金融風控場景中的應用大資料
- 分散式資料庫的需求與場景分散式資料庫
- 幾種場景的資料庫恢復資料庫
- 室內場景資料集整理
- 大資料面試題——場景題大資料面試題
- Redis 資料結構使用場景Redis資料結構
- SAS 在內網監控軟體資料分析場景的應用內網
- MySQL資料SQL優化中,索引不被使用的典型場景總結MySql優化索引
- 以資料為中心的網路安全
- HarmonyOS Next中密碼類資料保護場景解析密碼
- Redis 中 BitMap 的使用場景Redis
- Redis的資料結構與應用場景Redis資料結構
- [譯] Java 資料流的不同應用場景Java
- Redis的資料結構及應用場景Redis資料結構
- String資料型別的應用場景資料型別
- sorted set 資料型別的應用場景資料型別
- NoSQL資料庫的35個應用場景SQL資料庫
- 圖資料庫及應用場景資料庫
- 遊戲基礎知識——“中心城市”場景的設計遊戲
- 遊戲場景中的光影設計遊戲
- Unity製作遊戲中的場景Unity遊戲
- redis資料型別及應用場景Redis資料型別
- 圖資料庫有哪些應用場景?資料庫
- HTAP資料庫及應用場景分析資料庫
- 複雜「場景」資料匯入匯出
- Redis 資料型別及應用場景Redis資料型別
- 工業大資料應用場景分析大資料
- openGauss 支援OLTP場景資料壓縮
- Redis系列-資料型別及使用場景Redis資料型別
- Redis 中ZSET資料型別命令使用及對應場景總結Redis資料型別
- 索引設計(組合索引適用場景)索引
- redis的五種資料型別及應用場景Redis資料型別
- 併發場景下資料寫入功能的實現
- mock以及特殊場景下對mock資料的處理Mock