引言: 近期,單位的局域網(wǎng)出現(xiàn)兩個(gè)樓層辦公室無法訪問網(wǎng)絡(luò)的現(xiàn)象,經(jīng)過排查,是因?yàn)榻粨Q機(jī)端口出現(xiàn)errdisable故障,導(dǎo)致端口不能正常工作。這種故障不是常見的網(wǎng)絡(luò)故障,因此排除故障需要針對(duì)具體情況來處理。
周一上班時(shí),正是網(wǎng)絡(luò)使用高峰時(shí)段,有兩個(gè)樓層的辦公室人員反映上不了網(wǎng)。通過Ping兩個(gè)樓層的交換機(jī)管理地址,不通。到現(xiàn)場檢查,這兩個(gè)樓層的其他設(shè)備工作正常,故障樓層各有一臺(tái)交換機(jī)上聯(lián)的光端口指示燈熄滅,懷疑近期單位安裝樓道監(jiān)控設(shè)備,在施工時(shí)不小心將機(jī)柜中光纖配線架上其中的一對(duì)光纖扯斷,導(dǎo)致中心機(jī)房到樓層的光纖線路中斷,或是因?yàn)楣饽K故障,導(dǎo)致設(shè)備上聯(lián)鏈路不通,與此相連的終端無法訪問局域網(wǎng)。
由于是網(wǎng)絡(luò)使用高峰時(shí)間,必須盡快使網(wǎng)絡(luò)恢復(fù)暢通。筆者采用了應(yīng)急的辦法,到現(xiàn)場用網(wǎng)線或Console線登錄到故障交換機(jī),將其中一個(gè)以太網(wǎng)端口設(shè)為Trunk口作為上聯(lián)端口,將原來的上聯(lián)光模塊的端口Shutdown防止環(huán)路產(chǎn)生,并將同一樓層的另一臺(tái)正常上網(wǎng)交換機(jī)其中一個(gè)以太網(wǎng)端口設(shè)為Trunk口,兩個(gè)端口用一根網(wǎng)線連接,將故障交換機(jī)的業(yè)務(wù)流量合并到另外一臺(tái)交換機(jī)上,訪問局域網(wǎng)。另外一個(gè)樓層也采取同樣方法,設(shè)定好以后,兩個(gè)樓層辦公室都能正常上網(wǎng)。
圖1 端口故障
隨后,請專業(yè)的光纖施工人員到現(xiàn)場檢查光纖,從中心機(jī)房的光纖配線架到故障樓層機(jī)柜的光纖配線架,找出故障的一對(duì)光纖。這是一對(duì)多模光纖,跳線為62.5/125 3M ST-SC光纖,通過一邊打光,另一端用肉眼能看到對(duì)端發(fā)過來的光,測量光衰為15.4db,屬正常。樓層交換機(jī)光模塊是Cisco的GLC-SX-MM的SFP模塊,波長850NM,傳輸距離550m,用備份同型號(hào)光模塊替換后,在非生產(chǎn)時(shí)間打開交換機(jī)端口測試,故障依舊。初步可以排除中心機(jī)房至樓層配線間的光纖線路問題和樓層交換機(jī)及上聯(lián)光模塊問題。
到中心機(jī)房核心交換機(jī)處,檢查連接以上兩個(gè)故障樓層的光纖連接的交換機(jī)端口,發(fā)現(xiàn)這兩個(gè)端口 為tenGigabitEthernet 2/2/5和tenGigabit Ethernet2/2/6,它們都在同一個(gè)交換機(jī)模塊上(Cisco DCEF2T4port 40GE/16 port 10GE WS-X6904-40G),端口指示燈顯示橙色,而連接其他樓層交換機(jī)的端口指示燈為綠色,說明這兩個(gè)交換機(jī)端口處于errdisable狀態(tài)(如圖 1)。
通過查閱資料,交換機(jī)端口出現(xiàn)errdisable有以下幾個(gè)常見的原因:
1.Ether Channelmisconfiguration,當(dāng)FEC兩端配置不匹配的時(shí)候就會(huì)出現(xiàn)err-disable。假設(shè)一端交換機(jī)把FEC模式配置為on,這時(shí)它不會(huì)發(fā)送PAgP包和相連的另一臺(tái)交換機(jī)去協(xié)商FEC的,如果另一臺(tái)交換機(jī)沒有配置FEC,當(dāng)超過1分鐘后,這臺(tái)交換機(jī)的STP就認(rèn)為有環(huán)路出現(xiàn),因此也就出現(xiàn)了err-disable。解決辦法是,把FEC的模式配置為channel-group1mode desirable non-silent,這個(gè)意思是只有當(dāng)雙方的FEC協(xié)商成功后才建立channel,否則接口還處于正常狀態(tài)。
2.Duplex mismatch,就是由于兩端雙工模式不匹配,導(dǎo)致鏈路errdisable。解決方法是,將兩端設(shè)置雙工模式一致,如都設(shè)成fullduplex。
3.BPDU port guard。與portfast和BPDU guard有關(guān)。如果一個(gè)接口配置了portfast,那也就是說這個(gè)接口應(yīng)該和一個(gè)PC連接,PC是不會(huì)發(fā)送spanningtree的BPDU幀,管理員又在同一接口上配置了BPDU guard來防止未知的BPDU幀以增強(qiáng)安全性,如果把一臺(tái)交換機(jī)接到這個(gè)同時(shí)配置了portfast和BPDU guard接口上,于是這個(gè)接口接到了BPDU幀,因?yàn)榕渲昧薆PDU guard,這個(gè)接口自然要進(jìn)入到err-disable狀態(tài)。解決辦法是 :no spanningtree portfast bpduguard default,或者直接把portfast關(guān)掉。
4.UDLD UDLD是Cisco的私有二層協(xié)議,用于監(jiān)聽利用光纖或雙絞線連接的以太鏈路的物理配置,當(dāng)出現(xiàn)單向鏈路(只能向一個(gè)方向傳輸,比如我能把數(shù)據(jù)發(fā)給對(duì)端,對(duì)端也能收到,但是對(duì)端發(fā)給我的數(shù)據(jù)收不到)時(shí),UDLD可以檢測出這一狀況,關(guān)閉相應(yīng)接口并發(fā)送警告信息。當(dāng)AB兩端都配置好UDLD后,A給B發(fā)送一個(gè)包含自己port id的UDLD幀,B收到后會(huì)返回一個(gè)UDLD幀,并在其中包含了收到的A的port id,當(dāng)A接收到這個(gè)幀并發(fā)現(xiàn)自己的port id也在其中后,認(rèn)為這鏈路是好的。反之就變成err-disable狀態(tài)了。假設(shè)A配置了UDLD,而B沒有配置UDLD:A給B發(fā)送一個(gè)包含自己 port id的幀,B收到后并不知道這個(gè)幀是什么,也就不會(huì)返回一個(gè)包含A的port id的UDLD幀,那么這時(shí)候A就認(rèn)為這條鏈路是一個(gè)單向鏈路,自然也就變成errdisable狀態(tài)了。
5.Link-flap error就是鏈路的抖動(dòng),當(dāng)鏈路在10秒內(nèi)反復(fù)Up、Down五次,那么就進(jìn)入err-disable狀態(tài)。
6.Loopback error在12.1EA之前,默認(rèn)情況下交換機(jī)會(huì)在所有接口都發(fā)送keepalive信息,如果一個(gè)接口又收到了自己發(fā)出的keepalive,說明存在環(huán)路,這個(gè)接口就會(huì)變成errdisable了。解決辦法是,把keepalive關(guān)掉,或者把iOS升到12.2SE。
7.Portsecurity violation Cisco port security violation有三種模式:(1)protect(2)restrict(3)shutdown,前兩種模式只丟棄違規(guī)的數(shù)據(jù)流量,不違規(guī)的正常轉(zhuǎn)發(fā),shutdown是默認(rèn)模式,當(dāng)違規(guī)時(shí),將接口變成error-disabled并shut down,并且接口指示燈會(huì)關(guān)閉,也 會(huì)發(fā) SNMP trap,并會(huì)記錄syslog。如果端口errdisable,就是由于配置了port-security violation shutdown。
發(fā)生端口errdisable后,可以通過show interfaces status err-disabled查找產(chǎn)生的具體原因,比如是loopback造成的,在排除環(huán)路后,可在配置模式下errdisable recovery cause loopback,恢復(fù)時(shí)間一般為300秒,不用重啟交換機(jī)的情況下,使交換機(jī)端口恢復(fù)到正常狀態(tài)。
但是,當(dāng)輸入命令sh interface status errdisabled時(shí),顯示兩個(gè)端口故障原因是diagnostics(如圖2),不能使用命令errdisable recovery cause ?來恢復(fù)端口,輸入命令sh logging查看日志,結(jié)果顯示有兩個(gè)端口進(jìn)入errdisable狀態(tài),再輸入命令sh diagnostic result switch all failure detail和 sh module switch 2,結(jié)果如圖3所示。
圖2 err-disable原因及系統(tǒng)日志
圖3 診斷信息
由此可見,由于兩臺(tái)Mar 05 2017 17:08:28做TestPortTxMonitoring在線監(jiān)測時(shí),由于switch2module 2(DCEF2T4port 40GE/16 port 10GE),其中switch2的WS-X6904-40G模塊硬件故障,導(dǎo)致Switch2Module 2的Te2/2/5和Te2/2/6端口測試首次失敗。在連續(xù)進(jìn)行了5次測試都失敗后,系統(tǒng)將Te2/2/5和Te2/2/6兩端口設(shè)成errdisable狀態(tài)。Cisco 6506E組成一個(gè)VSS虛擬交換機(jī)系統(tǒng),系統(tǒng)于
圖4 修復(fù)后VSS狀態(tài)
知道了故障產(chǎn)生的原因后,問題就迎刃而解。分別進(jìn)入核心交換機(jī)tenGigabitEthernet 2/2/5和tenGigabitEthernet 2/2/6接口,在接口配置模式下,shut,no shut,然后輸入命令 :sh interface status err-disabled,發(fā)現(xiàn)沒有端口處于errdisable狀態(tài)了,輸入sh diagnostic result switch2module2failure,結(jié)果顯示 PASS,輸入 sh module switch 2,結(jié)果顯示switch2的模塊1、2、5的在線診斷狀態(tài)均為Pass(如圖4),說明模塊和端口故障解除。當(dāng)樓層交換機(jī)上聯(lián)光端口no shut恢復(fù)后,發(fā)現(xiàn)在核心交換機(jī)端仍然不能Ping通樓層交換機(jī)管理地址,于是將核心交換機(jī)重啟,問題徹底解決,核心及兩個(gè)故障的樓層交換機(jī)均能正常通信。
出現(xiàn)交換機(jī)端口errdisable狀態(tài)時(shí),不能按照常規(guī)思路去排查問題,而要從實(shí)際情況入手,查明原因,再排除故障。上面一例既不是因?yàn)榫W(wǎng)絡(luò)中出現(xiàn)環(huán)路,也不是因?yàn)槎丝诙秳?dòng)等原因?qū)е耬rrdisable,如果一味地查找網(wǎng)絡(luò)有無環(huán)路,或有無抖動(dòng),就會(huì)誤入歧途。要充分利用Cisco設(shè)備提供的sh命令和日志功能查找故障原因,做到有的放矢,針對(duì)不同的故障采取不同的辦法,使問題盡快解決。