一次莫名其妙的故障……
大家好,我是小樂,一名普通的網(wǎng)絡(luò)工程師。
前幾天,我看到新聞,說是日本、加拿大等地接連爆出通信網(wǎng)絡(luò)故障,引發(fā)了大規(guī)模的網(wǎng)絡(luò)中斷。心驚之余,我也想起,就在不久前,我也遇到了一個非常詭異的網(wǎng)絡(luò)故障,差點引發(fā)重大事故。
這個故障,到現(xiàn)在我還心有余悸。
今天,我就給大家講講我的故事——
我所就職的單位,是一家大型國企。平時,我主要負責網(wǎng)絡(luò)維護的相關(guān)工作。
在我單位的網(wǎng)絡(luò)中,有各種不同的業(yè)務(wù),有的業(yè)務(wù)對網(wǎng)絡(luò)實時性和可靠性要求很高。
因為年代久遠,單位大部分業(yè)務(wù)所使用的網(wǎng)絡(luò)設(shè)備,是某國外大廠的設(shè)備(姑且稱之為S司設(shè)備吧,下同)。
我們單位的網(wǎng)絡(luò)規(guī)模極其龐大,因S司的私有生成樹協(xié)議已經(jīng)先入為主,所以,目前很難將整張網(wǎng)進行國產(chǎn)設(shè)備替換。
故障發(fā)生在今年疫情中的某一天。
那天,單位輪崗上班,在崗人員較少。臨近下班時,我正在執(zhí)行巡檢任務(wù)。突然,單位的綜合監(jiān)控系統(tǒng)開始“鐺鐺鐺”的告警,對話框點完一個又出來另一個,冒個沒完。
仔細一看,告警的設(shè)備一大堆,其中一個提示:某業(yè)務(wù)核心網(wǎng)絡(luò)交換機(姑且稱之為9型機吧)-B機的IP地址可用性異常!
情況緊急,我和辦公室的幾個同事趕緊下樓,直奔機房?;艁y之中,同事的鞋都差點跑丟了。

到了機房,值班的同事興師問罪:
“都快下班了,what are you 弄啥捏?”
“冤枉啊,我們啥也沒干!”
來到核心交換機B機的機柜前,定睛一看:我擦,整個設(shè)備除了電源燈,其它燈全都不亮了!啥情況這是?!
同事趕緊拿來了筆記本,接上Console線,登陸系統(tǒng)。結(jié)果,屏幕上只有“>”符號,根本沒有出現(xiàn)熟悉的命令交互界面!
這套系統(tǒng)是A機和B機雙機備份。我們趕緊用Console線接A機——謝天謝地,A機一切正常。
這些年,我們定期會對核心設(shè)備做切換演練,驗證單機獨立支撐網(wǎng)絡(luò)?,F(xiàn)在看來,沒有白做。
有A機頂著,業(yè)務(wù)總算沒有中斷,我們也可以長吁一口氣。
心理踏實些之后,我們趕緊就聯(lián)系了保修公司。在等待之余,我們也在機房想辦法,進行一些故障恢復(fù)嘗試。
坦率地說,我干了十多年的網(wǎng)工,交換機板卡故障遇到了不少,整個設(shè)備宕機還是第一次遇到呢。
我先嘗試把引擎拔出來,又重新插回去,設(shè)備沒有反應(yīng)。干脆,我祭出了重啟大法,直接對整個設(shè)備進行斷電。
薅掉四條電源線,等了半分鐘,然后,重新插回去。運氣不錯,console界面開始顯示自檢。十多分鐘后,設(shè)備啟動完畢,一切恢復(fù)正常!果然……還是重啟大法最好用??!

故障雖然恢復(fù)了,問題原因要找到啊。于是,show tech,把日志啊配置啊一堆材料收集齊,發(fā)給了保修公司。保修公司再去找S司開“case”(上報問題,建立故障單)。
結(jié)果,就在等待反饋的過程中,還沒過幾天,核心交換機-A機也出問題了!
故障現(xiàn)象完全一致:狀態(tài)燈全滅,系統(tǒng)無響應(yīng)。
有了上次的經(jīng)驗,這次我們直接斷電重啟。十多分鐘后,A機恢復(fù)正常,生成樹切了,熱備網(wǎng)關(guān)切了,對業(yè)務(wù)稍稍有影響,但總體可控,影響不大。
這就讓人很納悶了——上次是B機,這次是A機。難不成,這個故障和新冠一樣,還會相互傳染?A機B機變成了難兄難弟?S司設(shè)備現(xiàn)在這么不靠譜了嗎?這才用了三年多,怎么就宕機罷工了呢?
當時,我們甚至把原因都想到了太陽身上。
因為,此前曾經(jīng)有一次,使用S司的另外一型號設(shè)備,出現(xiàn)業(yè)務(wù)板卡故障?!癱ase”給出的結(jié)論,就是近期太陽活動頻繁,黑子耀斑啥的,造成設(shè)備內(nèi)部信號紊亂,引發(fā)業(yè)務(wù)板卡重啟(囧)。
為此,我還特意收藏了中科院國家天文臺太陽活動預(yù)報中心的網(wǎng)站,有事沒事就上去看看(又囧)。

