天天看點

M-LAG常見故障處理方法

作者:席宸

M-LAG建立失敗或流量轉發異常時,基本的定位思路如下圖所示:

M-LAG常見故障處理方法

檢查DFS配對是否成功:

使用者可以使用指令行display dfs-group 1 m-lag檢視DFS配對狀态

M-LAG常見故障處理方法

Causation字段可以檢視到DFS配對失敗的原因,“-”表示DFS配對成功,配對失敗的具體原因參見下表。

M-LAG常見故障處理方法

檢查peer-link口的狀态:

使用者可以通過指令display dfs-group 1 peer-link檢視peer-link口的狀态。

M-LAG常見故障處理方法

Port State字段是peer-link口的狀态,正常情況下,該字段應該是“Up”的。

檢查M-LAG口配對是否成功:

使用者可以通過指令行display dfs-group 1 node node-id m-lag檢視M-LAG口配對是否成功。

M-LAG常見故障處理方法

Status表示M-LAG口的配對狀态,如果是active-active,表明配對的兩台裝置的M-LAG口配對成功。若配對不成功,使用者可先檢視詳細的M-LAG口配對資訊,檢視是否是配置不一緻的原因。

M-LAG常見故障處理方法

Consistency-check字段表示配置一緻性檢查是否成功,-表示未使能一緻性檢查,success表示檢查成功,failed(n)表示檢查失敗,其中n表示檢查失敗原因的編碼。若出現配置不一緻,請參見配置M-LAG成員接口檢查配置。再檢查M-LAG成員口學習到的MAC、ARP等表項是否同步到peer-link口,M-LAG成員口學習到的MAC、ARP等表項是否同步到對端M-LAG成員口。若沒有同步需聯系華為工程師确認原因。

檢查M-LAG相關資源:

使用者可以通過display system tcam fail-record檢視是否有ACL下發失敗,若有請參考ACL資源不足怎麼辦,還可以聯系華為工程師。

M-LAG常見故障處理方法

M-LAG典型故障案例:

M-LAG口狀态為active-inactive:

現象:SWA和SWB組成M-LAG系統,檢視SWA的M-LAG口狀态,一端顯示active,一端顯示inactive,Eth-Trunk口狀态為Down,M-LAG狀态為單活。

M-LAG常見故障處理方法

處理過程:

  1. 檢查Eth-trunk 10的狀态,Eth-trunk 10的狀态為down。
M-LAG常見故障處理方法
  1. 檢查裝置上M-LAG配置,顯示字段都正确。
M-LAG常見故障處理方法
  1. 檢視Eth-trunk 10接口下面實體端口配置,Eth-trunk 10接口配置正确,并且實體端口10GE2/0/1的端口狀态為Up。
M-LAG常見故障處理方法
M-LAG常見故障處理方法
  1. 檢查是否建立了VLAN,Eth-trunk10接口放通了VLAN11。
M-LAG常見故障處理方法
  1. 檢查是否是由于M-LAG優先級的原因導緻協商失敗,導緻Eth-trunk接口Down。

發現在SWA上系統視圖下配置了M-LAG的系統ID和優先級,SWA上手動更改了優先級為10,但是在SWB上沒有更改優先級(預設值32768),修改SWB上的配置如下:

M-LAG常見故障處理方法
  1. 修改完成後,檢查M-LAG的狀态,狀态正常,顯示active-active。
M-LAG常見故障處理方法
M-LAG常見故障處理方法
  1. 總結

在系統視圖下配置的LACP M-LAG的系統優先級對所有M-LAG成員接口有效。當DFS配對成功時,M-LAG主裝置會将本身的LACP M-LAG系統優先級自動同步給M-LAG備裝置,M-LAG備裝置的M-LAG成員接口使用同步過來的LACP M-LAG系統優先級進行LACP協商,無須再手動配置裝置的LACP M-LAG系統優先級。

在Eth-Trunk接口視圖下配置的LACP M-LAG的系統優先級僅對該Eth-Trunk接口有效。當DFS配對成功時,M-LAG主裝置不會将Eth-trunk接口下的LACP M-LAG系統優先級同步給M-LAG備裝置,是以M-LAG主備裝置需要同時配置且保持一緻。

  1. M-LAG心跳狀态是Lost,業務轉發正常

檢視M-LAG資訊,發現M-LAG的心跳狀态是Lost,但業務轉發正常。

處理過程:檢視裝置發現隻有心跳狀态是Lost。

M-LAG常見故障處理方法

檢視心跳鍊路配置,ping對應的心跳位址,發現ping不通,檢查心跳位址相關配置。

M-LAG常見故障處理方法

發現是由于配置DFS-Group視圖下的心跳位址未指定對應的VPN導緻,修改後問題解決。

M-LAG常見故障處理方法

總結:DFS-Group視圖下配置的源位址要與對應的接口位址配置要一緻,否則會導緻心跳封包路由不可達,進而心跳丢失。

  1. M-LAG一台成員裝置可以ping通對端裝置,另一台ping不通

兩台交換機組成M-LAG,配置了相同IP/MAC的三層接口與上行裝置對接。在M-LAG一台成員裝置上ping對端裝置可以ping通,另一台ping不通。

處理過程:組成M-LAG的兩台裝置的三層接口配置相同的IP位址和MAC位址,對外虛拟為一個接口。實體上與對端使用Eth-trunk對接。

裝置在通過Eth-trunk轉發封包時,會根據封包的某些字段(例如源IP、源端口号、目的IP、目的端口号、協定号),使用HASH算法,計算出一個Key值,然後根據這個Key值選擇其中某一個出端口。

