別再煩惱!教你如何迅速定位Eth-Trunk故障,輕鬆搞定網路問題!

2023.12.22

一、如何定位手載分擔模式Eth-Trunk不能UP?

遇到這種問題時,小編給大家總結如下的定位思路,屢試不爽哦:

  • 查看手工Eth-Trunk成員口物理狀態是否UP;
  • 查看Eth-Trunk介面下是否配置活動介面數目的下限閾值。

具體的定位步驟,請小朋友往下瞧:

步驟1:檢查成員口物理狀態是否UP

成員口物理狀態UP是Eth-Trunk正常運作的前提。

透過指令display eth-trunk查看Eth-Trunk介面下的成員口資訊。如果成員口在Eth-Trunk下的狀態為Down,請參考這篇《乙太網路介面物理DOWN故障專題》文章哦。

步驟2 :檢查Eth-Trunk介面下的配置

透過指令display eth-trunk查看Eth-Trunk介面下是否配置了活動介面數目的下限閾值。如果Eth-Trunk介面下UP的成員口數目少於配置的活動介面數目的下限閾值時,Eth-Trunk狀態會變成Down。

下述回顯中Least Active-linknumber代表處於Up狀態的成員連結的下限閾值為3,而Eth-Trunk介面下UP的成員口數目為1,UP的成員數目少於活動介面數目的下限閾值,因此Eth-Trunk狀態Operate status為Down。

另外,小夥伴注意啦,預設情況下,Eth-Trunk活動介面數目下限閾值為1,可以透過指令least active-linknumber link-number來設定鏈路聚合組活動介面數目的下限閾值。

二、如何定位LACP模式Eth-Trunk協商不成功?

同樣滴,小編也總結了這類故障的定位思路哦:

  • 查看Eth-Trunk成員口物理狀態是否UP;
  • 查看Eth-Trunk介面下是否配置鏈路聚合頻寬介面數的上限閾值;
  • 查看Eth-Trunk成員口是否能夠正常收發LACP封包。

步驟1: 檢查成員口物理狀態是否UP

成員口物理狀態UP是被Eth-Trunk選取的前提。透過指令display eth-trunk查看Eth-Trunk介面下的成員口資訊。如果成員口在Eth-Trunk下的狀態為Down,和上面一樣,請小夥伴們先排除介面故障的原因。

步驟2: 檢查Eth-Trunk介面下的配置

查看Eth-Trunk兩端配置是否對等。因涉及設備LACP封包的協商,需要兩端都配置為LACP模式。透過命令列display eth-trunk查看Eth-Trunk下是否配置了活動介面數目的上限閾值和下限閾值。如果Eth-Trunk介面下UP的成員口數目少於配置的活動介面數目的下限閾值,則Eth-Trunk狀態會變成Down。

預設情況下,Eth-Trunk活動介面數目下限閾值為1,可透過指令least active-linknumber _link-number_設定;活動介面數目上限閾值為8,可透過指令max active-linknumber _link-number_設定。

如果在設定此指令前已經設定了least active-linknumber指令,則需要保證此指令所設定的上限閾值大於或等於least active-linknumber指令中設定的下限閾值。

步驟3: 檢查Eth-Trunk成員口的LACP封包收發是否正常

透過命令列display lacp statistics eth-trunk查看Eth-Trunk成員口下的LACP協商封包收發是否正常。

報文增長數目同Eth-Trunk介面下配置的報文逾時時間相關:

封包增長數目與Eth-Trunk介面下配置的封包逾時時間相關,可在Eth-Trunk介面視圖下執行lacp timeout { fast | slow }指令配置LACP模式下Eth-Trunk介面接收LACP協定封包的逾時時間。

  • 配置fast的逾時時間後,對端發送LACP封包的週期為1秒,回應效能好,但佔用系統資源相對slow參數狀況較大;
  • 配置slow的逾時時間後,對端發送LACP封包的週期為30秒,反應性較fast低一些,但佔用系統資源也比較少。兩端配置的逾時時間可以不一致,但為了方便維護,建議使用者配置一致的LACP協定封包逾時時間。
  • 如果接收的LACP協定封包計數成長不正確,則檢查是對端設備沒有發出還是被本端設備收到後丟棄;如果本端收到的LACP封包計數不正確,需要檢查為什麼本埠沒有正常接收LACP協定封包。

三、如何定位Eth-Trunk介面下流量負載分擔不均?

同樣滴,小編也總結了這類故障的定位思路哦:

  • 確認封包特徵與負載分擔方式是否相符;
  • 檢查選取的成員介面個數是否為2的指數倍;
  • 檢查是否存在堆疊/叢集跨框Eth-Trunk。

步驟1: 確認封包特徵與負載分擔方式是否相符

確認透過Eth-Trunk介面轉送的封包特性和配置的負載分擔方式是否符合。如果不匹配,例如轉送封包的MAC位址變化,而設定的負載分擔方式為src-ip,則無法負載分擔。

可透過以下幾個步驟檢查和修改:

