當Nexus 5000交換機在日誌中顯示「FWM-2-STM_LOOP_DETECT」消息時,該怎麼做?
%FWM-2-STM_LOOP_DETECT: Loops detected in the network among ports
Eth x/y and Eth x/y vlan xx -
Disabling dynamic learn notifications for 180 seconds
%FWM-2-STM_LEARNING_RE_ENABLE: Re enabling dynamic learning on all interfaces
此訊息表示交換器在這兩個介面上收到具有相同來源MAC位址的訊框,且交換器以非常高的速度得知這些介面上的相同MAC位址。交換器會將此偵測為回圈。交換機禁用MAC地址學習以保護其控制平面。所有VLAN都會執行此步驟,即使只在一個VLAN上發生回圈。
可能的原因
- MAC地址移動是因為生成樹協定(STP)埠狀態收斂不正確。
- MAC地址移動,因為資料來源是在所有交換機上物理移動的,而STP狀態是收斂且處於正確的狀態。
- 如果伺服器網路介面卡(NIC)配置為分組/繫結,但連線的交換機介面未配置,則MAC地址可以在介面之間移動。如果使用連結彙總控制通訊協定(LACP)將兩端介面結合,或將伺服器介面設定為在「主動/待命」模式下使用NIC,就可以避免這種情況。
如何實際檢測到環路?
轉發管理器(FWM)具有一種機制,可對MAC地址移動次數進行計數並根據MAC地址移動次數對回移動次數進行權重。它確定總MAC回移計數(所有VLAN、MAC和介面間的交換機範圍計數),宣告%FWM-2-STM_LOOP_DETECT,並禁用在環路條件下保護FWM的學習。
閾值計算:在交換機範圍的10秒的給定老化掃描週期內,28,000個MAC回移計數。它被宣告為%FWM-2-STM_LOOP_DETECT,並且已禁用學習。
訊息範例
2011 Jan 30 16:14:23 Nexus-5000 %FWM-2-STM_LOOP_DETECT:
Loops detected in the network among ports Eth119/1/13 and Po90 vlan 218 -
Disabling dynamic learn notifications for 180 seconds
2011 Jan 30 16:17:23 Nexus-5000 %FWM-2-STM_LEARNING_RE_ENABLE:
Re enabling dynamic learning on all interfaces
應注意MAC移動通知的邏輯。當MAC移動的MAC地址表通知啟用時,可以通知MAC移動。此操作會新增控制檯上的通知日誌,但不會執行任何操作。當給定MAC地址在老化掃描週期10秒內在VLAN上的給定埠對之間來回移動三次時,將宣告移動。
疑難排解
您可以在交換機上啟用MAC移動通知,以確定哪些MAC地址可以移動。
Nexus-5000# conf t
Nexus-5000(config)# mac address-table notification mac-move
對於Nexus 5000交換機,啟用MAC移動通知以生成有關MAC移動通知的系統日誌消息並不總是足夠的。
要確保生成系統日誌消息,請結合使用先前的命令輸入這些命令。
Nexus-5000# conf t
Nexus-5000(config)# Logging level spanning-tree 6
Nexus-5000(config)# Logging level fwm 6
Nexus-5000(config)# Logging monitor 6
新增這些命令可確保FWM檢測的系統日誌在存在MAC地址移動時顯示。
要驗證交換機上VLAN間的STP埠狀態,請輸入以下命令。
Nexus-5000# show spanning-tree
Nexus-5000# show spanning-tree vlan
Nexus-5000# show spanning-tree internal interaction
範例
要檢查MAC地址是否移動,請輸入以下命令:
Nexus-5000# show mac address-table notification mac-move
MAC Move Notify Triggers: 1206
Number of MAC Addresses added: 944088
Number of MAC Addresses moved: 265
Number of MAC Addresses removed: 943920
MAC地址移動也以最低記錄級別6來記錄,以顯示哪些MAC地址移動。
2012 Jun 12 16:05:31.564 Nexus-5000 %FWM-6-MAC_MOVE_NOTIFICATION:
Host 0000.0000.fe00 in vlan 85 is flapping between
port Eth104/1/8 and port Eth104/1/9
解決方案
- 檢查拓撲結構中的所有交換機上正確的STP收斂和STP埠狀態。此外,請確認不存在爭議或埠狀態不正確。
- 如果標識了物理移動的資料幀的源,則控制源以停止快速和連續移動。
- 預設情況下,180秒後重新啟用動態學習。此時,應解決任何STP爭議或不一致問題。如果沒有,則再次禁用動態學習。
Nexus 5000交換機的相關增強
思科錯誤ID CSCug28099 — 增強型:在Nexus 5000上檢測到環路後旋鈕至禁用埠。
此處描述了早期代碼(6.0(2)N2(1)之前)的當前行為。
當循環消息(FWM-2-STM_LOOP_DETECT:在埠<port_id>和<po_id> vlan >vlan_id>(禁用動態學習通知180秒)中檢測到網路中檢測到的環路,在環路檢測120秒後,應快速老化所有MAC地址,然後重新學習它們,而不是老化整個MAC地址表。由於此行為,您在120秒內不會得知新的MAC地址,但如果環路持續存在,則可能會對網路造成重大影響,因為您將快速老化所有VLAN中的MAC地址。
此功能增強功能並未完成,其目的是為了讓CLI按鈕在檢測到環路之後,交換機會關閉相關埠(檢測到環路埠),以避免完全中斷。
以下是版本6.0(2)N2(1)及更高版本的代碼中實現的命令:
swo2-371(config)# mac address-table loop-detect ?
port-down Take port-down action for mac loop detection
swo2-371(config)# mac address-table loop-detect port-down
swo2-371(config)# no mac address-table loop-detect port-down