SwitchC在回複ping封包時,會選擇Eth-trunk中其中一條路徑,如果來回路徑一緻,則可以ping通(左圖);如果來回路徑不一緻,則ping不通(右圖)。

M-LAG常見故障處理方法

總結:該現象為部署了M-LAG後的正常現象,并不會對客戶的業務造成影響。

  1. M-LAG上行鍊路故障,導緻業務受損

M-LAG主備與上行裝置分别通過兩對IP位址互聯,M-LAG上行鍊路故障,導緻業務受損。

處理過程:M-LAG一台裝置的上行鍊路故障,導緻裝置沒有路由出口,業務受損。配置逃生路徑,可以選擇M-LAG主備裝置通過一對VLANIF三層互聯。假設CE1和CE2組成M-LAG,CE1和CE2交換機上分别配置兩條預設路由指向上行交換機,路由優先級保持預設(預設優先級為60),上行鍊路正常時此路由指導流量轉發,具體如下:

M-LAG常見故障處理方法

CE1和CE2交換機上分别配置逃生路由,指向互聯,并将優先級改為100,上行鍊路正常時此路由不會進入路由表,不會指導流量轉發。

M-LAG常見故障處理方法

或者還可以在網絡側接口與M-LAG成員口之間啟用Monitor Link,上行口Down時關聯下行口Down。CE2的配置與CE1類似。

M-LAG常見故障處理方法

總結:M-LAG接入三層網絡場景下,需要在M-LAG主備裝置之間配置三層逃生鍊路,使得到達Master裝置的上行流量通過三層逃生鍊路到達Backup裝置。

  1. M-LAG成員裝置間封包轉發失敗

M-LAG組網的上行鍊路流量不通。

處理過程:通過抓包确認封包通過上行口進入M-LAG裝置,在上送Network的過程中封包丢棄。

檢視M-LAG組網狀态正常,但是備裝置上Eth-trunk 0的peer-link口上未學習到任何MAC位址表項,導緻封包轉發異常。

M-LAG常見故障處理方法

重新開機M-LAG主裝置後peer-link口的MAC位址表項可以正常學習到,但是M-LAG主備裝置間的通信依舊不通。

M-LAG常見故障處理方法

分别抓包驗證封包在兩台裝置間的通信的情況,發現封包可以從M-LAG主裝置進入M-LAG備裝置,相反封包被丢棄,說明M-LAG主裝置的peer-link口異常。

檢視M-LAG備裝置虛拟生成樹執行個體(V-STP)的狀态資訊和統計資訊,發現peer-link口被設定成Discarding狀态,導緻封包無法正常轉發。說明peer-link口的stp disable未配置,導緻外部出現環路時将peer-link口設定成阻塞狀态,導緻無法正常轉發封包。

M-LAG常見故障處理方法

總結:M-LAG主裝置的peer-link口未配置stp disable。導緻外部出現環路時将peer-link口設定成阻塞狀态,導緻無法正常轉發封包。

  1. M-LAG常見面試問題及回答

M-LAG心跳封包檢測出雙主會怎樣?

答:Peer-link故障但心跳狀态正常會觸發狀态為備的裝置上除管理網口、peer-link接口和堆疊口以外的接口處于Error-down狀态

M-LAG雙主出現後,如何讓某些端口不被Error-down?

答:如果需要讓某些端口不Error-down,先找一個需要Error-down的端口(可以是任何Down的端口)配置指令m-lag unpaired-port suspend,此時裝置上就隻有該端口會被Error-down,其它的端口就再也不會被Error-down了。但M-LAG口本身不能取消Error-down。

M-LAG組網出現雙主的影響?

答:Peer-link口故障會導緻接入側單臂接入,網絡側如果是ECMP場景,流量轉發異常。對于上行配置了負載分擔,下行沒配置負載分擔;或者下行配置負載分擔,上行沒配置負載分擔的場景,若不Error-down的話流量會異常。如果兩邊都是雙歸接入的,有些MAC或者ARP無法同步,二層流量的可能會走廣播,三層流量的話可能不通。

M-LAG備裝置的上行鍊路故障封包怎麼轉發?

答:M-LAG接入普通以太網場景,由于M-LAG主裝置的上行鍊路故障,通過M-LAG主裝置的流量均經過peer-link鍊路進行轉發。M-LAG接入三層網絡場景下,需要在M-LAG主備裝置之間配置三層逃生鍊路,使得到達Master裝置的上行流量通過三層逃生鍊路到達Backup裝置。使用者還可以配置Monitor Link。Monitor Link将上行接口和下行接口關聯,避免因上行鍊路故障導緻使用者側流量無法轉發而丢棄。

兩台交換機組成M-LAG系統依次進行單台裝置重新開機,在第一台裝置重新開機後,進行第二台裝置重新開機時,下挂業務中斷。

答:重新開機第一台裝置時檢視另一台裝置與伺服器的接口及peer-link口狀态,再檢視M-LAG成員口上報up狀态的延時時間(預設240s)。M-LAG兩台裝置重新開機間隔要大于延時時間,確定第一台M-LAG成員口都正常恢複後再進行第二台重新開機。

使用者先手工down主裝置peer-link接口,備裝置接口Error-down(包括心跳鍊路),然後主裝置手工重新開機,重新開機期間,發現原備裝置的接口恢複。

答:二次故障增強有個注意事項,在使能M-LAG二次故障增強功能前,請確定心跳鍊路是獨立的鍊路或不在Error-Down的端口範圍内。是以,若心跳鍊路也Error-down了,那麼備裝置收不到心跳鍊路也就認為主裝置故障,備升主後接口恢複。

繼續閱讀