MA實驗室全部無法獲取IP地址,檢查物理線路正常之后,發現上行端口燈不亮,進入交換機后show logging:%PM-4-ERR_DISABLE: link-flap error detected on Gi1/0/51, putting Gi1/0/51 in err-disable state
端口進入假死狀態是交換機本身的防護機制,那么我總結了下面的解決方法,供大家參考。
一:查看原因
登錄到交換機后,查看日志:
>show logging
會發現其中有以下信息(以我遇到的問題舉例):
%PM-4-ERR_DISABLE: link-flap error detected on Gi1/0/51, putting Gi1/0/51 in err-disable state
所以,他所在端口是因為link-flap才造成的假死。link-flap是鏈路抖動,基本上是由於物理鏈路的問題導致,只要端口在10秒內出現了5次up/down,就會假死。那么,這種情況無非就是網口或網線本身的問題,還有一種可能是因為網卡的設置有問題(尤其是單雙工模式設置)。然而,我給他重啟了端口,他再也沒有call過來了,具體什么情況也未可知了。
二:端口恢復
當然,直接重啟端口當然可以解決問題,但也只是權宜之計,根本問題不解決,他下次在連設備的時候依然會出現異常。既然假死是由於交換機的防護機制,那么我們就按照具體情況把相應的防護機制禁用掉。
(config)#no errdisable detect cause ******
會導致 err-disabled 狀態的原因,可以通過下面的命令查看:
#show errdisable detect
你會看到很多造成假死的原因。
當然,你也可以暴力點:
(config)#no errdisable detect cause all
禁用全部防護機制,這樣不管你怎么折騰,都不會errdisable了。
三:自動恢復
上面的方法雖然直接,但無疑會讓交換機置於隱患之中,那么我們可以設置端口的自動恢復機制。
可以通過下面的命令查看有哪些防護會在timeout后會自動恢復:
#show errdisable recovery
會出現各種防護的自動恢復狀態,Disable是不會自動恢復,Enable是可以自動恢復。
默認情況下,一旦某個端口被置為err-disabled的狀態,該端口將會一直保持該狀態,系統並不會使它自動恢復。
因此,要使其有自動恢復的功能,需要如下的配置:
#conf t
#(config)errdisable recovery cause ******
還可以設置一下 recovery 的 timerout:
(config)#errdisable recovery interval 60
系統會在設置的時間后嘗試恢復err-disabled狀態的端口。如果在這期間引起err-disabled狀態的原因沒有得到解決,該端口會再次的變為err-disabled,這就會造成 flapping 的狀態。
四:原因分析
一般出現err-disable的情況有以下幾種:
1.EC兩端的配置不匹配。包括協議類型、pagp和lacp的模式、speed、deplex等。
2.duplex的問題。手動置頂雙方的deplex即可,先查看端口當前情況:
#show interface Gi1/0/51
然后手工指定:
#conf t
(config)#interface Gi1/0/51
(config-if)#speed 1000
(config-if)#duplex full
3.BPDU(Bridge Protocol Data Unit 網橋協議數據單元)問題。也就是在同一個接口上做了 portfast以及BPDU Guard:
#show run interface Gi1/0/51
interface Gi1/0/51
spanning-tree bpduguard enable
spanning-tree portfast enable
直接禁用或重置即可:
(config-if)#spanning-tree portfast bpduguard disable
或
(config-if)#spanning-tree portfast bpduguard default
4.UDLD(UnidDrectional Link Detection 單向鏈路檢測)的問題。這是Cisco的私有協議問題,兩邊的配置必須要同步。
5.link-flap的問題。造成此問題的原因大多是物理鏈路,上面有提到。
6.另外還有諸如keepalived、security-violation、l2ptguard、異常的SFPz Cable等都會造成err-disable。
注:以上方法本人並未解決過實際問題,只是個人研究,僅供參考。且以上方法僅針對Cisco思科交換機討論,華為、DELL等其他品牌或許有差異。
