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