某個(gè)工作日下午,用戶反映訪問(wèn)內(nèi)部業(yè)務(wù)系統(tǒng)非常緩慢,不少頁(yè)面無(wú)法打開(kāi),查詢數(shù)據(jù)也經(jīng)常出現(xiàn)超時(shí)現(xiàn)象。通過(guò)Ping命令進(jìn)行測(cè)試,發(fā)現(xiàn)訪問(wèn)外網(wǎng)一切正常,但是訪問(wèn)業(yè)務(wù)系統(tǒng)服務(wù)器則出現(xiàn)嚴(yán)重丟包現(xiàn)象,訪問(wèn)其他用戶網(wǎng)段也正常。通過(guò)網(wǎng)絡(luò)設(shè)備狀態(tài)監(jiān)控系統(tǒng)觀察,所有設(shè)備狀態(tài)正常,各條鏈路的流量也在正常范圍內(nèi)。筆者以為是業(yè)務(wù)系統(tǒng)服務(wù)器自身出現(xiàn)了問(wèn)題,于是檢查服務(wù)器的資源使用情況以及進(jìn)程和服務(wù)的運(yùn)行狀況,均未發(fā)現(xiàn)異常,即使將服務(wù)器重啟,仍然無(wú)濟(jì)于事。
考慮到該業(yè)務(wù)系統(tǒng)對(duì)互聯(lián)網(wǎng)用戶也開(kāi)放,有可能遭受外部的攻擊,于是登錄到防火墻和入侵防御設(shè)備上查詢相關(guān)安全日志,并未發(fā)現(xiàn)針對(duì)該業(yè)務(wù)系統(tǒng)的攻擊行為,而且該服務(wù)器也安裝了卡巴斯基企業(yè)版殺毒軟件,病毒庫(kù)也保持在最新?tīng)顟B(tài),感染病毒的可能性也比較小。隨后通過(guò)Sniffer軟件進(jìn)行抓包分析,也沒(méi)有發(fā)現(xiàn)異常情況。
圖1 數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)圖
通過(guò)上述初步診斷,可以基本排除外部網(wǎng)絡(luò)攻擊和服務(wù)器自身的因素。既然突然出現(xiàn)了連續(xù)丟包現(xiàn)象,肯定是整個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)的變更造成的,但是網(wǎng)管人員最近并未對(duì)網(wǎng)絡(luò)做任何變更操作,也沒(méi)有任何新的設(shè)備或者服務(wù)器接入網(wǎng)絡(luò)。要找到原因,只能挨個(gè)詢問(wèn)服務(wù)器維護(hù)人員最近是否有任何操作,最終一位入職不久的同事告訴筆者,上午他從服務(wù)器接入交換機(jī)上接了一根網(wǎng)線到刀箱交換機(jī)上,目的是做線路冗余。筆者立即趕到機(jī)房,拔掉了這根網(wǎng)線,果然,業(yè)務(wù)系統(tǒng)訪問(wèn)恢復(fù)了正常。
很顯然,這是一起網(wǎng)絡(luò)環(huán)路引發(fā)的故障,問(wèn)題雖然解決了,但是內(nèi)部原因必須要分析清楚,避免以后出現(xiàn)類似的問(wèn)題。數(shù)據(jù)中心的網(wǎng)絡(luò)架構(gòu)如下圖1所示。
從圖1可知,數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)呈現(xiàn)樹(shù)狀結(jié)構(gòu),刀箱交換機(jī)僅與接入交換機(jī)1相連,這樣所有數(shù)據(jù)都會(huì)找到惟一確定的路徑進(jìn)行轉(zhuǎn)發(fā),即使各交換機(jī)不啟用生成樹(shù)協(xié)議,如果嚴(yán)格按照這種架構(gòu)接入,也不會(huì)存在環(huán)路的風(fēng)險(xiǎn)。將刀箱交換機(jī)多接入一條線路作為冗余,如圖2所示。
圖2與圖1相比,僅僅只是多了一條刀箱交換機(jī)與接入交換機(jī)2之間的線路,其他配置完全保持不變,這種方式表面看是增加了網(wǎng)絡(luò)線路的冗余性,即接入交換機(jī)1和接入交換機(jī)2任意一者故障,數(shù)據(jù)仍然能夠通過(guò)另外一臺(tái)交換機(jī)進(jìn)行轉(zhuǎn)發(fā),不會(huì)影響業(yè)務(wù)運(yùn)轉(zhuǎn)。實(shí)際上,交換機(jī)如果配置不當(dāng),很可能發(fā)生環(huán)路故障。
由于接入交換機(jī)1和接入交換機(jī)2與刀箱交換機(jī)互連的接口都配置為Access模式,且在同一個(gè)VLAN中,如果交換機(jī)不啟用生成樹(shù)協(xié)議,那么在該VLAN中的廣播包將會(huì)不停復(fù)制、轉(zhuǎn)發(fā),導(dǎo)致該VLAN中充斥著大量的廣播包,從而影響該VLAN的轉(zhuǎn)發(fā)性能。由于生成樹(shù)協(xié)議收斂時(shí)間較長(zhǎng),也會(huì)占用交換機(jī)一部分資源,所以很多網(wǎng)絡(luò)管理人員會(huì)在Access接口上配置“spanning-tree portfast”這條命令,從而禁止Access接口參與生成樹(shù)的計(jì)算過(guò)程,加快Access接口的啟動(dòng)速度,但是這種方式也大大增加了發(fā)生網(wǎng)絡(luò)環(huán)路的概率。
圖2 接入冗余線路的網(wǎng)絡(luò)架構(gòu)圖
筆者本以為服務(wù)器接入交換機(jī)是網(wǎng)絡(luò)架構(gòu)的最后一層,所以在所有接入交換機(jī)的Access接口都配置了“spanning-tree portfast”,但是實(shí)際刀箱交換機(jī)才是最后一層,此次故障的根本原因就在于此。
要解決這類環(huán)路問(wèn)題,有如下三種方案供網(wǎng)絡(luò)管理人員參考。
這種方式就需要嚴(yán)格制定物理線路管理規(guī)則,任何設(shè)備接入網(wǎng)絡(luò)前必須經(jīng)過(guò)網(wǎng)絡(luò)管理人員的評(píng)估與審核,徹底杜絕物理環(huán)路的出現(xiàn)。這種方案更加側(cè)重于利用管理手段,只要所有人員嚴(yán)格執(zhí)行規(guī)定,肯定不會(huì)出現(xiàn)網(wǎng)絡(luò)環(huán)路,但是網(wǎng)絡(luò)管理人員的工作量將會(huì)大大增加。
首先需要所有交換機(jī)支持生成樹(shù)協(xié)議,啟用后定期將會(huì)對(duì)網(wǎng)絡(luò)情況進(jìn)行檢查,如果發(fā)現(xiàn)環(huán)路,將會(huì)根據(jù)相應(yīng)算法選擇一條冗余線路阻斷,保證網(wǎng)絡(luò)拓?fù)涫冀K處于樹(shù)狀結(jié)構(gòu),這也是目前數(shù)據(jù)中心最常用的方案。由于生成樹(shù)收斂過(guò)程時(shí)間較長(zhǎng),也會(huì)產(chǎn)生較多廣播流量,對(duì)交換機(jī)的性能會(huì)產(chǎn)生一定影響,而且邏輯線路復(fù)雜,對(duì)網(wǎng)絡(luò)排錯(cuò)也會(huì)造成一定影響,對(duì)網(wǎng)絡(luò)管理人員的技術(shù)要求也比較高。
將刀箱交換機(jī)作為網(wǎng)絡(luò)基礎(chǔ)架構(gòu)的一部分,與其他接入交換機(jī)一樣進(jìn)行相關(guān)配置并管理,這樣交換機(jī)和服務(wù)器層次比較清晰,服務(wù)器管理人員不用再頻繁進(jìn)行插拔線操作,降低了網(wǎng)絡(luò)環(huán)路的風(fēng)險(xiǎn)。由于刀箱交換機(jī)與刀片服務(wù)器之間存在端口對(duì)應(yīng)關(guān)系,這種方式需要服務(wù)器和網(wǎng)絡(luò)管理人員通力配合,網(wǎng)絡(luò)管理人員按照服務(wù)器管理人員的需求對(duì)刀箱交換機(jī)進(jìn)行合理配置。
上述三種方案各有利弊,其中方案一和方案三適合在網(wǎng)絡(luò)規(guī)模較小的環(huán)境下采用,方案二適合在網(wǎng)絡(luò)規(guī)模較大的環(huán)境下采用。
由于各類新技術(shù)在數(shù)據(jù)中心的廣泛應(yīng)用,數(shù)據(jù)中心各類基礎(chǔ)設(shè)施朝著“超融合”的方向發(fā)展,各類基礎(chǔ)設(shè)施難以用傳統(tǒng)的方式進(jìn)行區(qū)分,網(wǎng)絡(luò)架構(gòu)隨之變得愈發(fā)復(fù)雜,增加了網(wǎng)絡(luò)環(huán)路的風(fēng)險(xiǎn),給網(wǎng)絡(luò)排錯(cuò)也帶來(lái)諸多困擾,企業(yè)可以根據(jù)自身實(shí)際情況,采用技術(shù)+管理的手段對(duì)網(wǎng)絡(luò)環(huán)路進(jìn)行防范,合理設(shè)計(jì)網(wǎng)絡(luò)架構(gòu),規(guī)范網(wǎng)絡(luò)運(yùn)維流程,保障數(shù)據(jù)中心網(wǎng)絡(luò)的正常運(yùn)轉(zhuǎn)。