(1) 確認報文特徵

  • 決定封包的轉送方式:已知單播和非已知單播的轉送流程不同,且預設的負載分擔演算法也不同,所以需要先確認轉送封包是已知單播還是非已知單播。
  • 確定封包的變化因子:確定封包變化的是封包的MAC位址、IP位址或Label等
  • 決定封包的類型:確定封包為IP封包、MPLS封包或二層封包等。

說明:MAC表中沒有該封包的目的MAC位址,則該封包為非已知單播封包。

(2) 檢查Eth-Trunk介面的負載分擔方式。

根據上一個步驟確認的封包轉送方式(已知單播還是非已知單播)查看Eth-Trunk介面的負載分擔方式。

查看已知單播的負載分擔方式:

透過指令display eth-trunk查看Hash arithmetic欄位確認配置的負載分擔方式,也可以透過在Eth-Trunk介面視圖下執行display this指令來查看。

負載分擔方式參數說明:

  • SIP表示來源IP位址,DIP表示目的IP位址,SA表示來源MAC位址,DA表示目的MAC位址。
  • SIP-XOR-DIP表示依據來源IP位址與目的IP位址進行異或運算選擇出介面。
  • SA-XOR-DA表示依照來源MAC位址與目的MAC位址進行異或運算選擇出介面。ENHANCED表示應用了增強負載分擔模板,根據增強模板中各類報文指定的負載分擔方式運算選擇出介面。
  • 若負載分擔方式為ENHANCED,則需進一步檢視增強範本的負載分擔方式。

增強負載分擔方式全域只有一個模板,對已知單播和非已知單播同樣生效,針對不同封包類型選取不同的欄位進行HASH計算。

可以執行指令display load-balance-profile查看針對每一種特徵封包的負載分擔方式,其中HashField代表配置的負載分擔模式。

對於非已知單播,執行指令display current-configuration | include unknown-unicast load-balance查看非已知單播的負載分擔方式。預設情況下,設備基於封包的來源MAC位址和目的MAC位址對非已知單播進行負載分擔。

(3) 確認轉送的封包特性與負載分擔方式是否相符

如果封包特性與目前負載分擔方式不匹配,可以根據現網流量模型修改負載分擔方式。流量中此參數變化越頻繁,選擇此負載分擔模式的流量就越平衡。例如:僅單一PC測試時,由於來源IP位址和來源MAC位址不變,只是目的IP位址和目的MAC位址變化,此時選擇的負載分擔方式為基於來源IP位址或來源MAC位址,則流量不能負載分擔,需要修改為基於目的IP位址或目的MAC位址的負載分擔方式。若封包是已知單播,修改指令如下:

<HUAWEI> system-view
[HUAWEI] interface Eth-Trunk 1  
[HUAWEI-Eth-Trunk1] load-balance dst-mac  
[HUAWEI-Eth-Trunk1] quit
  • 1.
  • 2.
  • 3.
  • 4.

若封包是非已知單播,修改指令如下:

<HUAWEI> system-view  
[HUAWEI] unknown-unicast load-balance dmac
  • 1.
  • 2.

如果採用的負載分擔方式為增強模式,則需要查看根據封包類型(如IPv4、IPv6、MPLS、L2)來修改增強範本中對應封包類型的負載分擔方式。例如:修改增強範本「test」中IPv4封包負載分擔方式為dip。

<HUAWEI> system-view
[HUAWEI] load-balance-profile test  
[HUAWEI-load-balance-profile-test] ipv4 field dip 
[HUAWEI-load-balance-profile-test] quit
  • 1.
  • 2.
  • 3.
  • 4.

步驟2:檢查選取的成員介面個數是否為2的指數倍

當Eth-Trunk介面下選取的成員口數為2的指數倍時,流量負載分擔更為平衡。執行指令display eth-trunk查看被選取的成員接口,Eth-Trunk介面下被選取成員端口的識別方法為:

  • 在LACP模式下(V100R006C03/V100R006C05/V200R001版本,WorkingMode為STATIC,V200R002及之後版本,WorkingMode為LACP),Status為Selected的介面。
  • 在手工模式下(WorkingMode為NORMAL),Status為Up的介面。

步驟3:檢查是否有堆疊/叢集跨框Eth-Trunk

如果是非已知單播報文,則該步驟不需要執行。

Eth-Trunk介面預設已啟用本機優先轉送功能。即堆疊/叢集場景下,從一個堆疊/叢集成員裝置連接埠進入的封包,出連接埠若為Eth-Trunk,在本框有該Eth-Trunk的成員口,且成員口無故障時只會從該框上的Eth-Trunk成員口轉發,不會從其它堆疊/群集成員的Eth-Trunk成員口轉發。

此情況下可以使用下列指令去啟用本機優先轉送功能。

<HUAWEI> system-view  
[HUAWEI] interface Eth-Trunk 1  
[HUAWEI-Eth-Trunk1] undo local-preference enable 
[HUAWEI-Eth-Trunk1] quit
  • 1.
  • 2.
  • 3.
  • 4.

流量本地優先轉送功能只對已知單播有效,對廣播、多播和未知單播均不生效。

本期的故障定位招數已經跟大家分享完了,相信小夥伴們再遇到Eth-Trunk故障時,可以輕鬆應付了。以後再有故障類的案例,小編再給大家分享哦,拜拜。~~~