一邊怪太陽,一邊加緊催促S司盡快跟進“case”!
結(jié)果,“case”出來了,我們所有人簡直無語。
“case”說,這是一個已知BUG,問題出在固態(tài)硬盤上。
原來,在這個9型機系列交換機的引擎上,使用了某光的某版本固態(tài)硬盤。這個硬盤在累計使用28224小時后,會自動鎖死,從而導(dǎo)致引擎宕機。注意,是累計小時,就算關(guān)機重啟也不會清零。
28224小時,掐指一算,1176天,差不多就是3年多一點的時間。
我們這兩個發(fā)生故障的核心網(wǎng)絡(luò)交換機,就是三年前啟動的。相差幾天宕機,可能是當時進機房加電時間不一樣。
用人話來說,就是:“這機器有個定時炸彈,到了三年多的時間,就會爆炸!”
這叫神馬玩意??。?!

無語之外,我們趕緊排查了所有的在網(wǎng)運行設(shè)備。結(jié)果發(fā)現(xiàn),同樣還有幾臺這個系列交換機,正在使用。
我們用case給出的命令,查看了一下累計小時。我勒個去,果然有一對支撐重要業(yè)務(wù)的交換機,到28224小時還有兩天!更要命的是,這對交換機的累計時間是完全一樣!也就是說,兩天后,兩臺機器很可能會同時宕機!
這簡直是要了我們的命。對于我們的業(yè)務(wù)運行,是毀滅性的災(zāi)難。
趕緊仔細S司的解決方案。S司給出的方案有兩個:
1、升級NXOS系統(tǒng);2、升級某光SSD的固件。
短時間內(nèi)對關(guān)鍵交換機進行關(guān)停升級是不現(xiàn)實的。于是,我們選擇了升級SSD固件的方案。
到了臨近28224小時的那天,大伙兒在辦公室里如坐針氈,簡直就是等待宣判。我坐不住,干脆跑去機房,蹲在機柜前,等著薅電源線。
幸運的是,到了28225小時,系統(tǒng)一切正常!看來,升級固件還是有用的!我們同事瞬時歡呼雀躍!
以上就是故障的整個過程?,F(xiàn)在回想起來,我的手心都還在冒汗。
事實上,S司的這個故障隱患是極大的。這個9型機系列交換機,定位就是數(shù)據(jù)中心級核心網(wǎng)絡(luò)交換,各大企業(yè)都會將它用在非常重要的業(yè)務(wù)上。
況且,核心設(shè)備基本上都是雙機同時加電測試。三年內(nèi),基本不會主動去升級軟件版本。這個重大缺陷,極有可能導(dǎo)致雙機同時宕機,帶來的危害是難以想象的!
最讓人生氣的,不是產(chǎn)品缺陷。因為產(chǎn)品有bug也是很正常的事情。
讓人生氣的是,S司明明知道這個bug,卻不告知客戶!他們賣出這么多設(shè)備,難道就沒有建立客戶檔案嗎?就沒有進行設(shè)備售后跟蹤嗎?小設(shè)備就算了,這種大型關(guān)鍵設(shè)備,難道賣出去就啥事也不管了嗎?
作為一家正常的公司,在發(fā)現(xiàn)缺陷后,應(yīng)該查看產(chǎn)品或客戶銷售記錄,積極主動通知客戶,盡快規(guī)避或解決吧?下個通知單,有那么難嗎?
我個人認為,通信網(wǎng)絡(luò)設(shè)備也應(yīng)該像汽車領(lǐng)域一樣,建立召回機制。如果發(fā)生重大缺陷,廠商應(yīng)該給國家有關(guān)部門備案,然后啟動召回機制。
現(xiàn)在,通信網(wǎng)絡(luò)設(shè)備是和水、電一樣重要的基礎(chǔ)設(shè)施,關(guān)乎國家安全、企業(yè)安全和消費者安全。廠商有義務(wù)建立更完善的跟蹤和回訪機制,監(jiān)督售出設(shè)備的運行健康,保證網(wǎng)絡(luò)安全。
好了,我的故事就講到這里吧。
作為一名網(wǎng)絡(luò)工程師,我講這個故事,主要是為了分享經(jīng)驗,讓大家引以為戒。
此外,也希望外界對我們網(wǎng)工多一些理解,多一些支持?,F(xiàn)在網(wǎng)絡(luò)產(chǎn)品很多,故障現(xiàn)象層出不窮,廠商有時候也有意無意回避一些產(chǎn)品缺陷,給我們挖坑。
我們已經(jīng)很難了,不要每次出事都讓我們背鍋,可以嘛?
注:文中小樂為化名。